diff --git a/README.md b/README.md index e63f34ba..1c1910bf 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,8 @@ for Work and orange for Support. ### 🧵 Conversation threads Replies stay grouped in chronological order, with the active message expanded -inside the reading pane. +inside the reading pane. To list, open and act on every message on its own, turn +off **Conversation view** in Settings → General. Use **Up/Down** to navigate messages, **Home/End** to jump to the first or last loaded message, and **Page Up/Page Down** to move a page at a time. **Enter** diff --git a/crates/flectar-mail-core/examples/core_startup_probe.rs b/crates/flectar-mail-core/examples/core_startup_probe.rs index 908d534e..47859239 100644 --- a/crates/flectar-mail-core/examples/core_startup_probe.rs +++ b/crates/flectar-mail-core/examples/core_startup_probe.rs @@ -121,7 +121,9 @@ async fn main() -> Result<(), Box> { let list_ms = started.elapsed().as_secs_f64() * 1000.0; let after_list = sample(&core).await?; let started = Instant::now(); - let badges = core.mailbox_badge_counts().await?; + let badges = core + .mailbox_badge_counts(flectar_mail_core::models::MailGrouping::Conversations) + .await?; let badges_ms = started.elapsed().as_secs_f64() * 1000.0; let after_badges = sample(&core).await?; let deep_search = if deep_search_after_badges { @@ -270,7 +272,9 @@ async fn main() -> Result<(), Box> { .await?; let list_ms = started.elapsed().as_secs_f64() * 1000.0; let started = Instant::now(); - let warm_badges = core.mailbox_badge_counts().await?; + let warm_badges = core + .mailbox_badge_counts(flectar_mail_core::models::MailGrouping::Conversations) + .await?; let badges_ms = started.elapsed().as_secs_f64() * 1000.0; assert_eq!( warm_page @@ -300,7 +304,9 @@ async fn main() -> Result<(), Box> { .await?; let first_list_ms = started.elapsed().as_secs_f64() * 1000.0; let started = Instant::now(); - let reopened_badges = core.mailbox_badge_counts().await?; + let reopened_badges = core + .mailbox_badge_counts(flectar_mail_core::models::MailGrouping::Conversations) + .await?; let first_badges_ms = started.elapsed().as_secs_f64() * 1000.0; assert_eq!( reopened_page @@ -319,7 +325,9 @@ async fn main() -> Result<(), Box> { .await?; let repeat_list_ms = started.elapsed().as_secs_f64() * 1000.0; let started = Instant::now(); - let repeated_badges = core.mailbox_badge_counts().await?; + let repeated_badges = core + .mailbox_badge_counts(flectar_mail_core::models::MailGrouping::Conversations) + .await?; let repeat_badges_ms = started.elapsed().as_secs_f64() * 1000.0; assert_eq!( repeated_page diff --git a/crates/flectar-mail-core/examples/mailbox_paging_probe.rs b/crates/flectar-mail-core/examples/mailbox_paging_probe.rs index b7c310e6..113a02db 100644 --- a/crates/flectar-mail-core/examples/mailbox_paging_probe.rs +++ b/crates/flectar-mail-core/examples/mailbox_paging_probe.rs @@ -84,7 +84,12 @@ async fn main() -> std::result::Result<(), Box> { assert_eq!(initial.threads.last().unwrap().id, old_anchor.thread_id); assert_eq!(old_second.threads[0].id, old_anchor.thread_id - 1); let initial_badges = db - .read(|conn| repo::counts::mailbox_badge_counts(conn)) + .read(|conn| { + repo::counts::mailbox_badge_counts( + conn, + flectar_mail_core::models::MailGrouping::Conversations, + ) + }) .await?; assert_eq!(initial_badges.len(), 1); assert_eq!(initial_badges[0].inbox, 50_000); @@ -175,7 +180,12 @@ async fn main() -> std::result::Result<(), Box> { .await?; let after_badges = db - .read(|conn| repo::counts::mailbox_badge_counts(conn)) + .read(|conn| { + repo::counts::mailbox_badge_counts( + conn, + flectar_mail_core::models::MailGrouping::Conversations, + ) + }) .await?; assert_eq!(after_badges.len(), 2); assert_eq!(after_badges[0].account_id, 1); diff --git a/crates/flectar-mail-core/examples/sqlite_cache_probe.rs b/crates/flectar-mail-core/examples/sqlite_cache_probe.rs index 81c1c30a..45b6d1f7 100644 --- a/crates/flectar-mail-core/examples/sqlite_cache_probe.rs +++ b/crates/flectar-mail-core/examples/sqlite_cache_probe.rs @@ -412,7 +412,12 @@ async fn main() -> Result<(), Box> { }; let started = Instant::now(); let badges = db - .read(|conn| repo::counts::mailbox_badge_counts(conn)) + .read(|conn| { + repo::counts::mailbox_badge_counts( + conn, + flectar_mail_core::models::MailGrouping::Conversations, + ) + }) .await?; let badge_elapsed_ms = started.elapsed().as_secs_f64() * 1000.0; let process_after_badge = process_memory()?; diff --git a/crates/flectar-mail-core/src/db/migrations.rs b/crates/flectar-mail-core/src/db/migrations.rs index 8c275fa5..5505d0de 100644 --- a/crates/flectar-mail-core/src/db/migrations.rs +++ b/crates/flectar-mail-core/src/db/migrations.rs @@ -40,6 +40,7 @@ const MIGRATIONS: &[Migration] = &[ Migration::Plain(include_str!("migrations/021_verification_codes.sql")), Migration::Plain(include_str!("migrations/022_search_leftovers.sql")), Migration::TableRebuild(include_str!("migrations/023_local_mail.sql")), + Migration::Plain(include_str!("migrations/024_message_list_indexes.sql")), ]; pub const LATEST_VERSION: i64 = MIGRATIONS.len() as i64; diff --git a/crates/flectar-mail-core/src/db/migrations/024_message_list_indexes.sql b/crates/flectar-mail-core/src/db/migrations/024_message_list_indexes.sql new file mode 100644 index 00000000..cd83805e --- /dev/null +++ b/crates/flectar-mail-core/src/db/migrations/024_message_list_indexes.sql @@ -0,0 +1,7 @@ +-- Mail lists without conversations page through messages newest first, like +-- the conversation timeline on threads: within an account, and across all +-- of them. +CREATE INDEX IF NOT EXISTS idx_messages_account_recent + ON messages(account_id, date DESC, id DESC); +CREATE INDEX IF NOT EXISTS idx_messages_recent + ON messages(date DESC, id DESC); diff --git a/crates/flectar-mail-core/src/db/mod.rs b/crates/flectar-mail-core/src/db/mod.rs index 1c0615d3..52047e0f 100644 --- a/crates/flectar-mail-core/src/db/mod.rs +++ b/crates/flectar-mail-core/src/db/mod.rs @@ -12,7 +12,8 @@ pub mod snapshot; use crate::{ error::{CoreError, Result}, models::{ - AppIcon, StartupPresentation, normalized_window_frame, normalized_workspace_list_pane_width, + AppIcon, MailGrouping, StartupPresentation, normalized_window_frame, + normalized_workspace_list_pane_width, }, }; use rusqlite::config::DbConfig; @@ -224,6 +225,13 @@ pub(crate) fn startup_presentation(path: &Path) -> StartupPresentation { .and_then(serde_json::Value::as_str) .and_then(AppIcon::parse) .unwrap_or_default(), + grouping: match value + .get("conversationView") + .and_then(serde_json::Value::as_bool) + { + Some(false) => MailGrouping::Messages, + _ => MailGrouping::Conversations, + }, } } @@ -804,6 +812,26 @@ mod startup_preference_tests { ); } + #[test] + fn startup_grouping_follows_the_conversation_view_setting() { + use crate::models::MailGrouping; + let temp = tempfile::tempdir().unwrap(); + let path = temp.path().join("mail.db"); + let conn = Connection::open(&path).unwrap(); + conn.execute_batch( + "CREATE TABLE app_settings (key TEXT PRIMARY KEY, value TEXT NOT NULL); + INSERT INTO app_settings (key, value) + VALUES ('settings', '{\"conversationView\": false}');", + ) + .unwrap(); + drop(conn); + assert_eq!(startup_presentation(&path).grouping, MailGrouping::Messages); + assert_eq!( + startup_presentation(&temp.path().join("missing.db")).grouping, + MailGrouping::Conversations + ); + } + #[test] fn startup_width_is_bounded_and_missing_state_is_non_fatal() { let temp = tempfile::tempdir().unwrap(); diff --git a/crates/flectar-mail-core/src/db/repo/counts.rs b/crates/flectar-mail-core/src/db/repo/counts.rs index 0bec622f..7672d2a5 100644 --- a/crates/flectar-mail-core/src/db/repo/counts.rs +++ b/crates/flectar-mail-core/src/db/repo/counts.rs @@ -3,7 +3,7 @@ //! threads.rs so the two evolve independently. use crate::error::Result; -use crate::models::{Label, MailboxBadgeCounts, SplitRule, UnreadCounts, roles}; +use crate::models::{Label, MailGrouping, MailboxBadgeCounts, SplitRule, UnreadCounts, roles}; use rusqlite::Connection; use std::collections::HashMap; @@ -25,6 +25,25 @@ const INBOX_BADGE_SQL: &str = "SELECT t.account_id, COUNT(*) )) GROUP BY t.account_id"; +/// Unread messages in an inbox outside snoozed conversations, for lists that +/// show each message on its own. Mirrors the message-level inbox filter of +/// `threads::list_messages`. +const INBOX_MESSAGE_BADGE_SQL: &str = "SELECT m.account_id, COUNT(*) + FROM messages m + JOIN accounts a ON a.id = m.account_id + LEFT JOIN snoozes s ON s.thread_id = m.thread_id + WHERE m.is_read = 0 + AND m.is_draft = 0 + AND m.thread_id IS NOT NULL + AND s.thread_id IS NULL + AND (m.folder_id IN (SELECT id FROM folders WHERE role = 'inbox') + OR (a.provider = 'gmail' AND EXISTS ( + SELECT 1 FROM message_folders mf + JOIN folders f ON f.id = mf.folder_id + WHERE mf.message_id = m.id AND f.role = 'inbox' + ))) + GROUP BY m.account_id"; + /// Query-plan details for the inbox badge path used by `mailbox_badge_counts`. pub fn inbox_badge_query_plan(conn: &Connection) -> Result> { let mut stmt = conn.prepare(&format!("EXPLAIN QUERY PLAN {INBOX_BADGE_SQL}"))?; @@ -232,7 +251,12 @@ pub fn unread_counts( /// This deliberately avoids calling `unread_counts` once per account: the /// Slint sidebar does not render split/label badges, and repeating those /// scalar queries would make a live refresh proportional to account count. -pub fn mailbox_badge_counts(conn: &Connection) -> Result> { +/// Badges count what the mail list shows: conversations, or messages. +pub fn mailbox_badge_counts( + conn: &Connection, + grouping: MailGrouping, +) -> Result> { + let messages = grouping == MailGrouping::Messages; let mut counts = conn .prepare("SELECT id FROM accounts ORDER BY sort_order, id")? .query_map([], |row| { @@ -252,7 +276,11 @@ pub fn mailbox_badge_counts(conn: &Connection) -> Result // The inbox predicate mirrors `Q::inbox`, but grouping by account returns // every native sidebar section without repeating the scan per account. - let mut inbox = conn.prepare(INBOX_BADGE_SQL)?; + let mut inbox = conn.prepare(if messages { + INBOX_MESSAGE_BADGE_SQL + } else { + INBOX_BADGE_SQL + })?; for row in inbox.query_map([], |row| Ok((row.get::<_, i64>(0)?, row.get::<_, i64>(1)?)))? { let (account_id, value) = row?; if let Some(index) = positions.get(&account_id) { @@ -260,11 +288,15 @@ pub fn mailbox_badge_counts(conn: &Connection) -> Result } } - let mut starred = conn.prepare( + let mut starred = conn.prepare(if messages { + "SELECT account_id, COUNT(*) FROM messages + WHERE is_read = 0 AND is_draft = 0 AND is_starred = 1 AND thread_id IS NOT NULL + GROUP BY account_id" + } else { "SELECT account_id, COUNT(*) FROM threads WHERE unread_count > 0 AND starred_count > 0 - GROUP BY account_id", - )?; + GROUP BY account_id" + })?; for row in starred.query_map([], |row| Ok((row.get::<_, i64>(0)?, row.get::<_, i64>(1)?)))? { let (account_id, value) = row?; if let Some(index) = positions.get(&account_id) { @@ -274,23 +306,24 @@ pub fn mailbox_badge_counts(conn: &Connection) -> Result // Draft folders are normally tiny. Starting from those folders uses the // existing folder/message indexes and avoids inspecting every inbox row. - let mut drafts = conn.prepare( - "SELECT account_id, COUNT(DISTINCT thread_id) + let counted = if messages { "message_id" } else { "thread_id" }; + let mut drafts = conn.prepare(&format!( + "SELECT account_id, COUNT(DISTINCT {counted}) FROM ( - SELECT m.account_id, m.thread_id + SELECT m.account_id, m.thread_id, m.id AS message_id FROM folders f JOIN messages m ON m.folder_id = f.id WHERE f.role = 'drafts' AND m.is_draft = 1 AND m.thread_id IS NOT NULL UNION ALL - SELECT m.account_id, m.thread_id + SELECT m.account_id, m.thread_id, m.id AS message_id FROM folders f JOIN message_folders mf ON mf.folder_id = f.id JOIN messages m ON m.id = mf.message_id JOIN accounts a ON a.id = m.account_id AND a.provider = 'gmail' WHERE f.role = 'drafts' AND m.is_draft = 1 AND m.thread_id IS NOT NULL ) - GROUP BY account_id", - )?; + GROUP BY account_id" + ))?; for row in drafts.query_map([], |row| Ok((row.get::<_, i64>(0)?, row.get::<_, i64>(1)?)))? { let (account_id, value) = row?; if let Some(index) = positions.get(&account_id) { @@ -416,7 +449,7 @@ mod tests { ) .unwrap(); - let badges = mailbox_badge_counts(&conn).unwrap(); + let badges = mailbox_badge_counts(&conn, MailGrouping::Conversations).unwrap(); assert_eq!( badges, vec![ @@ -437,7 +470,7 @@ mod tests { conn.execute("UPDATE threads SET unread_count = 0 WHERE id = 1", []) .unwrap(); - let badges = mailbox_badge_counts(&conn).unwrap(); + let badges = mailbox_badge_counts(&conn, MailGrouping::Conversations).unwrap(); assert_eq!(badges[0].inbox, 0); assert_eq!(badges[0].starred, 0); assert_eq!(badges[0].drafts, 1); @@ -504,7 +537,7 @@ mod tests { .unwrap(); assert_eq!( - mailbox_badge_counts(&conn).unwrap(), + mailbox_badge_counts(&conn, MailGrouping::Conversations).unwrap(), vec![ MailboxBadgeCounts { account_id: 1, @@ -570,4 +603,27 @@ mod tests { assert_eq!(c.splits["7"], 1); assert_eq!(c.labels["5"], 1); } + + #[test] + fn message_badges_count_unread_messages() { + let conn = crate::db::testutil::conn(); + crate::db::testutil::seed_account(&conn); + let (thread_id, _) = + crate::db::testutil::seed_message(&conn, "a@b.dev", "two unread", false); + let (own_thread, reply) = + crate::db::testutil::seed_message(&conn, "a@b.dev", "re: two unread", false); + conn.execute( + "UPDATE messages SET thread_id = ?1, is_starred = 1, uid = 10000 + id WHERE id = ?2", + params![thread_id, reply], + ) + .unwrap(); + conn.execute("DELETE FROM threads WHERE id = ?1", [own_thread]) + .unwrap(); + crate::db::repo::threads::recompute(&conn, thread_id).unwrap(); + + let conversations = mailbox_badge_counts(&conn, MailGrouping::Conversations).unwrap(); + assert_eq!((conversations[0].inbox, conversations[0].starred), (1, 1)); + let messages = mailbox_badge_counts(&conn, MailGrouping::Messages).unwrap(); + assert_eq!((messages[0].inbox, messages[0].starred), (2, 1)); + } } diff --git a/crates/flectar-mail-core/src/db/repo/search.rs b/crates/flectar-mail-core/src/db/repo/search.rs index 8ce69bfe..be9c4676 100644 --- a/crates/flectar-mail-core/src/db/repo/search.rs +++ b/crates/flectar-mail-core/src/db/repo/search.rs @@ -1,5 +1,8 @@ use crate::error::Result; -use crate::models::{SearchCursor, SearchPage, ThreadSummary, roles}; +use crate::models::{ + MessageCursor, MessageSearchCursor, MessageSearchPage, SearchCursor, SearchPage, ThreadSummary, + roles, +}; use crate::search::ParsedQuery; use rusqlite::{Connection, params}; use std::collections::HashMap; @@ -631,6 +634,106 @@ fn chronological_page_for_query( }) } +/// One page of chronological matches as single messages, for mail lists that +/// do not group conversations. Matching is the same as `chronological_page`, +/// including falling back to any-term matching when every term matched none. +pub fn chronological_message_page( + conn: &Connection, + q: &ParsedQuery, + cursor: Option, + limit: i64, +) -> Result { + if limit <= 0 { + return Ok(MessageSearchPage { + messages: Vec::new(), + next_cursor: None, + }); + } + let relaxed = cursor.is_some_and(|cursor| cursor.relaxed); + let mut query = q.clone(); + if relaxed { + query.fts = query.fts_or.clone(); + } + let position = cursor.map(|cursor| cursor.position); + let mut page = chronological_message_page_for_query(conn, &query, position, limit, relaxed)?; + if page.messages.is_empty() && cursor.is_none() && !q.fts.is_empty() && q.fts_or != q.fts { + query.fts = query.fts_or.clone(); + page = chronological_message_page_for_query(conn, &query, None, limit, true)?; + } + Ok(page) +} + +/// Messages page with a keyset cursor in SQL: unlike conversations, no match +/// can hide behind an earlier one, so nothing has to be scanned twice. +fn chronological_message_page_for_query( + conn: &Connection, + q: &ParsedQuery, + cursor: Option, + limit: i64, + relaxed: bool, +) -> Result { + let mut where_clauses = vec!["m.thread_id IS NOT NULL".to_owned()]; + let mut bind: Vec> = Vec::new(); + let fts_join = if q.fts.is_empty() { + "" + } else { + bind.push(Box::new(q.fts.clone())); + where_clauses.push(format!("messages_fts MATCH ?{}", bind.len())); + "JOIN messages_fts ON messages_fts.rowid = m.id" + }; + append_operator_clauses(q, &mut where_clauses, &mut bind); + if where_clauses.len() == 1 { + return Ok(MessageSearchPage { + messages: Vec::new(), + next_cursor: None, + }); + } + append_account_clauses(q, &mut where_clauses, &mut bind); + if let Some(cursor) = cursor { + bind.push(Box::new(cursor.date)); + let date_parameter = bind.len(); + bind.push(Box::new(cursor.message_id)); + where_clauses.push(format!( + "(m.date, m.id) < (?{date_parameter}, ?{})", + bind.len() + )); + } + let sql = format!( + "SELECT m.id, m.date FROM messages m {fts_join} + WHERE {} ORDER BY m.date DESC, m.id DESC LIMIT {}", + where_clauses.join(" AND "), + limit + 1, + ); + let mut stmt = conn.prepare_cached(&sql)?; + let params_ref: Vec<&dyn rusqlite::types::ToSql> = + bind.iter().map(|value| value.as_ref()).collect(); + let mut matches = stmt + .query_map(params_ref.as_slice(), |row| { + Ok((row.get::<_, i64>(0)?, row.get::<_, i64>(1)?)) + })? + .collect::>>()?; + let page_size = usize::try_from(limit).unwrap_or(usize::MAX); + let next_cursor = if matches.len() > page_size { + matches.truncate(page_size); + matches + .last() + .map(|(message_id, date)| MessageSearchCursor { + position: MessageCursor { + date: *date, + message_id: *message_id, + }, + relaxed, + }) + } else { + None + }; + let message_ids = matches.into_iter().map(|(id, _)| id).collect::>(); + Ok(MessageSearchPage { + messages: super::threads::get_message_summaries(conn, &message_ids)?, + next_cursor, + }) +} + /// Hybrid search: fuse the lexical (bm25) and semantic (vector KNN) branches /// with RRF, preserving operator filters, and hydrate to thread summaries. /// `vec_hits` are (message_id, score) from the in-memory index, score-sorted; @@ -898,4 +1001,44 @@ mod tests { assert_eq!(matches("obsoleteuniqueterm"), 0); assert_eq!(matches("replacementuniqueterm"), 1); } + + #[test] + fn message_search_lists_every_matching_message_and_pages() { + let c = testutil::conn(); + testutil::seed_account(&c); + let (thread_id, first) = testutil::seed_message(&c, "a@b.dev", "rosterplan draft", false); + let (own_thread, reply) = testutil::seed_message(&c, "a@b.dev", "re: rosterplan", false); + c.execute( + "UPDATE messages SET thread_id = ?1, date = 2000, uid = 10000 + id WHERE id = ?2", + params![thread_id, reply], + ) + .unwrap(); + c.execute("DELETE FROM threads WHERE id = ?1", [own_thread]) + .unwrap(); + let (_, unrelated) = testutil::seed_message(&c, "a@b.dev", "lunch", false); + for id in [first, reply, unrelated] { + index_message(&c, id).unwrap(); + } + let query = crate::search::parse("rosterplan"); + + // The conversation matches once; its messages match one by one. + assert_eq!( + chronological_page(&c, &query, None, 10) + .unwrap() + .threads + .len(), + 1 + ); + let page = chronological_message_page(&c, &query, None, 1).unwrap(); + assert_eq!( + page.messages.iter().map(|m| m.id).collect::>(), + [reply] + ); + let rest = chronological_message_page(&c, &query, page.next_cursor, 1).unwrap(); + assert_eq!( + rest.messages.iter().map(|m| m.id).collect::>(), + [first] + ); + assert!(rest.next_cursor.is_none()); + } } diff --git a/crates/flectar-mail-core/src/db/repo/settings.rs b/crates/flectar-mail-core/src/db/repo/settings.rs index 00112621..f128cf28 100644 --- a/crates/flectar-mail-core/src/db/repo/settings.rs +++ b/crates/flectar-mail-core/src/db/repo/settings.rs @@ -45,6 +45,7 @@ mod tests { assert!(d.show_avatars); assert!(d.group_mail_by_date); assert!(d.show_tabs); + assert!(d.conversation_view); assert!(d.collect_outgoing_contacts); assert!(!d.collect_incoming_contacts); assert!(!d.contact_suggest_all_accounts); @@ -72,6 +73,7 @@ mod tests { s.show_avatars = false; s.group_mail_by_date = false; s.show_tabs = false; + s.conversation_view = false; s.workspace_layout = "minimal".into(); s.contact_suggest_all_accounts = true; s.theme_preset = "teal".into(); @@ -123,6 +125,7 @@ mod tests { assert!(!back.show_avatars); assert!(!back.group_mail_by_date); assert!(!back.show_tabs); + assert!(!back.conversation_view); assert!(back.contact_suggest_all_accounts); assert_eq!(back.workspace_layout, "minimal"); assert_eq!(back.theme_preset, "teal"); @@ -161,6 +164,7 @@ mod tests { assert!(s.show_avatars); assert!(s.group_mail_by_date); assert!(s.show_tabs); + assert!(s.conversation_view); assert!(s.collect_outgoing_contacts); assert!(!s.collect_incoming_contacts); assert!(!s.contact_suggest_all_accounts); diff --git a/crates/flectar-mail-core/src/db/repo/threads.rs b/crates/flectar-mail-core/src/db/repo/threads.rs index 5cca751c..6f836d47 100644 --- a/crates/flectar-mail-core/src/db/repo/threads.rs +++ b/crates/flectar-mail-core/src/db/repo/threads.rs @@ -299,15 +299,32 @@ const AUTO_BUCKET: &str = "(SELECT m.is_automated FROM messages m WHERE m.thread_id = t.id AND m.is_draft = 0 AND m.is_outgoing = 0 ORDER BY m.date DESC, m.id DESC LIMIT 1) = 1"; +/// The WHERE clause for one mail-list scope. Conversations match when any of +/// their messages does; messages match on their own folders, flags and labels. +/// Snooze and tab routing belong to the conversation in both groupings, so a +/// message list joins each message's thread as `t`. fn build_filter( args: &ListArgs, + grouping: MailGrouping, include_cursor: bool, ) -> (String, Vec>) { let mut where_clauses: Vec = Vec::new(); let mut bind: Vec> = Vec::new(); + let messages = grouping == MailGrouping::Messages; let role_exists = |role: &str, bind: &mut Vec>| { bind.push(Box::new(role.to_string())); + if messages { + return format!( + "(EXISTS (SELECT 1 FROM folders f WHERE f.id = m.folder_id AND f.role = ?{0}) + OR (a.provider = 'gmail' AND EXISTS ( + SELECT 1 FROM message_folders mf + JOIN folders f ON f.id = mf.folder_id + WHERE mf.message_id = m.id AND f.role = ?{0} + )))", + bind.len(), + ); + } format!( "(EXISTS (SELECT 1 FROM messages m JOIN folders f ON f.id = m.folder_id WHERE m.thread_id = t.id AND f.role = ?{0}) @@ -328,12 +345,17 @@ fn build_filter( where_clauses.push(c); where_clauses.push("s.thread_id IS NULL".into()); } + View::Starred if messages => where_clauses.push("m.is_starred = 1".into()), View::Starred => where_clauses.push("t.starred_count > 0".into()), View::Snoozed => where_clauses.push("s.thread_id IS NOT NULL".into()), View::Sent => { let c = role_exists(roles::SENT, &mut bind); where_clauses.push(c); } + View::Drafts if messages => { + let c = role_exists(roles::DRAFTS, &mut bind); + where_clauses.push(format!("m.is_draft = 1 AND {c}")); + } View::Drafts => { bind.push(Box::new(roles::DRAFTS.to_string())); where_clauses.push(format!( @@ -366,13 +388,18 @@ fn build_filter( View::All => {} } + let account_column = if messages { + "m.account_id" + } else { + "t.account_id" + }; if let Some(acc) = args.account_id { bind.push(Box::new(acc)); - where_clauses.push(format!("t.account_id = ?{}", bind.len())); + where_clauses.push(format!("{account_column} = ?{}", bind.len())); } if let Some(account_ids) = &args.account_ids { where_clauses.push(super::search::account_set_clause( - "t.account_id", + account_column, account_ids, &mut bind, )); @@ -394,6 +421,14 @@ fn build_filter( bind.push(Box::new(format!("label:{id}"))); where_clauses.push(format!("t.routed_tab = ?{}", bind.len())); } + Some(TabFilter::ManualLabel(id)) if messages => { + bind.push(Box::new(*id)); + where_clauses.push(format!( + "EXISTS (SELECT 1 FROM message_labels ml + WHERE ml.message_id = m.id AND ml.label_id = ?{})", + bind.len() + )); + } Some(TabFilter::ManualLabel(id)) => { bind.push(Box::new(*id)); where_clauses.push(format!( @@ -404,7 +439,19 @@ fn build_filter( } None => {} } - if let Some(folder_id) = args.folder_id { + if let Some(folder_id) = args.folder_id + && messages + { + bind.push(Box::new(folder_id)); + where_clauses.push(format!( + "(m.folder_id = ?{0} + OR (a.provider = 'gmail' AND EXISTS ( + SELECT 1 FROM message_folders mf + WHERE mf.message_id = m.id AND mf.folder_id = ?{0} + )))", + bind.len() + )); + } else if let Some(folder_id) = args.folder_id { bind.push(Box::new(folder_id)); where_clauses.push(format!( "EXISTS (SELECT 1 FROM messages m @@ -420,7 +467,10 @@ fn build_filter( bind.len() )); } - if include_cursor && let Some(cur) = args.cursor { + if include_cursor + && !messages + && let Some(cur) = args.cursor + { bind.push(Box::new(cur.last_message_at)); let timestamp_parameter = bind.len(); bind.push(Box::new(cur.thread_id)); @@ -463,7 +513,7 @@ pub fn list(conn: &Connection, args: &ListArgs) -> Result { } fn list_sql(args: &ListArgs) -> (String, Vec>) { - let (where_sql, bind) = build_filter(args, true); + let (where_sql, bind) = build_filter(args, MailGrouping::Conversations, true); ( format!( "{SUMMARY_SELECT} {where_sql} @@ -488,7 +538,7 @@ pub fn list_query_plan(conn: &Connection, args: &ListArgs) -> Result /// thread summaries or walking cursor pages. Keeping this on the same filter /// builder as `list` prevents sidebar totals from drifting from list contents. pub fn count(conn: &Connection, args: &ListArgs) -> Result { - let (where_sql, bind) = build_filter(args, false); + let (where_sql, bind) = build_filter(args, MailGrouping::Conversations, false); let sql = format!( "SELECT COUNT(*) FROM threads t @@ -502,6 +552,186 @@ pub fn count(conn: &Connection, args: &ListArgs) -> Result { Ok(count.max(0) as usize) } +fn message_summary_from_row(row: &Row) -> rusqlite::Result { + Ok(MessageSummary { + id: row.get("id")?, + thread_id: row.get("thread_id")?, + account_id: row.get("account_id")?, + account_email: row.get("account_email")?, + account_addresses: parse_json_column(&row.get::<_, String>("account_addresses")?, 4)?, + subject: row.get("subject")?, + snippet: row.get("snippet")?, + from: Address { + name: row.get("from_name")?, + email: row + .get::<_, Option>("from_addr")? + .unwrap_or_default(), + }, + to: parse_addrs(&row.get::<_, String>("to_json")?, 9)?, + date: row.get("date")?, + is_read: row.get::<_, i64>("is_read")? != 0, + is_starred: row.get::<_, i64>("is_starred")? != 0, + is_draft: row.get::<_, i64>("is_draft")? != 0, + is_outgoing: row.get::<_, i64>("is_outgoing")? != 0, + has_attachments: row.get::<_, i64>("has_attachments")? != 0, + has_replied: row.get::<_, i64>("has_replied")? != 0, + snoozed_until: row.get("snoozed_until")?, + labels: parse_id_list( + &row.get::<_, Option>("label_ids")? + .unwrap_or_default(), + ), + verification_code: row.get("verification_code")?, + first_attachment: row + .get::<_, Option>("first_attachment")? + .map(|json| { + parse_json_column::<(i64, Option, Option, Option)>(&json, 20) + }) + .transpose()? + .map(|(id, filename, mime_type, size)| AttachmentMeta { + id, + filename, + mime_type, + size, + is_inline: false, + }), + attachment_total: row.get("attachment_total")?, + }) +} + +/// A message as a list row, with its conversation joined as `t` for the +/// conversation-level filters `build_filter` shares between groupings. +const MESSAGE_SUMMARY_SELECT: &str = " + SELECT m.id, m.thread_id, m.account_id, a.email AS account_email, + COALESCE((SELECT json_group_array(si.email) + FROM sender_identities si + WHERE si.account_id = m.account_id + AND (si.is_primary = 1 OR si.verification_status = 'accepted')), '[]') + AS account_addresses, + COALESCE(m.local_subject_prefix, '') || m.subject AS subject, + m.snippet, m.from_name, m.from_addr, m.to_json, m.date, + m.is_read, m.is_starred, m.is_draft, m.is_outgoing, m.has_attachments, + (m.message_id IS NOT NULL AND EXISTS ( + SELECT 1 FROM message_refs mr + JOIN messages reply ON reply.id = mr.message_id + WHERE mr.ref_message_id = m.message_id + AND reply.account_id = m.account_id + AND reply.is_outgoing = 1 + AND reply.is_draft = 0 + )) AS has_replied, + s.wake_at AS snoozed_until, + (SELECT group_concat(ml.label_id) FROM message_labels ml + WHERE ml.message_id = m.id) AS label_ids, + m.verification_code, + (SELECT json_array(f.id, f.filename, f.mime_type, f.size) + FROM attachments f + WHERE f.message_id = m.id AND f.is_inline = 0 + ORDER BY f.id LIMIT 1) AS first_attachment, + (SELECT COUNT(*) FROM attachments f + WHERE f.message_id = m.id AND f.is_inline = 0) AS attachment_total + FROM messages m + JOIN threads t ON t.id = m.thread_id + JOIN accounts a ON a.id = m.account_id + LEFT JOIN snoozes s ON s.thread_id = m.thread_id"; + +/// One page of the message timeline for the scope in `args`, newest first. +/// `args.cursor` is ignored; messages page by `cursor`. +pub fn list_messages( + conn: &Connection, + args: &ListArgs, + cursor: Option, +) -> Result { + let (sql, bind) = list_messages_sql(args, cursor); + let mut stmt = conn.prepare(&sql)?; + let params_ref: Vec<&dyn rusqlite::types::ToSql> = bind.iter().map(|b| b.as_ref()).collect(); + let mut messages = stmt + .query_map(params_ref.as_slice(), message_summary_from_row)? + .collect::>>()?; + let next_cursor = if messages.len() as i64 > args.limit { + messages.truncate(args.limit as usize); + messages.last().map(|message| MessageCursor { + date: message.date, + message_id: message.id, + }) + } else { + None + }; + Ok(MessagePage { + messages, + next_cursor, + }) +} + +fn list_messages_sql( + args: &ListArgs, + cursor: Option, +) -> (String, Vec>) { + let (mut where_sql, mut bind) = build_filter(args, MailGrouping::Messages, false); + if let Some(cursor) = cursor { + bind.push(Box::new(cursor.date)); + let date_parameter = bind.len(); + bind.push(Box::new(cursor.message_id)); + let id_parameter = bind.len(); + let clause = format!("(m.date, m.id) < (?{date_parameter}, ?{id_parameter})"); + where_sql = if where_sql.is_empty() { + format!("WHERE {clause}") + } else { + format!("{where_sql} AND {clause}") + }; + } + ( + format!( + "{MESSAGE_SUMMARY_SELECT} {where_sql} + ORDER BY m.date DESC, m.id DESC LIMIT {}", + args.limit + 1 + ), + bind, + ) +} + +/// Query-plan details for the message list, including its cursor and filter. +pub fn list_messages_query_plan( + conn: &Connection, + args: &ListArgs, + cursor: Option, +) -> Result> { + let (sql, bind) = list_messages_sql(args, cursor); + let mut stmt = conn.prepare(&format!("EXPLAIN QUERY PLAN {sql}"))?; + let params_ref: Vec<&dyn rusqlite::types::ToSql> = bind.iter().map(|b| b.as_ref()).collect(); + Ok(stmt + .query_map(params_ref.as_slice(), |row| row.get(3))? + .collect::>>()?) +} + +/// Summaries for many messages in one query, returned in `message_ids` order. +/// Ids that no longer exist, or have no conversation yet, are skipped. +pub fn get_message_summaries( + conn: &Connection, + message_ids: &[i64], +) -> Result> { + if message_ids.is_empty() { + return Ok(Vec::new()); + } + let placeholders = message_ids + .iter() + .map(|_| "?") + .collect::>() + .join(","); + let sql = format!("{MESSAGE_SUMMARY_SELECT} WHERE m.id IN ({placeholders})"); + let mut stmt = conn.prepare(&sql)?; + let rows = stmt + .query_map( + rusqlite::params_from_iter(message_ids.iter()), + message_summary_from_row, + )? + .collect::>>()?; + let mut by_id: std::collections::HashMap = + rows.into_iter().map(|m| (m.id, m)).collect(); + Ok(message_ids + .iter() + .filter_map(|id| by_id.remove(id)) + .collect()) +} + #[cfg(test)] mod tests { use super::*; @@ -804,4 +1034,178 @@ mod tests { "keyset cursor must seek by account and timestamp: {plan:?}" ); } + + /// A conversation whose first message is in the inbox and whose reply was + /// archived. Returns (thread, inbox message, archived reply). + fn conversation_across_folders(conn: &Connection) -> (i64, i64, i64) { + crate::db::testutil::seed_account(conn); + conn.execute( + "INSERT INTO folders (id, account_id, path, role) VALUES (2, 1, 'Archive', 'archive')", + [], + ) + .unwrap(); + let (thread_id, inbox) = + crate::db::testutil::seed_message(conn, "sender@example.com", "Plans", false); + let (own_thread, reply) = + crate::db::testutil::seed_message(conn, "sender@example.com", "Re: Plans", false); + conn.execute( + "UPDATE messages SET thread_id = ?1, folder_id = 2, date = 2000, is_starred = 1, + uid = 10000 + id + WHERE id = ?2", + params![thread_id, reply], + ) + .unwrap(); + conn.execute("DELETE FROM threads WHERE id = ?1", [own_thread]) + .unwrap(); + recompute(conn, thread_id).unwrap(); + (thread_id, inbox, reply) + } + + fn scope(view: View) -> ListArgs { + ListArgs { + view, + tab: None, + account_id: None, + account_ids: None, + folder_id: None, + cursor: None, + limit: 50, + } + } + + fn message_ids(conn: &Connection, args: &ListArgs) -> Vec { + list_messages(conn, args, None) + .unwrap() + .messages + .iter() + .map(|message| message.id) + .collect() + } + + #[test] + fn messages_list_on_their_own_folders_and_flags() { + let conn = crate::db::testutil::conn(); + let (thread_id, inbox, reply) = conversation_across_folders(&conn); + + // The conversation is in the inbox and starred as a whole; each + // message is only where it is itself. + assert_eq!(list(&conn, &scope(View::Inbox)).unwrap().threads.len(), 1); + assert_eq!(message_ids(&conn, &scope(View::Inbox)), [inbox]); + assert_eq!(message_ids(&conn, &scope(View::Done)), [reply]); + assert_eq!(message_ids(&conn, &scope(View::Starred)), [reply]); + assert_eq!(message_ids(&conn, &scope(View::All)), [reply, inbox]); + let archive = ListArgs { + folder_id: Some(2), + ..scope(View::All) + }; + assert_eq!(message_ids(&conn, &archive), [reply]); + + let row = list_messages(&conn, &scope(View::Inbox), None) + .unwrap() + .messages + .remove(0); + assert_eq!(row.thread_id, thread_id); + assert_eq!(row.subject, "Plans"); + assert_eq!(row.from.email, "sender@example.com"); + assert!(!row.is_read); + assert!(!row.is_starred); + } + + #[test] + fn messages_follow_their_conversation_snooze_and_routing() { + let conn = crate::db::testutil::conn(); + let (thread_id, inbox, _) = conversation_across_folders(&conn); + conn.execute( + "UPDATE threads SET routed_tab = 'other' WHERE id = ?1", + [thread_id], + ) + .unwrap(); + let other = ListArgs { + tab: Some(TabFilter::Other), + ..scope(View::Inbox) + }; + assert_eq!(message_ids(&conn, &other), [inbox]); + let important = ListArgs { + tab: Some(TabFilter::Important), + ..scope(View::Inbox) + }; + assert!(message_ids(&conn, &important).is_empty()); + + crate::db::repo::snoozes::set(&conn, thread_id, 1, i64::MAX, Some(1)).unwrap(); + assert!(message_ids(&conn, &scope(View::Inbox)).is_empty()); + assert_eq!(message_ids(&conn, &scope(View::Snoozed)).len(), 2); + } + + #[test] + fn manual_labels_list_only_the_labelled_message() { + let conn = crate::db::testutil::conn(); + let (_, inbox, _) = conversation_across_folders(&conn); + conn.execute( + "INSERT INTO labels (id, name, color, keyword, position, is_auto, scope, owner_account_id, origin) + VALUES (7, 'Work', '#000000', 'work', 0, 0, 'account', 1, 'user')", + [], + ) + .unwrap(); + conn.execute( + "INSERT INTO message_labels (message_id, label_id) VALUES (?1, 7)", + [inbox], + ) + .unwrap(); + let labelled = ListArgs { + tab: Some(TabFilter::ManualLabel(7)), + ..scope(View::All) + }; + assert_eq!(message_ids(&conn, &labelled), [inbox]); + assert_eq!(list(&conn, &labelled).unwrap().threads.len(), 1); + let row = list_messages(&conn, &labelled, None) + .unwrap() + .messages + .remove(0); + assert_eq!(row.labels, [7]); + } + + #[test] + fn message_pages_continue_after_their_cursor() { + let conn = crate::db::testutil::conn(); + crate::db::testutil::seed_account(&conn); + let mut ids = Vec::new(); + for (index, subject) in ["one", "two", "three"].into_iter().enumerate() { + let (_, id) = crate::db::testutil::seed_message(&conn, "a@b.dev", subject, false); + // Two messages share a date; the id breaks the tie. + conn.execute( + "UPDATE messages SET date = ?1 WHERE id = ?2", + params![1000 + (index as i64).min(1), id], + ) + .unwrap(); + ids.push(id); + } + let args = ListArgs { + limit: 2, + ..scope(View::Inbox) + }; + let first = list_messages(&conn, &args, None).unwrap(); + let first_ids = first.messages.iter().map(|m| m.id).collect::>(); + assert_eq!(first_ids, [ids[2], ids[1]]); + let second = list_messages(&conn, &args, first.next_cursor).unwrap(); + assert_eq!( + second.messages.iter().map(|m| m.id).collect::>(), + [ids[0]] + ); + assert!(second.next_cursor.is_none()); + + let plan = list_messages_query_plan( + &conn, + &ListArgs { + account_id: Some(1), + ..args + }, + first.next_cursor, + ) + .unwrap(); + assert!( + plan.iter() + .any(|line| line.contains("idx_messages_account_recent")), + "account pages seek the message timeline index: {plan:?}" + ); + } } diff --git a/crates/flectar-mail-core/src/lib.rs b/crates/flectar-mail-core/src/lib.rs index 48a3d05a..637b30bf 100644 --- a/crates/flectar-mail-core/src/lib.rs +++ b/crates/flectar-mail-core/src/lib.rs @@ -634,6 +634,12 @@ impl From<(Option, i64)> for ThreadPageRequest { } } +#[derive(Clone)] +pub struct MessagePageRequest { + pub cursor: Option, + pub limit: i64, +} + #[derive(Clone)] pub struct Core { /// Mail, contacts, folders, and mail-side durable actions. @@ -2995,12 +3001,107 @@ impl Core { folder_id: Option, page: ThreadPageRequest, ) -> Result { - use repo::threads::TabFilter; let ThreadPageRequest { cursor, limit } = page; - // A category label filters to its single resolved tab; a manual label is - // a cross-cutting filter. Split conventions: -1 = Important, -2 = Other, - // positive ids = custom split tabs. - let tab = if let Some(lid) = label_id { + let tab = self.tab_filter(split_id, label_id).await?; + self.db + .read(move |conn| { + repo::threads::list( + conn, + &repo::threads::ListArgs { + view, + tab, + account_id, + account_ids, + folder_id, + cursor, + limit: limit.clamp(1, 200), + }, + ) + }) + .await + } + + /// One page of the message timeline: `list_threads` for mail lists that + /// show each message on its own instead of grouping conversations. + pub async fn list_messages( + &self, + view: View, + split_id: Option, + account_id: Option, + label_id: Option, + folder_id: Option, + page: MessagePageRequest, + ) -> Result { + self.list_messages_where(view, split_id, account_id, None, label_id, folder_id, page) + .await + } + + /// `list_messages` across a set of accounts, such as a mail profile's. An + /// empty set lists nothing. + pub async fn list_messages_for_accounts( + &self, + view: View, + split_id: Option, + account_ids: Vec, + label_id: Option, + folder_id: Option, + page: MessagePageRequest, + ) -> Result { + self.list_messages_where( + view, + split_id, + None, + Some(account_ids), + label_id, + folder_id, + page, + ) + .await + } + + #[allow(clippy::too_many_arguments)] + async fn list_messages_where( + &self, + view: View, + split_id: Option, + account_id: Option, + account_ids: Option>, + label_id: Option, + folder_id: Option, + page: MessagePageRequest, + ) -> Result { + let MessagePageRequest { cursor, limit } = page; + let tab = self.tab_filter(split_id, label_id).await?; + self.db + .read(move |conn| { + repo::threads::list_messages( + conn, + &repo::threads::ListArgs { + view, + tab, + account_id, + account_ids, + folder_id, + cursor: None, + limit: limit.clamp(1, 200), + }, + cursor, + ) + }) + .await + } + + /// The inbox tab or label a list is narrowed to. A category label filters + /// to its single resolved tab; a manual label is a cross-cutting filter. + /// Split conventions: -1 = Important, -2 = Other, positive ids = custom + /// split tabs. + async fn tab_filter( + &self, + split_id: Option, + label_id: Option, + ) -> Result> { + use repo::threads::TabFilter; + Ok(if let Some(lid) = label_id { let is_auto = self .db .read(move |conn| Ok(repo::labels::get(conn, lid)?.map(|l| l.is_auto))) @@ -3018,23 +3119,7 @@ impl Core { Some(id) if id > 0 => Some(TabFilter::Split(id)), _ => None, } - }; - self.db - .read(move |conn| { - repo::threads::list( - conn, - &repo::threads::ListArgs { - view, - tab, - account_id, - account_ids, - folder_id, - cursor, - limit: limit.clamp(1, 200), - }, - ) - }) - .await + }) } /// Exact count for the standard mailbox/folder scopes used by native @@ -4143,12 +4228,29 @@ impl Core { let mut action_ids: Vec = Vec::new(); let mut touched_accounts: Vec = Vec::new(); - for thread_id in args.thread_ids.clone() { + // Each conversation changes in its own transaction. Single messages + // are grouped by their conversation, which keeps its aggregates. + let scopes: Vec<(i64, Option>)> = match &args.target { + ActionTarget::Threads(thread_ids) => thread_ids.iter().map(|id| (*id, None)).collect(), + ActionTarget::Messages(message_ids) => { + let message_ids = message_ids.clone(); + self.db + .read(move |conn| messages_by_thread(conn, &message_ids)) + .await? + .into_iter() + .map(|(thread_id, messages)| (thread_id, Some(messages))) + .collect() + } + }; + let thread_ids = scopes.iter().map(|(id, _)| *id).collect::>(); + for (thread_id, messages) in scopes { let kind = args.kind; let params = args.params.clone(); let ids = self .db - .write(move |conn| apply_thread_action(conn, thread_id, kind, params.as_ref())) + .write(move |conn| { + apply_thread_action(conn, thread_id, messages.as_deref(), kind, params.as_ref()) + }) .await?; for (aid, account_id) in ids { action_ids.push(aid); @@ -4158,9 +4260,7 @@ impl Core { } } - self.bus.emit(CoreEvent::MailUpdated { - thread_ids: args.thread_ids.clone(), - }); + self.bus.emit(CoreEvent::MailUpdated { thread_ids }); for acc in touched_accounts { self.nudge(Some(acc), || SyncCmd::RunActions).await; } @@ -7118,6 +7218,48 @@ impl Core { .await } + /// Cursor-paginated chronological search as single messages, for mail + /// lists that do not group conversations. + pub async fn search_messages_page( + &self, + query: String, + account_id: Option, + cursor: Option, + limit: i64, + ) -> Result { + let mut parsed = search::parse(&query); + parsed.account_id = account_id; + self.search_messages_parsed(parsed, cursor, limit).await + } + + /// `search_messages_page` across a set of accounts, such as a mail + /// profile's. An empty set matches nothing. + pub async fn search_messages_page_for_accounts( + &self, + query: String, + account_ids: Vec, + cursor: Option, + limit: i64, + ) -> Result { + let mut parsed = search::parse(&query); + parsed.account_ids = Some(account_ids); + self.search_messages_parsed(parsed, cursor, limit).await + } + + async fn search_messages_parsed( + &self, + parsed: search::ParsedQuery, + cursor: Option, + limit: i64, + ) -> Result { + let limit = limit.clamp(1, 100); + self.db + .read(move |conn| { + repo::search::chronological_message_page(conn, &parsed, cursor, limit) + }) + .await + } + async fn search_chronological_parsed( &self, parsed: search::ParsedQuery, @@ -8077,7 +8219,7 @@ impl Core { if let Err(e) = self .perform_action(PerformActionArgs { kind, - thread_ids: vec![thread_id], + target: ActionTarget::Threads(vec![thread_id]), params, }) .await @@ -8116,9 +8258,13 @@ impl Core { } /// Native sidebar badges for all accounts, computed in one grouped query. - pub async fn mailbox_badge_counts(&self) -> Result> { + /// They count conversations or messages, as the mail list shows them. + pub async fn mailbox_badge_counts( + &self, + grouping: MailGrouping, + ) -> Result> { self.db - .read(|conn| repo::counts::mailbox_badge_counts(conn)) + .read(move |conn| repo::counts::mailbox_badge_counts(conn, grouping)) .await } @@ -8867,11 +9013,59 @@ fn valid_automation_route(conn: &rusqlite::Connection, target: &str) -> Result(0))? != 0) } +/// The conversations of `message_ids`, each with its messages, in the order +/// they first appear. Messages that are gone, or not yet in a conversation, +/// are left out. +fn messages_by_thread( + conn: &rusqlite::Connection, + message_ids: &[i64], +) -> Result)>> { + let mut stmt = conn.prepare_cached("SELECT thread_id FROM messages WHERE id = ?1")?; + let mut scopes: Vec<(i64, Vec)> = Vec::new(); + for message_id in message_ids { + let Some(thread_id) = stmt + .query_row(rusqlite::params![message_id], |row| { + row.get::<_, Option>(0) + }) + .optional()? + .flatten() + else { + continue; + }; + match scopes.iter_mut().find(|(id, _)| *id == thread_id) { + Some((_, messages)) => messages.push(*message_id), + None => scopes.push((thread_id, vec![*message_id])), + } + } + Ok(scopes) +} + +/// Whether any message of the conversation is still in an inbox. +fn thread_in_inbox(tx: &rusqlite::Transaction, thread_id: i64) -> Result { + Ok(tx.query_row( + "SELECT EXISTS (SELECT 1 FROM messages m JOIN folders f ON f.id = m.folder_id + WHERE m.thread_id = ?1 AND f.role = 'inbox') + OR EXISTS (SELECT 1 FROM messages m + JOIN message_folders mf ON mf.message_id = m.id + JOIN folders f ON f.id = mf.folder_id + WHERE m.thread_id = ?1 AND f.role = 'inbox')", + rusqlite::params![thread_id], + |row| row.get(0), + )?) +} + /// Optimistic local mutation + enqueue, in one transaction. /// Returns (action_id, account_id) pairs. +/// +/// `only` narrows the action to those messages of the conversation, as a mail +/// list without conversations acts on the message it shows. Their queued +/// actions are marked `messageOnly`, so providers that could change the whole +/// conversation at once, such as Gmail, change just those messages. Snooze +/// stays a conversation's. fn apply_thread_action( conn: &mut rusqlite::Connection, thread_id: i64, + only: Option<&[i64]>, kind: ActionKind, params: Option<&ActionParams>, ) -> Result> { @@ -8890,10 +9084,12 @@ fn apply_thread_action( // Most thread actions intentionally ignore drafts. Archive and Trash are // exceptions: users can file or discard a draft from the Drafts view, and // excluding it here made the optimistic removal snap back on reconciliation. - let include_drafts = matches!( - kind, - ActionKind::Archive | ActionKind::Trash | ActionKind::DeletePermanently - ); + // A draft chosen on its own is acted on like any other message. + let include_drafts = only.is_some() + || matches!( + kind, + ActionKind::Archive | ActionKind::Trash | ActionKind::DeletePermanently + ); let mut stmt = tx.prepare( "SELECT m.id, m.folder_id, m.uid, m.is_read, m.is_starred, COALESCE(f.role,'') FROM messages m LEFT JOIN folders f ON f.id = m.folder_id @@ -8913,6 +9109,17 @@ fn apply_thread_action( })? .collect::>>()?; drop(stmt); + let mut msgs = msgs; + if let Some(only) = only { + msgs.retain(|message| only.contains(&message.0)); + } + let message_only = only.is_some(); + let scoped = |mut payload: serde_json::Value| { + if message_only { + payload["messageOnly"] = serde_json::Value::Bool(true); + } + payload + }; fn folder_of(tx: &rusqlite::Transaction, account_id: i64, role: &str) -> Result> { Ok(repo::folders::by_role(tx, account_id, role)?.map(|f| f.id)) @@ -8929,12 +9136,16 @@ fn apply_thread_action( target: i64, kind_str: &str, multi_mailbox: bool, + message_only: bool, ) -> Result { - let payload = serde_json::json!({ + let mut payload = serde_json::json!({ "srcFolderId": src_folder, "srcUid": src_uid, "targetFolderId": target, }); + if message_only { + payload["messageOnly"] = serde_json::Value::Bool(true); + } repo::messages::set_uid_and_folder(tx, msg_id, target, None)?; if multi_mailbox { if let Some(src_folder) = src_folder { @@ -8991,7 +9202,7 @@ fn apply_thread_action( kind.as_str(), Some(*id), Some(thread_id), - &serde_json::json!({"folderId": f, "uid": u}), + &scoped(serde_json::json!({"folderId": f, "uid": u})), None, )?; out.push((aid, account_id)); @@ -9002,7 +9213,7 @@ fn apply_thread_action( for (id, _f, _u, is_read, _s, _role) in &msgs { if *is_read != target_read { repo::messages::set_read(&tx, *id, target_read)?; - let payload = serde_json::json!({}); + let payload = scoped(serde_json::json!({})); let aid = repo::actions::enqueue( &tx, account_id, @@ -9016,6 +9227,23 @@ fn apply_thread_action( } } } + ActionKind::Star if message_only => { + for (id, _f, _u, _r, is_starred, _role) in &msgs { + if !*is_starred { + repo::messages::set_starred(&tx, *id, true)?; + let aid = repo::actions::enqueue( + &tx, + account_id, + "star", + Some(*id), + Some(thread_id), + &scoped(serde_json::json!({})), + None, + )?; + out.push((aid, account_id)); + } + } + } ActionKind::Star => { // Star the latest message only (thread-level star). if let Some((id, _f, _u, _r, is_starred, _role)) = msgs.iter().max_by_key(|m| m.0) { @@ -9047,7 +9275,7 @@ fn apply_thread_action( "unstar", Some(*id), Some(thread_id), - &serde_json::json!({}), + &scoped(serde_json::json!({})), None, )?; out.push((aid, account_id)); @@ -9086,12 +9314,16 @@ fn apply_thread_action( target, kind_str, multi_mailbox, + message_only, )?; out.push((aid, account_id)); } } - // Archiving also clears snooze. - repo::snoozes::clear(&tx, thread_id)?; + // Archiving also clears snooze, once the whole conversation has + // left the inbox. + if !message_only || !thread_in_inbox(&tx, thread_id)? { + repo::snoozes::clear(&tx, thread_id)?; + } } ActionKind::Unarchive | ActionKind::NotSpam => { let target = folder_of(&tx, account_id, roles::INBOX)? @@ -9115,6 +9347,7 @@ fn apply_thread_action( target, kind.as_str(), multi_mailbox, + message_only, )?; out.push((aid, account_id)); } @@ -9143,6 +9376,7 @@ fn apply_thread_action( target, "move", multi_mailbox, + message_only, )?; out.push((aid, account_id)); } @@ -9193,7 +9427,8 @@ fn apply_thread_action( ))); } let add = kind == ActionKind::AddLabel; - let payload = serde_json::json!({ "labelId": label_id, "keyword": label.keyword }); + let payload = + scoped(serde_json::json!({ "labelId": label_id, "keyword": label.keyword })); for (id, ..) in &msgs { if add { repo::labels::add_to_message(&tx, *id, label_id)?; @@ -9390,8 +9625,14 @@ mod move_action_validation_tests { ) .unwrap(); - let actions = - apply_thread_action(&mut conn, thread_id, ActionKind::DeletePermanently, None).unwrap(); + let actions = apply_thread_action( + &mut conn, + thread_id, + None, + ActionKind::DeletePermanently, + None, + ) + .unwrap(); assert_eq!(actions.len(), 1); let action = repo::actions::get(&conn, actions[0].0).unwrap().unwrap(); assert_eq!(action.message_id, Some(trash_id)); @@ -9399,9 +9640,171 @@ mod move_action_validation_tests { assert!(repo::messages::get_row(&conn, trash_id).unwrap().is_some()); assert!(repo::messages::get_row(&conn, inbox_id).unwrap().is_some()); assert!( - apply_thread_action(&mut conn, thread_id, ActionKind::DeletePermanently, None) + apply_thread_action( + &mut conn, + thread_id, + None, + ActionKind::DeletePermanently, + None + ) + .unwrap() + .is_empty() + ); + } + + /// A conversation of two inbox messages, as two rows of a mail list + /// without conversations. Returns (thread, first message, second message). + fn two_message_conversation(conn: &rusqlite::Connection) -> (i64, i64, i64) { + let (thread_id, first) = + db::testutil::seed_message(conn, "sender@test.dev", "plans", false); + let (own_thread, second) = + db::testutil::seed_message(conn, "sender@test.dev", "re: plans", false); + conn.execute( + "UPDATE messages SET thread_id = ?1, date = 2000, uid = 10000 + id WHERE id = ?2", + rusqlite::params![thread_id, second], + ) + .unwrap(); + conn.execute("DELETE FROM threads WHERE id = ?1", [own_thread]) + .unwrap(); + repo::threads::recompute(conn, thread_id).unwrap(); + (thread_id, first, second) + } + + #[test] + fn archiving_one_message_leaves_the_rest_of_its_conversation() { + let mut conn = db::testutil::conn(); + db::testutil::seed_account(&conn); + conn.execute( + "INSERT INTO folders (id, account_id, path, role) VALUES (2, 1, 'Archive', 'archive')", + [], + ) + .unwrap(); + let (thread_id, first, second) = two_message_conversation(&conn); + repo::snoozes::set(&conn, thread_id, 1, 9_999_999, Some(1)).unwrap(); + + let actions = apply_thread_action( + &mut conn, + thread_id, + Some(&[first]), + ActionKind::Archive, + None, + ) + .unwrap(); + assert_eq!(actions.len(), 1); + let action = repo::actions::get(&conn, actions[0].0).unwrap().unwrap(); + assert_eq!(action.message_id, Some(first)); + assert_eq!(action.payload["messageOnly"], true); + let folder = |conn: &rusqlite::Connection, id| { + repo::messages::get_row(conn, id) .unwrap() - .is_empty() + .unwrap() + .folder_id + }; + assert_eq!(folder(&conn, first), Some(2)); + assert_eq!( + folder(&conn, second), + Some(1), + "the reply stays in the inbox" + ); + let snoozed = |conn: &rusqlite::Connection| { + conn.query_row( + "SELECT COUNT(*) FROM snoozes WHERE thread_id = ?1", + [thread_id], + |row| row.get::<_, i64>(0), + ) + .unwrap() + }; + assert_eq!(snoozed(&conn), 1, "the conversation is still in the inbox"); + + apply_thread_action( + &mut conn, + thread_id, + Some(&[second]), + ActionKind::Archive, + None, + ) + .unwrap(); + assert_eq!(snoozed(&conn), 0, "the whole conversation left the inbox"); + + // Undoing an archive that already reached the server moves back only + // that message. + repo::actions::set_state(&conn, action.id, "done", None).unwrap(); + revert_action(&mut conn, &action).unwrap(); + let inverse = conn + .query_row( + "SELECT payload FROM pending_actions + WHERE kind = 'move' AND message_id = ?1 AND state = 'pending'", + [first], + |row| row.get::<_, String>(0), + ) + .unwrap(); + let inverse: serde_json::Value = serde_json::from_str(&inverse).unwrap(); + assert_eq!(inverse["messageOnly"], true); + assert_eq!(folder(&conn, first), Some(1)); + } + + #[test] + fn reading_and_starring_one_message_changes_only_it() { + let mut conn = db::testutil::conn(); + db::testutil::seed_account(&conn); + let (thread_id, first, second) = two_message_conversation(&conn); + + apply_thread_action( + &mut conn, + thread_id, + Some(&[first]), + ActionKind::MarkRead, + None, + ) + .unwrap(); + let read = |id| { + conn.query_row("SELECT is_read FROM messages WHERE id = ?1", [id], |row| { + row.get::<_, bool>(0) + }) + .unwrap() + }; + assert!(read(first)); + assert!(!read(second)); + let unread: i64 = conn + .query_row( + "SELECT unread_count FROM threads WHERE id = ?1", + [thread_id], + |row| row.get(0), + ) + .unwrap(); + assert_eq!(unread, 1); + + // A conversation stars its newest message; a chosen message stars + // itself. + let actions = + apply_thread_action(&mut conn, thread_id, Some(&[first]), ActionKind::Star, None) + .unwrap(); + assert_eq!(actions.len(), 1); + let starred = |id| { + conn.query_row( + "SELECT is_starred FROM messages WHERE id = ?1", + [id], + |row| row.get::<_, bool>(0), + ) + .unwrap() + }; + assert!(starred(first)); + assert!(!starred(second)); + } + + #[test] + fn chosen_messages_group_by_their_conversations() { + let conn = db::testutil::conn(); + db::testutil::seed_account(&conn); + let (thread_id, first, second) = two_message_conversation(&conn); + let (other_thread, other) = + db::testutil::seed_message(&conn, "someone@test.dev", "elsewhere", false); + assert_eq!( + messages_by_thread(&conn, &[first, other, 999, second]).unwrap(), + [ + (thread_id, vec![first, second]), + (other_thread, vec![other]) + ] ); } @@ -9424,7 +9827,7 @@ mod move_action_validation_tests { ) .unwrap(); - let actions = apply_thread_action(&mut conn, thread_id, kind, None).unwrap(); + let actions = apply_thread_action(&mut conn, thread_id, None, kind, None).unwrap(); assert_eq!(actions.len(), 1); let row = repo::messages::get_row(&conn, message_id).unwrap().unwrap(); @@ -9456,6 +9859,7 @@ mod move_action_validation_tests { let error = apply_thread_action( &mut conn, thread_id, + None, ActionKind::Move, Some(&ActionParams { wake_at: None, @@ -9495,6 +9899,7 @@ mod move_action_validation_tests { let error = apply_thread_action( &mut conn, thread_id, + None, ActionKind::AddLabel, Some(&ActionParams { wake_at: None, @@ -9533,6 +9938,7 @@ mod move_action_validation_tests { let actions = apply_thread_action( &mut conn, thread_id, + None, ActionKind::AddLabel, Some(&ActionParams { wake_at: None, @@ -9572,6 +9978,14 @@ fn revert_action( let was_pending = repo::actions::try_cancel(conn, action.id)?; let tx = conn.transaction()?; let thread_id = action.thread_id; + // The inverse of an action on one message changes only that message too. + let message_only = action.payload["messageOnly"].as_bool() == Some(true); + let scoped = |mut payload: serde_json::Value| { + if message_only { + payload["messageOnly"] = serde_json::Value::Bool(true); + } + payload + }; match action.kind.as_str() { "mark_read" | "mark_unread" => { @@ -9589,7 +10003,7 @@ fn revert_action( inverse, Some(mid), thread_id, - &serde_json::json!({}), + &scoped(serde_json::json!({})), None, )?; } @@ -9610,7 +10024,7 @@ fn revert_action( inverse, Some(mid), thread_id, - &serde_json::json!({}), + &scoped(serde_json::json!({})), None, )?; } @@ -9640,11 +10054,11 @@ fn revert_action( .filter(|row| row.folder_id == cur_folder) .and_then(|row| row.uid); repo::messages::set_uid_and_folder(&tx, mid, src, None)?; - let payload = serde_json::json!({ + let payload = scoped(serde_json::json!({ "srcFolderId": cur_folder, "srcUid": current_uid, "targetFolderId": src, - }); + })); repo::actions::enqueue( &tx, action.account_id, diff --git a/crates/flectar-mail-core/src/mail_import/tests.rs b/crates/flectar-mail-core/src/mail_import/tests.rs index ac4c7cc4..82e2a03d 100644 --- a/crates/flectar-mail-core/src/mail_import/tests.rs +++ b/crates/flectar-mail-core/src/mail_import/tests.rs @@ -3,7 +3,7 @@ use crate::config::Paths; use crate::db::repo; use crate::migration::{Source, SourceError}; use crate::models::{ - ActionKind, AuthKind, MailProtocol, PerformActionArgs, Provider, now_ms, roles, + ActionKind, ActionTarget, AuthKind, MailProtocol, PerformActionArgs, Provider, now_ms, roles, }; use std::path::Path; use std::sync::Arc; @@ -381,7 +381,10 @@ async fn saved_mail_goes_into_local_mail_once() { .await .unwrap(); assert_eq!(found.threads.len(), 1); - let badges = core.mailbox_badge_counts().await.unwrap(); + let badges = core + .mailbox_badge_counts(crate::models::MailGrouping::Conversations) + .await + .unwrap(); assert!( badges .iter() @@ -650,7 +653,7 @@ async fn local_mail_folders_trash_export_and_removal_work_without_a_server() { .unwrap(); core.perform_action(PerformActionArgs { kind: ActionKind::Trash, - thread_ids: vec![thread_id], + target: ActionTarget::Threads(vec![thread_id]), params: None, }) .await diff --git a/crates/flectar-mail-core/src/models.rs b/crates/flectar-mail-core/src/models.rs index d5dee342..df18e944 100644 --- a/crates/flectar-mail-core/src/models.rs +++ b/crates/flectar-mail-core/src/models.rs @@ -971,6 +971,49 @@ pub struct ThreadSummary { pub attachment_total: i64, } +/// Whether mail lists show conversations or each message on its own, like +/// JMAP's `Email/query` with and without `collapseThreads`. +#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum MailGrouping { + #[default] + Conversations, + Messages, +} + +/// One message as a mail-list row, for lists that do not group messages into +/// conversations. Snooze and tab routing belong to the message's conversation. +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct MessageSummary { + pub id: i64, + pub thread_id: i64, + pub account_id: i64, + /// `None` for local mail, which has no address. + pub account_email: Option, + /// Verified addresses owned by this account, including send-as aliases. + pub account_addresses: Vec, + pub subject: String, + pub snippet: String, + pub from: Address, + pub to: Vec
, + pub date: i64, + pub is_read: bool, + pub is_starred: bool, + pub is_draft: bool, + pub is_outgoing: bool, + pub has_attachments: bool, + /// A sent reply refers to this message. + pub has_replied: bool, + /// When the message's conversation is snoozed until. + pub snoozed_until: Option, + pub labels: Vec, + pub verification_code: Option, + /// The message's first file. Inline images are not files. + pub first_attachment: Option, + pub attachment_total: i64, +} + #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Label { @@ -1099,6 +1142,36 @@ pub struct SearchPage { pub next_cursor: Option, } +/// Stable keyset cursor for the descending message timeline; the message id +/// breaks ties between messages with the same date. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct MessageCursor { + pub date: i64, + pub message_id: i64, +} + +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct MessagePage { + pub messages: Vec, + pub next_cursor: Option, +} + +/// Position in a chronological message search. Keep the relaxed-query choice +/// so every page uses the same match semantics. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct MessageSearchCursor { + pub position: MessageCursor, + pub relaxed: bool, +} + +#[derive(Debug, Clone)] +pub struct MessageSearchPage { + pub messages: Vec, + pub next_cursor: Option, +} + // Deliberately no `Debug`: it would print the account password. #[derive(Clone, Deserialize)] #[serde(rename_all = "camelCase")] @@ -1156,6 +1229,16 @@ pub enum ActionKind { Send, } +impl Settings { + pub fn mail_grouping(&self) -> MailGrouping { + if self.conversation_view { + MailGrouping::Conversations + } else { + MailGrouping::Messages + } + } +} + impl ActionKind { pub fn as_str(&self) -> &'static str { match self { @@ -1208,11 +1291,20 @@ pub struct ActionParams { pub label_id: Option, } +/// What an action applies to: whole conversations, or single messages, as a +/// mail list without conversations shows them. +#[derive(Debug, Clone, PartialEq, Eq, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum ActionTarget { + Threads(Vec), + Messages(Vec), +} + #[derive(Debug, Clone, Deserialize)] #[serde(rename_all = "camelCase")] pub struct PerformActionArgs { pub kind: ActionKind, - pub thread_ids: Vec, + pub target: ActionTarget, #[serde(default)] pub params: Option, } @@ -1724,6 +1816,10 @@ pub struct Settings { /// switcher in compact layouts. Saved tabs are kept while they are hidden. #[serde(default = "default_true")] pub show_tabs: bool, + /// Group replies with the messages they answer into conversations. Off + /// lists, opens and acts on every message on its own. + #[serde(default = "default_true")] + pub conversation_view: bool, /// Workspace presentation: "default" keeps lists and details side by /// side, while "minimal" navigates between those shared surfaces. /// `mailLayout` was the short-lived original key before Contacts shared @@ -2028,6 +2124,9 @@ pub struct StartupPresentation { /// first showing the window. pub close_to_tray: bool, pub app_icon: AppIcon, + /// Whether the first mail list, and the cached one shown before it, + /// group conversations. + pub grouping: MailGrouping, } fn default_theme_preset() -> String { "default".into() @@ -2043,6 +2142,7 @@ impl Default for Settings { show_avatars: true, group_mail_by_date: true, show_tabs: true, + conversation_view: true, workspace_layout: default_workspace_layout(), workspace_list_pane_width: default_workspace_list_pane_width(), window_frame: default_window_frame(), @@ -2417,6 +2517,7 @@ mod tests { assert_eq!(s.app_icon, AppIcon::Orange); assert!(s.group_mail_by_date); assert!(s.show_tabs); + assert!(s.conversation_view); assert_eq!(s.workspace_layout, "default"); assert_eq!(s.workspace_list_pane_width, MIN_WORKSPACE_LIST_PANE_WIDTH); assert_eq!(s.time_format, TimeFormat::Automatic); @@ -2470,6 +2571,7 @@ mod tests { assert_eq!(serialized["workspaceLayout"], "default"); assert_eq!(serialized["groupMailByDate"], true); assert_eq!(serialized["showTabs"], true); + assert_eq!(serialized["conversationView"], true); assert_eq!( serialized["workspaceListPaneWidth"], MIN_WORKSPACE_LIST_PANE_WIDTH diff --git a/crates/flectar-mail-core/src/queue/move_tests.rs b/crates/flectar-mail-core/src/queue/move_tests.rs index eafd1940..56384f31 100644 --- a/crates/flectar-mail-core/src/queue/move_tests.rs +++ b/crates/flectar-mail-core/src/queue/move_tests.rs @@ -1,6 +1,8 @@ use super::*; use crate::accounts::credentials::DevelopmentFileCredentialStore; -use crate::models::{ActionKind, ConnectionSecurity, MailConnectionSettings, PerformActionArgs}; +use crate::models::{ + ActionKind, ActionTarget, ConnectionSecurity, MailConnectionSettings, PerformActionArgs, +}; use crate::{Core, config::Paths, db::testutil}; use std::collections::BTreeMap; use std::sync::{Arc, Mutex}; @@ -215,7 +217,7 @@ async fn undo_and_star_find_a_moved_message_before_its_mailbox_syncs() { let perform = |kind| { core.perform_action(PerformActionArgs { kind, - thread_ids: vec![thread_id], + target: ActionTarget::Threads(vec![thread_id]), params: None, }) }; diff --git a/crates/flectar-mail-core/src/sync/gmail.rs b/crates/flectar-mail-core/src/sync/gmail.rs index c3b03eb0..afe4e82d 100644 --- a/crates/flectar-mail-core/src/sync/gmail.rs +++ b/crates/flectar-mail-core/src/sync/gmail.rs @@ -3516,6 +3516,7 @@ async fn apply_action( // its id. Other local-only messages have no remote intent to replay. return Ok(()); }; + let provider_thread_id = conversation_scope(provider_thread_id, &action.payload); let mut add = Vec::::new(); let mut remove = Vec::::new(); @@ -3632,6 +3633,16 @@ async fn apply_action( } } +/// The Gmail conversation an action may change as a whole. An action on one +/// message, made where mail lists do not group conversations, must not reach +/// the rest of its conversation, so it changes only its message. +fn conversation_scope( + provider_thread_id: Option, + payload: &serde_json::Value, +) -> Option { + provider_thread_id.filter(|_| payload["messageOnly"].as_bool() != Some(true)) +} + async fn execute_actions(ctx: &SyncCtx, config: &AccountConfig, api: &GmailApi) -> Result { const LIMIT: i64 = 20; const MAX_ATTEMPTS: i64 = 8; @@ -4010,6 +4021,23 @@ async fn fetch_attachment(ctx: &SyncCtx, api: &GmailApi, attachment_id: i64) -> mod tests { use super::*; + #[test] + fn single_message_actions_leave_the_rest_of_the_conversation() { + let thread = || Some("thread-1".to_owned()); + assert_eq!( + conversation_scope(thread(), &json!({})).as_deref(), + Some("thread-1") + ); + assert_eq!( + conversation_scope(thread(), &json!({ "messageOnly": true })), + None + ); + assert_eq!( + conversation_scope(thread(), &json!({ "messageOnly": false })).as_deref(), + Some("thread-1") + ); + } + #[test] fn history_deduplicates_threads_and_advances_only_on_final_page() { let first = json!({ diff --git a/crates/flectar-mail-core/tests/dovecot_e2e.rs b/crates/flectar-mail-core/tests/dovecot_e2e.rs index ec4e890f..5c61a178 100644 --- a/crates/flectar-mail-core/tests/dovecot_e2e.rs +++ b/crates/flectar-mail-core/tests/dovecot_e2e.rs @@ -291,7 +291,7 @@ async fn full_sync_triage_and_search() { .expect("bob thread"); core.perform_action(PerformActionArgs { kind: ActionKind::Archive, - thread_ids: vec![bob.id], + target: ActionTarget::Threads(vec![bob.id]), params: None, }) .await @@ -321,7 +321,7 @@ async fn full_sync_triage_and_search() { // 8. Snooze hides a thread from inbox; unsnooze restores it. core.perform_action(PerformActionArgs { kind: ActionKind::Snooze, - thread_ids: vec![alice_id], + target: ActionTarget::Threads(vec![alice_id]), params: Some(ActionParams { wake_at: Some(now_ms() + 3_600_000), target_folder_id: None, @@ -342,7 +342,7 @@ async fn full_sync_triage_and_search() { assert!(snoozed.threads.iter().any(|t| t.id == alice_id)); core.perform_action(PerformActionArgs { kind: ActionKind::Unsnooze, - thread_ids: vec![alice_id], + target: ActionTarget::Threads(vec![alice_id]), params: None, }) .await @@ -412,7 +412,7 @@ async fn full_sync_triage_and_search() { let bob_id = bob.id; core.perform_action(PerformActionArgs { kind: ActionKind::Archive, - thread_ids: vec![bob_id], + target: ActionTarget::Threads(vec![bob_id]), params: None, }) .await diff --git a/crates/flectar-mail-core/tests/draft_lifecycle.rs b/crates/flectar-mail-core/tests/draft_lifecycle.rs index cd6c1e8f..652cd4ab 100644 --- a/crates/flectar-mail-core/tests/draft_lifecycle.rs +++ b/crates/flectar-mail-core/tests/draft_lifecycle.rs @@ -1,7 +1,7 @@ use flectar_mail_core::Core; use flectar_mail_core::config::Paths; use flectar_mail_core::models::{ - ActionKind, Address, DraftAttachmentIn, PerformActionArgs, SaveDraftArgs, View, + ActionKind, ActionTarget, Address, DraftAttachmentIn, PerformActionArgs, SaveDraftArgs, View, }; async fn setup() -> (tempfile::TempDir, Core) { @@ -149,7 +149,7 @@ async fn archive_and_trash_remove_local_drafts_from_the_drafts_view() { core.perform_action(PerformActionArgs { kind: ActionKind::Archive, - thread_ids: vec![thread_id], + target: ActionTarget::Threads(vec![thread_id]), params: None, }) .await @@ -184,7 +184,7 @@ async fn archive_and_trash_remove_local_drafts_from_the_drafts_view() { .unwrap(); core.perform_action(PerformActionArgs { kind: ActionKind::Trash, - thread_ids: vec![trashed_thread], + target: ActionTarget::Threads(vec![trashed_thread]), params: None, }) .await diff --git a/crates/flectar-mail-core/tests/offline.rs b/crates/flectar-mail-core/tests/offline.rs index 66ee8847..e369c275 100644 --- a/crates/flectar-mail-core/tests/offline.rs +++ b/crates/flectar-mail-core/tests/offline.rs @@ -171,14 +171,14 @@ async fn offline_actions_queue_locally_and_survive_restart() { // Triage while offline: local mutation is immediate, intent is queued. core.perform_action(PerformActionArgs { kind: ActionKind::MarkRead, - thread_ids: vec![thread_id], + target: ActionTarget::Threads(vec![thread_id]), params: None, }) .await .expect("mark read offline"); core.perform_action(PerformActionArgs { kind: ActionKind::Archive, - thread_ids: vec![thread_id], + target: ActionTarget::Threads(vec![thread_id]), params: None, }) .await diff --git a/crates/flectar-mail-core/tests/perf.rs b/crates/flectar-mail-core/tests/perf.rs index 9904236c..dad624d0 100644 --- a/crates/flectar-mail-core/tests/perf.rs +++ b/crates/flectar-mail-core/tests/perf.rs @@ -176,7 +176,12 @@ async fn hundred_k_messages_stay_instant() { // All native sidebar badges are refreshed together after mutations. let t0 = Instant::now(); let badges = db - .read(|conn| repo::counts::mailbox_badge_counts(conn)) + .read(|conn| { + repo::counts::mailbox_badge_counts( + conn, + flectar_mail_core::models::MailGrouping::Conversations, + ) + }) .await .unwrap(); let badge_ms = t0.elapsed().as_millis(); diff --git a/crates/flectar-mail-core/tests/pop3_accounts.rs b/crates/flectar-mail-core/tests/pop3_accounts.rs index 63d8cc16..e8cf6de9 100644 --- a/crates/flectar-mail-core/tests/pop3_accounts.rs +++ b/crates/flectar-mail-core/tests/pop3_accounts.rs @@ -252,7 +252,7 @@ async fn a_pop3_account_downloads_files_and_sends_mail_on_this_device() { let result = core .perform_action(PerformActionArgs { kind: ActionKind::Move, - thread_ids: vec![thread.id], + target: ActionTarget::Threads(vec![thread.id]), params: Some(ActionParams { wake_at: None, target_folder_id: Some(projects), diff --git a/docs/readme/README.ar.md b/docs/readme/README.ar.md index 64112b25..3e7e4d05 100644 --- a/docs/readme/README.ar.md +++ b/docs/readme/README.ar.md @@ -95,7 +95,7 @@ ### 🧵 سلاسل المحادثات -تبقى الردود مجمعة بترتيب زمني، مع توسيع الرسالة النشطة داخل جزء القراءة. +تبقى الردود مجمعة بترتيب زمني، مع توسيع الرسالة النشطة داخل جزء القراءة. لعرض كل رسالة وفتحها والتعامل معها على حدة، أوقف **عرض المحادثات** في الإعدادات ← عام. استخدم **أعلى/أسفل** للتنقل بين الرسائل، و**Home/End** للانتقال إلى أول رسالة محملة أو آخرها، و**Page Up/Page Down** للتحرك صفحة في كل مرة. يفتح **Enter** الرسالة الحالية وينقل التركيز إلى محتواها؛ ويحدد **Space** الرسالة أو يلغي تحديدها للإجراءات الجماعية. ينقل **Tab/Shift+Tab** التركيز بين عناصر التحكم. في مساحة العمل الكاملة، ينقل **F6** التركيز بين القائمة والقارئ. في التخطيط المبسط، تبرز مفاتيح الأسهم الرسائل ويفتحها **Enter**؛ ويعيد **Escape** أو **F6** إلى القائمة. diff --git a/docs/readme/README.de.md b/docs/readme/README.de.md index d7fb78bf..ebd45b9a 100644 --- a/docs/readme/README.de.md +++ b/docs/readme/README.de.md @@ -95,7 +95,7 @@ Du kannst auch die Farbe eines einzelnen Kontos überschreiben und die wirksame ### 🧵 Unterhaltungen -Antworten bleiben chronologisch gruppiert, wobei die aktive Nachricht im Lesebereich aufgeklappt ist. +Antworten bleiben chronologisch gruppiert, wobei die aktive Nachricht im Lesebereich aufgeklappt ist. Um jede Nachricht einzeln aufzulisten, zu öffnen und zu bearbeiten, schalte **Unterhaltungsansicht** unter Einstellungen → Allgemein aus. Mit **Pfeil hoch/runter** navigierst du durch Nachrichten, mit **Pos1/Ende** zur ersten oder letzten geladenen Nachricht und mit **Bild auf/Bild ab** seitenweise. **Enter** öffnet die aktuelle Nachricht und fokussiert ihren Inhalt; die **Leertaste** markiert sie für Sammelaktionen oder hebt die Markierung auf. **Tab/Umschalt+Tab** wechseln zwischen Bedienelementen. In der vollständigen Ansicht verschiebt **F6** den Fokus zwischen Liste und Lesebereich. Im minimalistischen Layout heben Pfeiltasten Nachrichten hervor und **Enter** öffnet sie; **Escape** oder **F6** kehrt zur Liste zurück. diff --git a/docs/readme/README.es.md b/docs/readme/README.es.md index 73c7923a..e0187b85 100644 --- a/docs/readme/README.es.md +++ b/docs/readme/README.es.md @@ -161,7 +161,8 @@ usa morado para Trabajo y naranja para Soporte. ### 🧵 Conversaciones Las respuestas se agrupan en orden cronológico, con el mensaje activo desplegado -en el panel de lectura. +en el panel de lectura. Para ver, abrir y gestionar cada mensaje por separado, +desactiva **Vista de conversación** en Ajustes → General. Usa **Arriba/Abajo** para recorrer los mensajes, **Inicio/Fin** para ir al primer o último mensaje cargado y **Re Pág/Av Pág** para avanzar una página. diff --git a/docs/readme/README.fr.md b/docs/readme/README.fr.md index 6a7ec2fe..7e51d117 100644 --- a/docs/readme/README.fr.md +++ b/docs/readme/README.fr.md @@ -95,7 +95,7 @@ Vous pouvez aussi remplacer la couleur d’un compte particulier et afficher la ### 🧵 Fils de discussion -Les réponses restent regroupées par ordre chronologique, avec le message actif déplié dans le volet de lecture. +Les réponses restent regroupées par ordre chronologique, avec le message actif déplié dans le volet de lecture. Pour afficher, ouvrir et traiter chaque message séparément, désactivez **Vue conversation** dans Paramètres → Général. Utilisez **Haut/Bas** pour parcourir les messages, **Début/Fin** pour atteindre le premier ou le dernier message chargé, et **Page précédente/Page suivante** pour avancer d’une page. **Entrée** ouvre le message courant et place le focus sur son contenu ; **Espace** le coche ou le décoche pour les actions groupées. **Tab/Maj+Tab** passent d’un contrôle à l’autre. Dans l’espace complet, **F6** déplace le focus entre la liste et le lecteur. Dans la disposition minimaliste, les flèches mettent les messages en surbrillance et **Entrée** les ouvre ; **Échap** ou **F6** revient à la liste. diff --git a/docs/readme/README.hi.md b/docs/readme/README.hi.md index 447d34e3..b1dfb9f7 100644 --- a/docs/readme/README.hi.md +++ b/docs/readme/README.hi.md @@ -95,7 +95,7 @@ JMAP/WebDAV स्टोरेज देखें, ईमेल अटैचम ### 🧵 बातचीत के थ्रेड -जवाब समय के क्रम में एक साथ रहते हैं और सक्रिय संदेश रीडिंग पैन में खुला दिखता है। +जवाब समय के क्रम में एक साथ रहते हैं और सक्रिय संदेश रीडिंग पैन में खुला दिखता है। हर संदेश को अलग से देखने, खोलने और उस पर कार्रवाई करने के लिए सेटिंग्स → सामान्य में **बातचीत व्यू** बंद करें। संदेशों के बीच जाने के लिए **ऊपर/नीचे**, पहले या आख़िरी लोड हुए संदेश पर जाने के लिए **Home/End** और एक पृष्ठ आगे-पीछे जाने के लिए **Page Up/Page Down** इस्तेमाल करें। **Enter** वर्तमान संदेश खोलता है और उसके कंटेंट पर फ़ोकस करता है; **Space** सामूहिक कार्रवाइयों के लिए उसे चुनता या चयन हटाता है। **Tab/Shift+Tab** कंट्रोल के बीच जाते हैं। पूर्ण कार्यक्षेत्र में **F6** संदेश सूची और रीडर के बीच फ़ोकस बदलता है। मिनिमल लेआउट में तीर कुंजियाँ संदेश हाइलाइट करती हैं और **Enter** उन्हें खोलता है; **Escape** या **F6** सूची पर लौटाता है। diff --git a/docs/readme/README.pt_BR.md b/docs/readme/README.pt_BR.md index 35617817..b4dbb964 100644 --- a/docs/readme/README.pt_BR.md +++ b/docs/readme/README.pt_BR.md @@ -95,7 +95,7 @@ Você também pode substituir a cor de uma conta individual e mostrar a cor resu ### 🧵 Conversas -As respostas ficam agrupadas em ordem cronológica, com a mensagem ativa expandida no painel de leitura. +As respostas ficam agrupadas em ordem cronológica, com a mensagem ativa expandida no painel de leitura. Para listar, abrir e tratar cada mensagem separadamente, desative **Visualização de conversa** em Configurações → Geral. Use **Cima/Baixo** para navegar pelas mensagens, **Home/End** para ir à primeira ou à última mensagem carregada e **Page Up/Page Down** para avançar uma página por vez. **Enter** abre a mensagem atual e leva o foco ao conteúdo; **Espaço** marca ou desmarca a mensagem para ações em lote. **Tab/Shift+Tab** alternam entre controles. No espaço completo, **F6** move o foco entre a lista e o leitor. No layout minimalista, as setas destacam mensagens e **Enter** as abre; **Escape** ou **F6** retorna à lista. diff --git a/docs/readme/README.ru.md b/docs/readme/README.ru.md index ea887f9b..f88bb1a1 100644 --- a/docs/readme/README.ru.md +++ b/docs/readme/README.ru.md @@ -95,7 +95,7 @@ S/MIME и OpenPGP на мобильных устройствах пока не ### 🧵 Цепочки писем -Ответы группируются в хронологическом порядке, а активное сообщение разворачивается в панели чтения. +Ответы группируются в хронологическом порядке, а активное сообщение разворачивается в панели чтения. Чтобы показывать, открывать и обрабатывать каждое письмо отдельно, отключите **Цепочки писем** в разделе Настройки → Общие. Используйте **Вверх/Вниз** для перемещения по сообщениям, **Home/End** для перехода к первому или последнему загруженному письму и **Page Up/Page Down** для постраничного перемещения. **Enter** открывает текущее сообщение и переводит фокус на его содержимое; **Пробел** отмечает или снимает отметку для групповых действий. **Tab/Shift+Tab** переключают элементы управления. В полном интерфейсе **F6** переносит фокус между списком писем и областью чтения. В минималистичном виде стрелки выделяют письма, **Enter** открывает их, а **Escape** или **F6** возвращает к списку. diff --git a/docs/readme/README.zh_Hans.md b/docs/readme/README.zh_Hans.md index 82e93d2e..c0c2cb95 100644 --- a/docs/readme/README.zh_Hans.md +++ b/docs/readme/README.zh_Hans.md @@ -93,7 +93,7 @@ Flectar Mail 是一个轻量、原生的客户端,用来承载你的邮件、 ### 🧵 会话线程 -回复按时间顺序归组显示,当前邮件在阅读窗格中展开。 +回复按时间顺序归组显示,当前邮件在阅读窗格中展开。如需逐封列出、打开和处理邮件,可在“设置 → 通用”中关闭 **Conversation view**(会话视图)。 diff --git a/lang/da/LC_MESSAGES/flectar-mail.po b/lang/da/LC_MESSAGES/flectar-mail.po index 9746d2a9..b64becad 100644 --- a/lang/da/LC_MESSAGES/flectar-mail.po +++ b/lang/da/LC_MESSAGES/flectar-mail.po @@ -21,7 +21,7 @@ msgid "Graphite" msgstr "" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "" @@ -384,7 +384,7 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "" @@ -644,1140 +644,1152 @@ msgid "Could not save mail grouping preference: {}" msgstr "" #: ui/app.slint:278 -msgid "Profile changes require local mail data." +msgid "Conversation view updated for this session." msgstr "" #: ui/app.slint:279 -msgid "Profile saved." +msgid "Conversation view preference saved." msgstr "" #: ui/app.slint:280 -msgid "Could not save profile: {}" +msgid "Could not save conversation view preference: {}" msgstr "" #: ui/app.slint:281 -msgid "Account profile updated." +msgid "Profile changes require local mail data." msgstr "" #: ui/app.slint:282 -msgid "Account color changes require local mail data." +msgid "Profile saved." msgstr "" #: ui/app.slint:283 -msgid "Account color updated." +msgid "Could not save profile: {}" msgstr "" #: ui/app.slint:284 -msgid "Could not update account color: {}" +msgid "Account profile updated." msgstr "" #: ui/app.slint:285 -msgid "Could not update account profile: {}" +msgid "Account color changes require local mail data." msgstr "" #: ui/app.slint:286 -msgid "Profile deleted." +msgid "Account color updated." msgstr "" #: ui/app.slint:287 -msgid "Could not delete profile: {}" +msgid "Could not update account color: {}" msgstr "" #: ui/app.slint:288 -msgid "Could not switch profile: {}" +msgid "Could not update account profile: {}" msgstr "" #: ui/app.slint:289 -msgid "Marker preference is active for this session." +msgid "Profile deleted." msgstr "" #: ui/app.slint:290 -msgid "Mail-list marker preference saved." +msgid "Could not delete profile: {}" msgstr "" #: ui/app.slint:291 -msgid "Could not save mail-list marker preference: {}" +msgid "Could not switch profile: {}" msgstr "" #: ui/app.slint:292 -msgid "Workspace layout updated for this session." +msgid "Marker preference is active for this session." msgstr "" #: ui/app.slint:293 -msgid "Workspace layout preference saved." +msgid "Mail-list marker preference saved." msgstr "" #: ui/app.slint:294 -msgid "Could not save workspace layout: {}" +msgid "Could not save mail-list marker preference: {}" msgstr "" #: ui/app.slint:295 +msgid "Workspace layout updated for this session." +msgstr "" + +#: ui/app.slint:296 +msgid "Workspace layout preference saved." +msgstr "" + +#: ui/app.slint:297 +msgid "Could not save workspace layout: {}" +msgstr "" + +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "" -#: ui/app.slint:309 +#: ui/app.slint:312 msgid "System tray behavior is unavailable in this package." msgstr "" -#: ui/app.slint:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "" -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "" -#: ui/app.slint:312 +#: ui/app.slint:315 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" -#: ui/app.slint:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "" -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "" -#: ui/app.slint:316 +#: ui/app.slint:319 msgid "Flectar Mail will no longer start when you sign in." msgstr "" -#: ui/app.slint:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "" -#: ui/app.slint:318 +#: ui/app.slint:321 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" -#: ui/app.slint:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:335 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:379 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:377 +#: ui/app.slint:380 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:382 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:391 +#: ui/app.slint:394 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:397 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:400 +#: ui/app.slint:403 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:430 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:431 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:432 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:433 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:436 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:466 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:470 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:478 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "" -#: ui/app.slint:482 +#: ui/app.slint:485 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:484 +#: ui/app.slint:487 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:488 msgid "Label added." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:512 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:517 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "" -#: ui/app.slint:522 -msgid "Forwarded message" -msgstr "" - -#: ui/app.slint:523 -msgctxt "forwarded message header" -msgid "From: {}" -msgstr "" - -#: ui/app.slint:524 -msgctxt "forwarded message header" -msgid "Date: {}" -msgstr "" - #: ui/app.slint:525 -msgctxt "forwarded message header" -msgid "Subject: {}" +msgid "Forwarded message" msgstr "" #: ui/app.slint:526 msgctxt "forwarded message header" -msgid "To: {}" +msgid "From: {}" msgstr "" #: ui/app.slint:527 -msgid "Attach files to this email" +msgctxt "forwarded message header" +msgid "Date: {}" msgstr "" #: ui/app.slint:528 -msgid "Could not add attachments: {}" +msgctxt "forwarded message header" +msgid "Subject: {}" msgstr "" #: ui/app.slint:529 -msgid "Added 1 attachment." +msgctxt "forwarded message header" +msgid "To: {}" msgstr "" #: ui/app.slint:530 -msgid "Added {} attachments." +msgid "Attach files to this email" msgstr "" #: ui/app.slint:531 +msgid "Could not add attachments: {}" +msgstr "" + +#: ui/app.slint:532 +msgid "Added 1 attachment." +msgstr "" + +#: ui/app.slint:533 +msgid "Added {} attachments." +msgstr "" + +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:536 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:537 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:538 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:555 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:557 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:559 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:560 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:562 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:572 +#: ui/app.slint:575 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2212 +#: ui/app.slint:2220 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2213 +#: ui/app.slint:2221 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -1852,7 +1864,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "" #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "" @@ -1975,7 +1987,7 @@ msgid "" msgstr "" #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "" @@ -2009,7 +2021,7 @@ msgstr "" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "" @@ -2195,7 +2207,7 @@ msgid "Export decrypted message" msgstr "" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "" @@ -2243,7 +2255,7 @@ msgid "Show calendars" msgstr "" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "" @@ -2641,7 +2653,7 @@ msgstr "" msgid "On" msgstr "" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "" @@ -3130,8 +3142,8 @@ msgstr[1] "" msgid "Files" msgstr "" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "" @@ -3139,7 +3151,7 @@ msgstr "" msgid "Settings" msgstr "" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "" @@ -3148,7 +3160,7 @@ msgid "Close tab" msgstr "" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "" @@ -3334,7 +3346,7 @@ msgstr "" msgid "Close tabs to the right" msgstr "" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "" @@ -3346,7 +3358,7 @@ msgstr "" msgid "Zoom percentage" msgstr "" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "" @@ -3679,11 +3691,11 @@ msgstr "" msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "" -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "" @@ -3853,7 +3865,7 @@ msgstr "" msgid "Continue in background" msgstr "" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "" @@ -3871,7 +3883,7 @@ msgid_plural "Import {n} accounts" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "" @@ -4211,7 +4223,7 @@ msgstr "" msgid "Report issue" msgstr "" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "" @@ -4303,799 +4315,809 @@ msgstr "" msgid "Learn more" msgstr "" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" msgstr "" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" msgstr "" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" msgstr "" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "" -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "" -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "" -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "" -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "" -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "" -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "" -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "" -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "" -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." msgstr "" -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." msgstr "" -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." msgstr "" -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." msgstr "" -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." msgstr "" -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." msgstr "" -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "" -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "" -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "" -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." msgstr "" -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "" "See what Flectar Mail stores locally and manage the data on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." msgstr "" -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5105,605 +5127,605 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "" -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "" -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." msgstr "" -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." msgstr "" -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "" -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "" -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." msgstr "" -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "" -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 msgid "Port" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "" -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " "servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." msgstr "" -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "" -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "" diff --git a/lang/de/LC_MESSAGES/flectar-mail.po b/lang/de/LC_MESSAGES/flectar-mail.po index 2aa6b1aa..d4c36181 100644 --- a/lang/de/LC_MESSAGES/flectar-mail.po +++ b/lang/de/LC_MESSAGES/flectar-mail.po @@ -23,7 +23,7 @@ msgid "Graphite" msgstr "" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "" @@ -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:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "Lade lokale Daten…" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "Lokale Daten bereit." @@ -646,1143 +646,1155 @@ msgid "Could not save mail grouping preference: {}" msgstr "" #: ui/app.slint:278 -msgid "Profile changes require local mail data." +msgid "Conversation view updated for this session." msgstr "" #: ui/app.slint:279 -msgid "Profile saved." +msgid "Conversation view preference saved." msgstr "" #: ui/app.slint:280 -msgid "Could not save profile: {}" +msgid "Could not save conversation view preference: {}" msgstr "" #: ui/app.slint:281 -msgid "Account profile updated." +msgid "Profile changes require local mail data." msgstr "" #: ui/app.slint:282 -msgid "Account color changes require local mail data." +msgid "Profile saved." msgstr "" #: ui/app.slint:283 -msgid "Account color updated." +msgid "Could not save profile: {}" msgstr "" #: ui/app.slint:284 -msgid "Could not update account color: {}" +msgid "Account profile updated." msgstr "" #: ui/app.slint:285 -msgid "Could not update account profile: {}" +msgid "Account color changes require local mail data." msgstr "" #: ui/app.slint:286 -msgid "Profile deleted." +msgid "Account color updated." msgstr "" #: ui/app.slint:287 -msgid "Could not delete profile: {}" +msgid "Could not update account color: {}" msgstr "" #: ui/app.slint:288 -msgid "Could not switch profile: {}" +msgid "Could not update account profile: {}" msgstr "" #: ui/app.slint:289 -msgid "Marker preference is active for this session." +msgid "Profile deleted." msgstr "" #: ui/app.slint:290 -msgid "Mail-list marker preference saved." +msgid "Could not delete profile: {}" msgstr "" #: ui/app.slint:291 -msgid "Could not save mail-list marker preference: {}" +msgid "Could not switch profile: {}" msgstr "" #: ui/app.slint:292 -msgid "Workspace layout updated for this session." +msgid "Marker preference is active for this session." msgstr "" #: ui/app.slint:293 -msgid "Workspace layout preference saved." +msgid "Mail-list marker preference saved." msgstr "" #: ui/app.slint:294 -msgid "Could not save workspace layout: {}" +msgid "Could not save mail-list marker preference: {}" msgstr "" #: ui/app.slint:295 +msgid "Workspace layout updated for this session." +msgstr "" + +#: ui/app.slint:296 +msgid "Workspace layout preference saved." +msgstr "" + +#: ui/app.slint:297 +msgid "Could not save workspace layout: {}" +msgstr "" + +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "" -#: ui/app.slint:309 +#: ui/app.slint:312 msgid "System tray behavior is unavailable in this package." msgstr "" -#: ui/app.slint:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "" -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "" -#: ui/app.slint:312 +#: ui/app.slint:315 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" -#: ui/app.slint:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "" -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "" -#: ui/app.slint:316 +#: ui/app.slint:319 msgid "Flectar Mail will no longer start when you sign in." msgstr "" -#: ui/app.slint:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "" -#: ui/app.slint:318 +#: ui/app.slint:321 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" -#: ui/app.slint:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:335 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:379 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:377 +#: ui/app.slint:380 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:382 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:391 +#: ui/app.slint:394 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:397 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:400 +#: ui/app.slint:403 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:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "Lokaler Kalender" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:430 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:431 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:432 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:433 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:436 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "Die Einstellungen für gesendete Kopien erfordern lokale E-Mail-Daten." -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "Einstellungen für gesendete Kopien werden aktualisiert…" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "Einstellungen für gesendete Kopien aktualisiert." -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "" "Einstellungen für gesendete Kopien konnten nicht aktualisiert werden: {}" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:466 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:470 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:478 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "" -#: ui/app.slint:482 +#: ui/app.slint:485 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:484 +#: ui/app.slint:487 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:488 msgid "Label added." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:512 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:517 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "" -#: ui/app.slint:522 -msgid "Forwarded message" -msgstr "" - -#: ui/app.slint:523 -msgctxt "forwarded message header" -msgid "From: {}" -msgstr "" - -#: ui/app.slint:524 -msgctxt "forwarded message header" -msgid "Date: {}" -msgstr "" - #: ui/app.slint:525 -msgctxt "forwarded message header" -msgid "Subject: {}" +msgid "Forwarded message" msgstr "" #: ui/app.slint:526 msgctxt "forwarded message header" -msgid "To: {}" +msgid "From: {}" msgstr "" #: ui/app.slint:527 -msgid "Attach files to this email" +msgctxt "forwarded message header" +msgid "Date: {}" msgstr "" #: ui/app.slint:528 -msgid "Could not add attachments: {}" +msgctxt "forwarded message header" +msgid "Subject: {}" msgstr "" #: ui/app.slint:529 -msgid "Added 1 attachment." +msgctxt "forwarded message header" +msgid "To: {}" msgstr "" #: ui/app.slint:530 -msgid "Added {} attachments." +msgid "Attach files to this email" msgstr "" #: ui/app.slint:531 +msgid "Could not add attachments: {}" +msgstr "" + +#: ui/app.slint:532 +msgid "Added 1 attachment." +msgstr "" + +#: ui/app.slint:533 +msgid "Added {} attachments." +msgstr "" + +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:536 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:537 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:538 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:555 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:557 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:559 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:560 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:562 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:572 +#: ui/app.slint:575 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2212 +#: ui/app.slint:2220 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2213 +#: ui/app.slint:2221 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -1857,7 +1869,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "" #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "" @@ -1980,7 +1992,7 @@ msgid "" msgstr "" #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "" @@ -2014,7 +2026,7 @@ msgstr "" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "" @@ -2200,7 +2212,7 @@ msgid "Export decrypted message" msgstr "" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "" @@ -2248,7 +2260,7 @@ msgid "Show calendars" msgstr "" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "" @@ -2646,7 +2658,7 @@ msgstr "" msgid "On" msgstr "" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "" @@ -3135,8 +3147,8 @@ msgstr[1] "" msgid "Files" msgstr "" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "" @@ -3144,7 +3156,7 @@ msgstr "" msgid "Settings" msgstr "" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "" @@ -3153,7 +3165,7 @@ msgid "Close tab" msgstr "" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "" @@ -3341,7 +3353,7 @@ msgstr "" msgid "Close tabs to the right" msgstr "" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "" @@ -3353,7 +3365,7 @@ msgstr "" msgid "Zoom percentage" msgstr "" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "" @@ -3686,11 +3698,11 @@ msgstr "" msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "" -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "" @@ -3860,7 +3872,7 @@ msgstr "" msgid "Continue in background" msgstr "" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "" @@ -3878,7 +3890,7 @@ msgid_plural "Import {n} accounts" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "" @@ -4218,7 +4230,7 @@ msgstr "" msgid "Report issue" msgstr "" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "" @@ -4310,801 +4322,811 @@ msgstr "" msgid "Learn more" msgstr "" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" msgstr "" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" msgstr "" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" msgstr "" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "" -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "" -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "" -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "" -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "" -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "" -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "" -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "" -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "" -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." msgstr "" -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." msgstr "" -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." msgstr "" -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." msgstr "" -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." msgstr "" -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." msgstr "" -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "" -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "Gesendete Kopien" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" "Wähle, wer gesendete E-Mails speichert. Verwende Flectar, wenn dein Server " "keine Kopie speichert." -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "Anbieterstandard" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "Server speichert eine Kopie" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "Flectar speichert eine Kopie" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "" -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "" -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." msgstr "" -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "" "See what Flectar Mail stores locally and manage the data on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." msgstr "" -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5114,605 +5136,605 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "" -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "" -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." msgstr "" -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." msgstr "" -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "" -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "" -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." msgstr "" -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "" -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 msgid "Port" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "" -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " "servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." msgstr "" -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "" -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "" diff --git a/lang/es/LC_MESSAGES/flectar-mail.po b/lang/es/LC_MESSAGES/flectar-mail.po index 6fd1295b..c4440f44 100644 --- a/lang/es/LC_MESSAGES/flectar-mail.po +++ b/lang/es/LC_MESSAGES/flectar-mail.po @@ -23,7 +23,7 @@ msgid "Graphite" msgstr "Grafito" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "Claro" @@ -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:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "Cargando datos locales…" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "Datos locales listos." @@ -654,176 +654,188 @@ msgid "Could not save mail grouping preference: {}" msgstr "No se pudo guardar la preferencia de agrupación de mensajes: {}" #: ui/app.slint:278 +msgid "Conversation view updated for this session." +msgstr "La vista de conversación se actualizó durante esta sesión." + +#: ui/app.slint:279 +msgid "Conversation view preference saved." +msgstr "Preferencia de vista de conversación guardada." + +#: ui/app.slint:280 +msgid "Could not save conversation view preference: {}" +msgstr "No se pudo guardar la preferencia de vista de conversación: {}" + +#: ui/app.slint:281 msgid "Profile changes require local mail data." msgstr "Los cambios de perfil requieren los datos de correo locales." -#: ui/app.slint:279 +#: ui/app.slint:282 msgid "Profile saved." msgstr "Perfil guardado." -#: ui/app.slint:280 +#: ui/app.slint:283 msgid "Could not save profile: {}" msgstr "No se pudo guardar el perfil: {}" -#: ui/app.slint:281 +#: ui/app.slint:284 msgid "Account profile updated." msgstr "Perfil de la cuenta actualizado." -#: ui/app.slint:282 +#: ui/app.slint:285 msgid "Account color changes require local mail data." msgstr "Los cambios de color de la cuenta requieren datos de correo locales." -#: ui/app.slint:283 +#: ui/app.slint:286 msgid "Account color updated." msgstr "Color de la cuenta actualizado." -#: ui/app.slint:284 +#: ui/app.slint:287 msgid "Could not update account color: {}" msgstr "No se pudo actualizar el color de la cuenta: {}" -#: ui/app.slint:285 +#: ui/app.slint:288 msgid "Could not update account profile: {}" msgstr "No se pudo actualizar el perfil de la cuenta: {}" -#: ui/app.slint:286 +#: ui/app.slint:289 msgid "Profile deleted." msgstr "Perfil eliminado." -#: ui/app.slint:287 +#: ui/app.slint:290 msgid "Could not delete profile: {}" msgstr "No se pudo eliminar el perfil: {}" -#: ui/app.slint:288 +#: ui/app.slint:291 msgid "Could not switch profile: {}" msgstr "No se pudo cambiar de perfil: {}" -#: ui/app.slint:289 +#: ui/app.slint:292 msgid "Marker preference is active for this session." msgstr "La preferencia del indicador está activa durante esta sesión." -#: ui/app.slint:290 +#: ui/app.slint:293 msgid "Mail-list marker preference saved." msgstr "Preferencia del indicador de la lista de correo guardada." -#: ui/app.slint:291 +#: ui/app.slint:294 msgid "Could not save mail-list marker preference: {}" msgstr "" "No se pudo guardar la preferencia del indicador de la lista de correo: {}" -#: ui/app.slint:292 +#: ui/app.slint:295 msgid "Workspace layout updated for this session." msgstr "" "La disposición del espacio de trabajo se actualizó durante esta sesión." -#: ui/app.slint:293 +#: ui/app.slint:296 msgid "Workspace layout preference saved." msgstr "Preferencia de disposición del espacio de trabajo guardada." -#: ui/app.slint:294 +#: ui/app.slint:297 msgid "Could not save workspace layout: {}" msgstr "No se pudo guardar la disposición del espacio de trabajo: {}" -#: ui/app.slint:295 +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "No se pudo guardar el ancho del panel de lista: {}" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "Se abrió {}" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "No se pudo abrir el enlace: {}" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "Código fuente HTML copiado" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "Texto seleccionado copiado" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "Texto del correo copiado" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "Enlace copiado" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "Falló la renderización por software de la selección en Blitz: {}" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "Falló la renderización por software de los mosaicos en Blitz: {}" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "Mensaje listo." -#: ui/app.slint:309 +#: ui/app.slint:312 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:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "Cerrar a la bandeja está activo durante esta sesión." -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "Guardando el comportamiento de cierre…" -#: ui/app.slint:312 +#: ui/app.slint:315 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:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "Al cerrar la ventana, Flectar Mail se cerrará por completo." -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "No se pudo guardar el comportamiento de cierre: {}" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "Flectar Mail se iniciará al iniciar sesión." -#: ui/app.slint:316 +#: ui/app.slint:319 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:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "No se pudo cambiar el comportamiento de inicio: {}" -#: ui/app.slint:318 +#: ui/app.slint:321 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:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "Instantánea de la base de datos exportada a {}." -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "Elige dónde exportar el correo" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "Exportando el correo…" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "Correo exportado a {}." -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." @@ -831,398 +843,398 @@ msgstr "" "Correo exportado a {}. Algunos mensajes no se encontraron ni en este " "dispositivo ni en el servidor de correo." -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "No se pudo exportar el correo: {}" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "No se pudo exportar la instantánea de la base de datos: {}" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "Orden de las cuentas guardado." -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "No se pudo guardar el orden de las cuentas: {}" -#: ui/app.slint:332 +#: ui/app.slint:335 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:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "Cuenta eliminada de este dispositivo." -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "Cuenta eliminada. Se volverá a intentar actualizar el correo." -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "Cuenta eliminada; hay que volver a intentar la limpieza local: {}" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "No se pudo eliminar la cuenta: {}" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "Eliminando cuenta…" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "Eliminando el correo de este dispositivo…" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "Se eliminó el correo de este dispositivo." -#: ui/app.slint:340 +#: ui/app.slint:343 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:341 +#: ui/app.slint:344 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:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "No se pudo eliminar el correo de este dispositivo: {}" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "Sincronizando cuenta…" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "No se pudo actualizar el historial de correo: {}" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "Se conectó {}. La sincronización inicial se ejecuta en segundo plano." -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "Falló la configuración de la cuenta: {}" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "Falló OAuth: {}" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "Se volvió a conectar {}. La sincronización se está reanudando." -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "Falló la reconexión: {}" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "Calendario conectado y sincronización inicial iniciada." -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "No se pudo conectar el calendario: {}" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "Sincronización del calendario activada." -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "Sincronización del calendario en pausa." -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "No se pudo actualizar la sincronización del calendario: {}" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "CalDAV conectado y sincronización inicial iniciada." -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "No se pudo conectar CalDAV: {}" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "Calendario eliminado." -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "No se pudo eliminar el calendario: {}" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "CardDAV conectado y sincronización inicial iniciada." -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "No se pudo conectar CardDAV: {}" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "Sincronización de CardDAV activada." -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "Sincronización de CardDAV en pausa." -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "No se pudo actualizar la sincronización de CardDAV: {}" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "CardDAV desconectado." -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "No se pudo desconectar CardDAV: {}" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "Conecta una cuenta antes de crear una copia de seguridad." -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "Exportar copia de seguridad de cuentas de Flectar Mail" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "Copia de seguridad de Flectar Mail" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 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:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "Elige un perfil de Thunderbird o una carpeta de correo" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "Mensajes importados" -#: ui/app.slint:376 +#: ui/app.slint:379 msgid "Choose where to export the database snapshot" msgstr "Elige dónde exportar la instantánea de la base de datos" -#: ui/app.slint:377 +#: ui/app.slint:380 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:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "No se pudo exportar la copia de seguridad: {}" -#: ui/app.slint:379 +#: ui/app.slint:382 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:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "Creando una instantánea verificada de la base de datos…" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "Se eliminaron todos los datos locales de Flectar Mail." -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "No se pudieron eliminar todos los datos locales: {}" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "Eliminando las cuentas locales y los datos en caché…" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "Falló la actualización del correo en segundo plano: {}" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "No hay conversaciones en esta carpeta" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "Ninguna conversación coincide con esta búsqueda" -#: ui/app.slint:391 +#: ui/app.slint:394 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:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "Mensaje grande renderizado en modo de compatibilidad." -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "Falló la renderización por software del correo: {}" -#: ui/app.slint:394 +#: ui/app.slint:397 msgid "Rendered with software fallback after GPU error: {}" msgstr "Renderizado por software tras un error de la GPU: {}" -#: ui/app.slint:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Falló la renderización de Blitz (GPU: {}; software: {})" -#: ui/app.slint:400 +#: ui/app.slint:403 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:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "No se pudo guardar: el almacenamiento de contactos no está disponible." -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "No se pudo guardar el contacto: {}" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "Contacto guardado." -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "Guardado en contactos." -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "" "No se pudo eliminar: el almacenamiento de contactos no está disponible." -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "No se pudo eliminar el contacto: {}" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "Contacto eliminado." -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "No se pudieron cargar los contactos: {}" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "El almacenamiento local de contactos aún se está iniciando…" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "Cargando contactos…" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "Calendario local" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "Calendario" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "No se pudo cargar el calendario: {}" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "Calendario visible y sincronizándose." -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "Calendario oculto y sincronización en pausa." -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "Falló la actualización del calendario: {}" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "Solo se pueden editar los eventos creados en Flectar Mail." -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "Solo se pueden eliminar los eventos creados en Flectar Mail." -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "El almacenamiento del calendario no está disponible." -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "No se pudo eliminar el evento: {}" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "El evento se eliminó, pero falló la actualización: {}" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "Evento eliminado." -#: ui/app.slint:427 +#: ui/app.slint:430 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:428 +#: ui/app.slint:431 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:429 +#: ui/app.slint:432 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:430 +#: ui/app.slint:433 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:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "No se pudo guardar el evento: {}" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "El evento se guardó, pero falló la actualización: {}" -#: ui/app.slint:433 +#: ui/app.slint:436 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:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "Falló la renderización de un recurso del correo: {}" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "Falló la actualización del mensaje: {}" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "Falló la carga del mensaje: {}" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." @@ -1230,315 +1242,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:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "Falló el inicio del almacenamiento local." -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "No se pudo identificar la cuenta arrastrada." -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "Para ordenar las cuentas se necesitan los datos de correo locales." -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "No se encontró la cuenta que se iba a reordenar." -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "Guardando el orden de las cuentas…" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "La configuración de copias enviadas requiere datos de correo locales." -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "Actualizando la configuración de copias enviadas…" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "Configuración de copias enviadas actualizada." -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "No se pudo actualizar la configuración de copias enviadas: {}" -#: ui/app.slint:457 +#: ui/app.slint:460 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:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "Actualizando la configuración del correo en el servidor…" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "Configuración del correo en el servidor actualizada." -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "No se pudo actualizar la configuración del correo en el servidor: {}" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "El historial de correo necesita los datos de correo locales." -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "Actualizando el historial de correo…" -#: ui/app.slint:463 +#: ui/app.slint:466 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:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "No se pudo guardar el ajuste de imágenes remotas: {}" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "Los iconos remotos de los remitentes no están disponibles: {}" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "Las imágenes remotas no están disponibles: {}" -#: ui/app.slint:467 +#: ui/app.slint:470 msgid "Remote body images and sender favicons enabled." msgstr "Imágenes remotas del cuerpo e iconos de remitentes activados." -#: ui/app.slint:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "Imágenes remotas bloqueadas." -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "No se pudieron actualizar las imágenes del mensaje: {}" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "La carga de imágenes remotas está desactivada." -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "No se pudieron cargar las imágenes del mensaje: {}" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "La sincronización terminó, pero falló la actualización: {}" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "Sincronización completada." -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "Falló la sincronización: {}" -#: ui/app.slint:475 +#: ui/app.slint:478 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:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "Sincronizando cuentas…" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "Acción del mensaje completada." -#: ui/app.slint:482 +#: ui/app.slint:485 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:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "Falló la acción del mensaje: {}" -#: ui/app.slint:484 +#: ui/app.slint:487 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:485 +#: ui/app.slint:488 msgid "Label added." msgstr "Etiqueta agregada." -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "Etiqueta eliminada." -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "Etiqueta creada y agregada." -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "Etiqueta creada." -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "Etiqueta actualizada." -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "Etiqueta eliminada." -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "No se pudo actualizar la etiqueta: {}" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "No se pudo guardar la etiqueta: {}" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "No se pudo eliminar la etiqueta: {}" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "Carpeta creada." -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "Carpeta renombrada." -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "Carpeta eliminada." -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "No se pudo crear la carpeta: {}" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "No se pudo renombrar la carpeta: {}" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "No se pudo eliminar la carpeta: {}" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "No se pudo cerrar la vista previa: {}" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "Se abrió la vista de impresión del sistema." -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "No se pudo imprimir el mensaje: {}" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "Se abrió el mensaje en el navegador." -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "No se pudo abrir el mensaje en el navegador: {}" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "Conecta una cuenta antes de responder o reenviar." -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "Elige primero un mensaje." -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "Solo se pueden volver a abrir borradores para editarlos." -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "No se pudo abrir el borrador: {}" -#: ui/app.slint:509 +#: ui/app.slint:512 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:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "Cuenta conectada" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "No se pudo abrir el editor: {}" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "Añade una cuenta para enviar correo." -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "En este dispositivo" -#: ui/app.slint:514 +#: ui/app.slint:517 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:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "El {}, {} escribió:" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "{} escribió:" -#: ui/app.slint:522 +#: ui/app.slint:525 msgid "Forwarded message" msgstr "Mensaje reenviado" -#: ui/app.slint:523 +#: ui/app.slint:526 msgctxt "forwarded message header" msgid "From: {}" msgstr "De: {}" -#: ui/app.slint:524 +#: ui/app.slint:527 msgctxt "forwarded message header" msgid "Date: {}" msgstr "Fecha: {}" -#: ui/app.slint:525 +#: ui/app.slint:528 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "Asunto: {}" -#: ui/app.slint:526 +#: ui/app.slint:529 msgctxt "forwarded message header" msgid "To: {}" msgstr "Para: {}" -#: ui/app.slint:527 +#: ui/app.slint:530 msgid "Attach files to this email" msgstr "Adjuntar archivos a este correo" -#: ui/app.slint:528 +#: ui/app.slint:531 msgid "Could not add attachments: {}" msgstr "No se pudieron añadir los archivos adjuntos: {}" -#: ui/app.slint:529 +#: ui/app.slint:532 msgid "Added 1 attachment." msgstr "Se añadió 1 archivo adjunto." -#: ui/app.slint:530 +#: ui/app.slint:533 msgid "Added {} attachments." msgstr "Se añadieron {} archivos adjuntos." -#: ui/app.slint:531 +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." @@ -1546,125 +1558,125 @@ msgstr "" "Archivos adjuntos añadidos: {}. Omitidos: {} (duplicados, ilegibles o por " "superar el límite total de 25 MB)." -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "Archivo adjunto eliminado." -#: ui/app.slint:533 +#: ui/app.slint:536 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:534 +#: ui/app.slint:537 msgid "Choose a verified sender identity for this message." msgstr "Elige una identidad de remitente verificada para este mensaje." -#: ui/app.slint:535 +#: ui/app.slint:538 msgid "Connect an account before saving or sending mail." msgstr "Conecta una cuenta antes de guardar o enviar correo." -#: ui/app.slint:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "Mensaje en cola para su entrega (acción {})." -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "Enviando mensaje…" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "Mensaje enviado." -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "El mensaje no se envió: {} El borrador se ha conservado." -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "Borrador guardado localmente (#{})." -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "Falló la redacción: {}" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "Conecta una cuenta antes de gestionar plantillas de correo." -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "No se pudieron cargar las plantillas de correo: {}" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "Escribe un nombre para la plantilla." -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "Añade un asunto o mensaje a la plantilla." -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "Plantilla de correo guardada." -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "No se pudo guardar la plantilla de correo: {}" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "Plantilla de correo eliminada." -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "No se pudo eliminar la plantilla de correo: {}" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "La plantilla de correo ya no está disponible." -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "Plantilla de correo insertada." -#: ui/app.slint:552 +#: ui/app.slint:555 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:553 +#: ui/app.slint:556 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:554 +#: ui/app.slint:557 msgid "IMAP port must be between 1 and 65535." msgstr "El puerto IMAP debe estar entre 1 y 65535." -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "El puerto POP3 debe estar entre 1 y 65535." -#: ui/app.slint:556 +#: ui/app.slint:559 msgid "SMTP port must be between 1 and 65535." msgstr "El puerto SMTP debe estar entre 1 y 65535." -#: ui/app.slint:557 +#: ui/app.slint:560 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:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "Detectando JMAP y comprobando sus capacidades…" -#: ui/app.slint:559 +#: ui/app.slint:562 msgid "Certificate imported. Connect to verify the server." msgstr "Certificado importado. Conecta para verificar el servidor." -#: ui/app.slint:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "No se pudieron cargar las preferencias de la cuenta: {}" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." @@ -1672,19 +1684,19 @@ msgstr "" "Se conservó la firma que editaste. Elige Sin firma para mantenerla como " "texto del mensaje antes de insertar otra." -#: ui/app.slint:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "Error al importar el certificado: {}" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "Comprobando las conexiones IMAP y SMTP…" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "Comprobando las conexiones POP3 y SMTP…" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." @@ -1692,150 +1704,150 @@ msgstr "" "Ya hay otra autorización del navegador en curso; termínala o selecciona " "Cancelar." -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "Elige OAuth de Gmail o Outlook." -#: ui/app.slint:572 +#: ui/app.slint:575 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:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "Cancelando el inicio de sesión en el navegador…" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "Finalizando el inicio de sesión en el navegador…" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "No se pudo usar esa dirección del navegador: {}" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "El núcleo del calendario no está disponible." -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "La cuenta ya no existe." -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "Autoriza el acceso al calendario en el navegador." -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "Claves de la aplicación OAuth guardadas." -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "Ajustes de OAuth de {} guardados." -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "Fallaron los ajustes de OAuth: {}" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "Falló la actualización del correo: {}" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "Falló el filtro de correo: {}" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "Falló la paginación del correo: {}" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "No se pudo marcar el mensaje como leído: {}" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "Cargando mensaje…" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "Etiquetas globales (solo locales)" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "¿Vaciar la papelera?" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "¿Eliminar permanentemente?" -#: ui/app.slint:2212 +#: ui/app.slint:2220 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:2213 +#: ui/app.slint:2221 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:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "" "¿Eliminar permanentemente las conversaciones seleccionadas de la papelera?" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "¿Eliminar permanentemente esta conversación de la papelera?" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "Esta acción no se puede deshacer." -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "Vaciar la papelera" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "Eliminar permanentemente" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "Error al iniciar el buzón" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail no pudo abrir el almacenamiento local" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "ID de diagnóstico: {}" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "ID de diagnóstico {}" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "Reintentar" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "Copiar datos de diagnóstico" @@ -1910,7 +1922,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "Las invitaciones a los eventos que crees aquí se envían desde {}." #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "Añadir calendario CalDAV" @@ -2047,7 +2059,7 @@ msgstr "" "mensaje." #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "Dirección de correo" @@ -2081,7 +2093,7 @@ msgstr "Añadir dirección de remitente" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "Cancelar" @@ -2293,7 +2305,7 @@ msgid "Export decrypted message" msgstr "Exportar mensaje descifrado" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "Cerrar" @@ -2347,7 +2359,7 @@ msgid "Show calendars" msgstr "Mostrar calendarios" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "Restablecer" @@ -2747,7 +2759,7 @@ msgstr "Confirmar" msgid "On" msgstr "Activado" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "Desactivado" @@ -3250,8 +3262,8 @@ msgstr[1] "{n} pestañas abiertas" msgid "Files" msgstr "Archivos" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "Contactos" @@ -3259,7 +3271,7 @@ msgstr "Contactos" msgid "Settings" msgstr "Ajustes" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "Correo" @@ -3268,7 +3280,7 @@ msgid "Close tab" msgstr "Cerrar pestaña" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "Pestañas" @@ -3456,7 +3468,7 @@ msgstr "Cerrar las demás pestañas" msgid "Close tabs to the right" msgstr "Cerrar las pestañas de la derecha" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "Alejar" @@ -3468,7 +3480,7 @@ msgstr "Restablecer zoom ({}%)" msgid "Zoom percentage" msgstr "Porcentaje de zoom" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "Acercar" @@ -3825,11 +3837,11 @@ msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" "Esta cuenta se sincroniza con {} en lugar de descargar el correo con POP3." -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "El correo se elimina del servidor en cuanto está en este dispositivo." -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "El correo que elimines aquí también se elimina del servidor." @@ -4022,7 +4034,7 @@ msgstr "Detener" msgid "Continue in background" msgstr "Continuar en segundo plano" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "Elegir carpeta…" @@ -4040,7 +4052,7 @@ msgid_plural "Import {n} accounts" msgstr[0] "Importar una cuenta" msgstr[1] "Importar {n} cuentas" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "Importar" @@ -4419,7 +4431,7 @@ msgstr "Copiar código fuente" msgid "Report issue" msgstr "Informar de un problema" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "Sincronizar" @@ -4513,122 +4525,122 @@ msgstr "Próximamente" msgid "Learn more" msgstr "Ver detalles" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "Cada minuto" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "Cada 5 minutos" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "Cada 15 minutos" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "Correo importante" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "Todo el correo nuevo" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "1 mes" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "3 meses" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "6 meses · Recomendado" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "1 año" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "Todo el correo" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "Siempre" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "Hasta eliminarlo aquí" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "7 días" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "14 días" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "30 días" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "Hasta descargarlo" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "Idioma del sistema" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "Inglés" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "Español" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "Turco" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "Chino simplificado" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "Ruso" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "Automático" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "12 horas" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "24 horas" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" "general tema apariencia paleta icono de la aplicación dock barra de tareas " "lanzador idioma hora reloj 12 horas 24 horas espacio de trabajo disposición " "ventana sin marco barra de título renderizador privacidad imágenes remotas " "sincronización agrupar mensajes fecha bandeja de entrada bandeja del sistema " "segundo plano inicio iniciar sesión descarga ubicación carpeta adjuntos " -"guardar pestañas" +"guardar pestañas conversaciones hilos" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" @@ -4636,7 +4648,7 @@ msgstr "" "cuentas perfiles personal trabajo colores proveedores gmail outlook imap " "pop3 jmap caldav carddav correo historial servidor oauth seguridad firmas" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" @@ -4644,11 +4656,11 @@ msgstr "" "contactos personas sugerencias autocompletar destinatarios remitentes " "libreta de direcciones privacidad borrar" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "notificaciones alertas sonidos escritorio correo nuevo" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" @@ -4656,7 +4668,7 @@ msgstr "" "atajos teclado teclas redactar buscar archivar spam correo no deseado " "papelera eliminar navegación mensajes lectura encontrar zoom cursor pestañas" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" @@ -4664,7 +4676,7 @@ msgstr "" "almacenamiento datos uso correo adjuntos archivos bases de datos copia de " "seguridad instantánea importar exportar eliminar" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" @@ -4672,304 +4684,316 @@ msgstr "" "servicios flectar base cuenta iniciar sesión suscripción pago sincronización " "dispositivos correo empresarial dominio personalizado buzón" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "acerca de versión créditos colaboradores licencia flectar" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "AJUSTES" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "No se encontraron ajustes" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "General" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "Cuentas" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "Notificaciones" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "Atajos" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "Almacenamiento" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "Servicios" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "Acerca de" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "Gestiona la apariencia, la privacidad y la sincronización." -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "Apariencia de los mensajes" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "Elige los colores de fondo y de texto para leer los mensajes." -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "Seguir el tema de la aplicación" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "Interfaz" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "Iconos monocromos en la barra lateral" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "Usa un único color neutro para los iconos de buzones y carpetas." -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "Sin avatares" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "" "Oculta las imágenes de los remitentes en la lista de mensajes y el lector." -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" "Mantén abiertos en pestañas varios buzones, conversaciones y otros lugares." -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "Ventana sin marco" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "" "Sustituye la barra de título del sistema por controles de ventana en la " "barra de herramientas." -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "Diseño del espacio de trabajo" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "Mínimo" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "Idioma y hora" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "Idioma de la interfaz" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "Usa el idioma del dispositivo cuando haya una traducción disponible." -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "Elige el idioma que se usa en Flectar Mail." -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "Formato de hora" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "Sigue la convención de tu región, por ejemplo {}." -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "Las horas se muestran como {}." -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "Comportamiento de la bandeja de entrada" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "Bandeja unificada" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "PREDETERMINADO" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "Combina los mensajes entrantes de todas las cuentas conectadas." -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "Agrupar mensajes por fecha" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "" "Mostrar secciones por fecha que se pueden contraer en la lista de mensajes." -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "Vista de conversación" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" +"Agrupa las respuestas con los mensajes a los que responden. Desactívala para " +"ver, abrir y gestionar cada mensaje por separado." + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "Marcar los mensajes como leídos al abrirlos" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "" "Desactiva esta opción para mantenerlos sin leer hasta que los cambies " "manualmente." -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "Imágenes remotas" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "" "Carga los iconos de los remitentes y las imágenes incluidas en los mensajes." -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "No disponible en esta compilación mínima." -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" "Desactivadas de forma predeterminada para bloquear píxeles de seguimiento y " "reducir el uso de memoria." -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "Seguir ejecutándose en la bandeja del sistema" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" "Al cerrar la ventana, Flectar Mail se oculta mientras el correo sigue " "sincronizándose." -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "" "Desactivado de forma predeterminada; Salir en el menú de la bandeja detiene " "la aplicación." -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "Iniciar automáticamente" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "Inicia Flectar Mail en la bandeja del sistema al iniciar sesión." -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "Abre Flectar Mail al iniciar sesión." -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" "Desactivado de forma predeterminada; también aparece en las aplicaciones de " "inicio del sistema." -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "Sincronización y notificaciones" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "Buscar correo nuevo" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "" "Con qué frecuencia actualizar cuando no haya una actualización instantánea " "del proveedor." -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "Notificaciones de escritorio" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "Elige qué mensajes entrantes pueden enviarte alertas." -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "La sincronización del proveedor está lista." -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "Sincronizando…" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "Sincronizar ahora" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "Motor de renderizado" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "Los cambios se aplican al reiniciar Flectar Mail." -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "El modo GPU no está disponible en esta compilación." -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "CPU — Bajo consumo de memoria" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" "No se pudo iniciar GPU — WGPU, así que se usa CPU — Bajo consumo de memoria." -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "Es necesario reiniciar. El motor actual sigue activo." -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "Activo: GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "Activo: CPU — Bajo consumo de memoria" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "Ubicación de descarga" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." @@ -4977,7 +5001,7 @@ msgstr "" "Al guardar un adjunto se pregunta dónde guardarlo, empezando por la carpeta " "que sugiere el sistema." -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." @@ -4985,11 +5009,11 @@ msgstr "" "Mantén tu libreta de direcciones ordenada y encuentra fácilmente a los " "destinatarios frecuentes." -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "Recordar a las personas a quienes escribo" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." @@ -4997,11 +5021,11 @@ msgstr "" "Mientras esté activado, recuerda los destinatarios de Para, Cc y Cco de los " "nuevos envíos y del correo Enviado sincronizado." -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "Recordar remitentes" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." @@ -5009,11 +5033,11 @@ msgstr "" "Recuerda a los remitentes reales del correo nuevo. Se excluyen los mensajes " "automáticos, de spam, de la papelera y el correo existente." -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "Usar sugerencias de todas las cuentas" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." @@ -5022,11 +5046,11 @@ msgstr "" "conectada. Desactívalo para mantener los destinatarios aprendidos separados " "por cuenta." -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "Usar sugerencias al redactar" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." @@ -5034,11 +5058,11 @@ msgstr "" "Incluye las personas recordadas en el autocompletado de destinatarios. Los " "contactos guardados y de CardDAV siempre están disponibles." -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "Personas sugeridas" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." @@ -5047,15 +5071,15 @@ msgstr "" "locales y nunca se sincronizan con CardDAV. Bórralas cuando quieras para " "reiniciar el aprendizaje." -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "Borrar ahora" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "Borrar personas sugeridas" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." @@ -5063,7 +5087,7 @@ msgstr "" "Gestiona los buzones conectados y añade proveedores. Arrastra una cuenta " "para cambiar su orden en todas partes." -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." @@ -5071,15 +5095,15 @@ msgstr "" "Agrupa las cuentas como Personal o Trabajo e identifícalas por color en la " "lista de correo." -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "Añadir perfil" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "Mostrar el color de la cuenta en el borde izquierdo de cada mensaje" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." @@ -5087,83 +5111,83 @@ msgstr "" "Aún no hay perfiles. Las cuentas conservan sus colores individuales o " "generados hasta que crees uno." -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "Editar perfil" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "Eliminar perfil" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "Añadir Gmail" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "Añadir Outlook" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "Añadir cuenta de correo" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "Cancelar inicio de sesión" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "Conectado · Gmail" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "Conectado · JMAP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "Conectado sin cifrado · POP3 + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "Conectado · POP3 + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "Conectado sin cifrado · IMAP + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "Conectado · IMAP + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "Estado de la cuenta: {}" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "Volver a conectar" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "Gestionar" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "Corregir CardDAV" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "CardDAV" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "Error de sincronización del correo: {}" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "Historial de correo" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." @@ -5171,58 +5195,58 @@ msgstr "" "Descarga todo el buzón. Las cuentas grandes pueden requerir bastante tiempo " "y almacenamiento." -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "" "Hasta qué fecha descargar. Se conserva el correo ya almacenado en este " "dispositivo." -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "Copias enviadas" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" "Elige quién guarda los mensajes enviados. Usa Flectar si tu servidor no " "guarda una copia." -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "Predeterminado del proveedor" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "El servidor guarda una copia" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "Flectar guarda una copia" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "Conservar el correo en el servidor" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "Flectar Mail nunca elimina correo del servidor." -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "El correo se elimina pasado este tiempo, o al eliminarlo aquí." -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "Este servidor elimina el correo en cuanto se descarga." -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "Este servidor elimina el correo descargado al cabo de un día." msgstr[1] "Este servidor elimina el correo descargado al cabo de {n} días." -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." @@ -5230,110 +5254,110 @@ msgstr "" "El correo eliminado del servidor solo se conserva en este dispositivo. Las " "instantáneas de la base de datos de Almacenamiento lo incluyen." -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "Usa el color de {} en la lista de correo" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "Usa un color de cuenta personalizado" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "Usa un color generado para la cuenta" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "Credenciales de la aplicación OAuth" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "Las credenciales personalizadas de escritorio están configuradas." -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" "Avanzado: usa tu propio registro de aplicación de escritorio de Gmail o " "Microsoft." -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "Ocultar" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "Configurar" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "ID de cliente de escritorio de Gmail" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "Secreto de cliente de Gmail (opcional)" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "Guardar Gmail" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "Guardar ajustes de Gmail" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "Guardar Outlook" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "" "Los clientes públicos de escritorio de Outlook usan PKCE y no necesitan un " "secreto de cliente." -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "Conectar CardDAV" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "" "Sincroniza los contactos con un servidor CardDAV compatible con los " "estándares." -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "https://contacts.example.com/" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "Nombre de usuario" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "Contraseña de aplicación" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "Desconectar" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "Conectar" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "" "See what Flectar Mail stores locally and manage the data on this device." msgstr "" "Consulta lo que Flectar Mail almacena localmente y gestiona los datos de " "este dispositivo." -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "Correo en este dispositivo" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." @@ -5341,26 +5365,26 @@ msgstr "" "Correo que importaste. Solo se guarda aquí, así que expórtalo para tener una " "copia en otro lugar." -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "Un mensaje" msgstr[1] "{} mensajes" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "Exportar el correo…" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "Eliminar…" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "Instantánea de la base de datos" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." @@ -5368,7 +5392,7 @@ msgstr "" "Exporta copias verificadas de las bases de datos de correo y calendario con " "sus versiones de esquema." -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." @@ -5376,15 +5400,15 @@ msgstr "" "La instantánea contiene correo local y ajustes privados, pero no contraseñas " "ni tokens OAuth. Guárdala de forma segura." -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "Exportar instantánea" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "Transferir configuración de cuentas" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5398,7 +5422,7 @@ msgstr[1] "" "Importa cuentas y correo desde Thunderbird, K-9 Mail, archivos de correo o " "una copia de seguridad, o exporta {n} cuentas conectadas y tus preferencias." -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." @@ -5406,15 +5430,15 @@ msgstr "" "Las contraseñas y los tokens OAuth permanecen en el llavero del sistema. Un " "dispositivo restaurado te pedirá que inicies sesión de forma segura." -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "Exportar" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "Eliminar todos los datos locales" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." @@ -5422,7 +5446,7 @@ msgstr "" "Elimina de este dispositivo las cuentas, el correo descargado, los " "calendarios, los contactos, las preferencias y las credenciales." -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." @@ -5430,7 +5454,7 @@ msgstr "" "El correo importado y el de las cuentas POP3 solo se guardan en este " "dispositivo. No se elimina nada de Gmail, Outlook ni de los servidores IMAP." -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." @@ -5438,112 +5462,112 @@ msgstr "" "El correo POP3 solo se guarda en este dispositivo. No se elimina nada de " "Gmail, Outlook ni de los servidores IMAP." -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "Esto no elimina nada de Gmail, Outlook ni de tu servidor IMAP." -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "Eliminar todo" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "Elige cómo Flectar Mail llama tu atención." -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "Sonidos de notificación" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "Reproduce un sonido al recibir correo y al enviar mensajes." -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "Atajos de teclado" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "Muévete por el correo sin apartar las manos del teclado." -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "Redactar un mensaje nuevo" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "Buscar correo" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "Archivar" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "Mover a spam" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "Mover a la papelera" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "Navegación" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "Moverse entre mensajes" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "Abrir mensaje" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "Seleccionar mensaje" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "Alternar entre la lista y el mensaje" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "Lectura" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "Buscar en el mensaje" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "Restablecer zoom" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "Navegación con cursor" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "Pestaña siguiente" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "Pestaña anterior" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "Ir a la pestaña 1–8" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "Ir a la última pestaña" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." @@ -5551,15 +5575,15 @@ msgstr "" "Servicios de pago opcionales de Flectar. Flectar Mail sigue siendo gratuito " "y funciona sin ellos." -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "Cuenta de Flectar" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "Sin iniciar sesión" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." @@ -5567,19 +5591,19 @@ msgstr "" "Solo necesitas una cuenta de Flectar para estos servicios opcionales. Más " "información en flectar.com/mail." -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "Iniciar sesión con Flectar" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "Acceso próximamente" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "Tu configuración en cada dispositivo" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." @@ -5587,24 +5611,24 @@ msgstr "" "Inicia sesión en un teléfono u ordenador nuevo y tus cuentas, calendarios, " "contactos y preferencias estarán listos sin tener que configurarlos de nuevo." -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "Cuentas de correo, perfiles y firmas" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "Conexiones de calendarios y contactos" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "Temas, diseño y preferencias de notificaciones" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "" "Credenciales de las cuentas, cifradas en este dispositivo antes de subirlas" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." @@ -5612,35 +5636,35 @@ msgstr "" "Tus mensajes permanecen con tu proveedor de correo. La sincronización solo " "transfiere la configuración de Flectar Mail." -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "Correo empresarial" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "Buzones con tu propio dominio" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "Direcciones profesionales como tu@tuempresa.com, alojadas en Flectar." -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "Conecta un dominio que ya tengas" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "Crea y gestiona buzones para tu equipo" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "Los nuevos buzones aparecen automáticamente en Flectar Mail" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "Facturación por buzón." -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." @@ -5648,56 +5672,56 @@ msgstr "" "Estos servicios están en desarrollo. Los planes y la disponibilidad se " "anunciarán en flectar.com/mail." -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "Flectar Mail, sus creadores y su comunidad." -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "Logotipo de Flectar Mail" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "" "Un cliente de correo nativo para una bandeja de entrada tranquila y privada." -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "Versión {}" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "Créditos" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "Creado por Flectar con la ayuda de la comunidad de código abierto." -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "Flectar" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "Sitio web de la empresa" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "Colaboradores de código abierto" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "Conoce a las personas que han contribuido en GitHub" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "Licencia" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "Solo AGPL-3.0." -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." @@ -5705,31 +5729,31 @@ msgstr "" "Flectar Mail se publica únicamente bajo la GNU Affero General Public License " "v3.0." -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "Los componentes de terceros conservan sus propias licencias y avisos." -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "Secciones de ajustes" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "Cerrar ajustes" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "Cerrar secciones de ajustes" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "Configuración de CalDAV" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "Descubre calendarios nuevos." -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." @@ -5737,15 +5761,15 @@ msgstr "" "Funciona con iCloud, Fastmail, Nextcloud y servidores CalDAV compatibles con " "los estándares." -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "Dirección del servidor" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "https://calendario.ejemplo.com/" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." @@ -5753,115 +5777,115 @@ msgstr "" "Para sincronizar un solo calendario, como el de un buzón compartido, " "introduce la dirección de ese calendario." -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "Normalmente, tu dirección de correo" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "Nueva contraseña de aplicación · Opcional" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "Déjalo en blanco para conservar la contraseña actual" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "Guardada de forma segura en el llavero del sistema" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "Conectando…" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "Editar cuenta de correo" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "Conectar una cuenta de correo" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "Editar {}" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "Usa JMAP para sincronizar y enviar correo, con detección automática." -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" "Descarga el correo de un servidor POP3 a este dispositivo y envía mediante " "SMTP." -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "Usa servidores IMAP y SMTP separados para sincronizar y enviar correo." -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "nombre@ejemplo.com" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "Contraseña, contraseña de aplicación o token de API" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "Contraseña o contraseña de aplicación" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "IMAP" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "POP3" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "JMAP" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "Dirección del servidor · Opcional" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "Se detecta a partir de tu dominio de correo" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "Servidor POP3" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "Servidor IMAP" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "pop.ejemplo.com" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "imap.ejemplo.com" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 msgid "Port" msgstr "Puerto" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "Servidor SMTP" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "smtp.ejemplo.com" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." @@ -5869,59 +5893,59 @@ msgstr "" "Proton Bridge: usa los servidores locales, puertos y contraseña que aparecen " "en Bridge, con los mismos ajustes de cifrado." -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "Guardar cuenta" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "Conectar cuenta" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "Crear perfil" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" "Su color marca el correo de sus cuentas y, al elegirlo, solo se muestra su " "correo." -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "Nombre del perfil" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "Personal o Trabajo" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "Color" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "Color de perfil {}" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "Guardar perfil" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "" "No se pudo guardar este perfil. Comprueba el nombre e inténtalo de nuevo." -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "Elegir un perfil para {}" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "¿Eliminar todos los datos locales?" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." @@ -5930,7 +5954,7 @@ msgstr "" "contactos, preferencias y credenciales que Flectar Mail almacena en este " "dispositivo." -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " @@ -5940,7 +5964,7 @@ msgstr "" "dispositivo y se eliminarán. No se eliminarán el correo ni los eventos de " "Gmail, Outlook o los servidores IMAP." -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." @@ -5948,50 +5972,50 @@ msgstr "" "El correo POP3 solo se guarda en este dispositivo y se eliminará. No se " "eliminarán el correo ni los eventos de Gmail, Outlook o los servidores IMAP." -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" "No se eliminarán el correo ni los eventos de Gmail, Outlook o los servidores " "IMAP." -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "Exportar el correo POP3…" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "Conservar mis datos" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "¿Eliminar el correo de este dispositivo?" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "Elimina de este dispositivo el correo que importaste y sus carpetas." -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "Solo existe aquí. Expórtalo antes para conservar una copia." -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "Eliminar el correo" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "Conservar el correo" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "¿Eliminar cuenta?" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "Elimina esta cuenta y su correo descargado de este dispositivo." -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." @@ -5999,23 +6023,23 @@ msgstr "" "El correo de esta cuenta solo se guarda en este dispositivo. Expórtalo antes " "para conservar una copia." -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "Los mensajes del servidor de correo no se eliminarán." -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "Eliminar cuenta" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "Conservar cuenta" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "¿Eliminar el perfil?" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." @@ -6023,27 +6047,27 @@ msgstr "" "Las cuentas asignadas a este perfil volverán a sus colores de cuenta " "individuales o generados." -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "Las cuentas y los datos del proveedor no se modifican." -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "Conservar perfil" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "¿Eliminar calendario?" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "Deja de sincronizarlo y elimina sus eventos de este dispositivo." -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "Los eventos del servidor no se eliminarán." -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "Conservar calendario" diff --git a/lang/flectar-mail.pot b/lang/flectar-mail.pot index 6d69895f..11db0eeb 100644 --- a/lang/flectar-mail.pot +++ b/lang/flectar-mail.pot @@ -21,7 +21,7 @@ msgid "Graphite" msgstr "" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 ui/dialogs/settings-dialog.slint:1067 +#: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "" @@ -384,8 +384,8 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1030 ui/components/composer-fields.slint:66 -#: ui/app.slint:179 ui/app.slint:1030 ui/components/composer-fields.slint:66 ui/dialogs/compose-dialog.slint:37 +#: ui/app.slint:179 ui/app.slint:1036 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "" @@ -644,1151 +644,1163 @@ msgid "Could not save mail grouping preference: {}" msgstr "" #: ui/app.slint:278 -msgid "Profile changes require local mail data." +msgid "Conversation view updated for this session." msgstr "" #: ui/app.slint:279 -msgid "Profile saved." +msgid "Conversation view preference saved." msgstr "" #: ui/app.slint:280 -msgid "Could not save profile: {}" +msgid "Could not save conversation view preference: {}" msgstr "" #: ui/app.slint:281 -msgid "Account profile updated." +msgid "Profile changes require local mail data." msgstr "" #: ui/app.slint:282 -msgid "Account color changes require local mail data." +msgid "Profile saved." msgstr "" #: ui/app.slint:283 -msgid "Account color updated." +msgid "Could not save profile: {}" msgstr "" #: ui/app.slint:284 -msgid "Could not update account color: {}" +msgid "Account profile updated." msgstr "" #: ui/app.slint:285 -msgid "Could not update account profile: {}" +msgid "Account color changes require local mail data." msgstr "" #: ui/app.slint:286 -msgid "Profile deleted." +msgid "Account color updated." msgstr "" #: ui/app.slint:287 -msgid "Could not delete profile: {}" +msgid "Could not update account color: {}" msgstr "" #: ui/app.slint:288 -msgid "Could not switch profile: {}" +msgid "Could not update account profile: {}" msgstr "" #: ui/app.slint:289 -msgid "Marker preference is active for this session." +msgid "Profile deleted." msgstr "" #: ui/app.slint:290 -msgid "Mail-list marker preference saved." +msgid "Could not delete profile: {}" msgstr "" #: ui/app.slint:291 -msgid "Could not save mail-list marker preference: {}" +msgid "Could not switch profile: {}" msgstr "" #: ui/app.slint:292 -msgid "Workspace layout updated for this session." +msgid "Marker preference is active for this session." msgstr "" #: ui/app.slint:293 -msgid "Workspace layout preference saved." +msgid "Mail-list marker preference saved." msgstr "" #: ui/app.slint:294 -msgid "Could not save workspace layout: {}" +msgid "Could not save mail-list marker preference: {}" msgstr "" #: ui/app.slint:295 +msgid "Workspace layout updated for this session." +msgstr "" + +#: ui/app.slint:296 +msgid "Workspace layout preference saved." +msgstr "" + +#: ui/app.slint:297 +msgid "Could not save workspace layout: {}" +msgstr "" + +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "" -#: ui/app.slint:309 +#: ui/app.slint:312 msgid "System tray behavior is unavailable in this package." msgstr "" -#: ui/app.slint:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "" -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "" -#: ui/app.slint:312 +#: ui/app.slint:315 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" -#: ui/app.slint:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "" -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "" -#: ui/app.slint:316 +#: ui/app.slint:319 msgid "Flectar Mail will no longer start when you sign in." msgstr "" -#: ui/app.slint:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "" -#: ui/app.slint:318 +#: ui/app.slint:321 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" -#: ui/app.slint:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:335 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 ui/views/onboarding-view.slint:223 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:379 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:377 +#: ui/app.slint:380 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:382 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:391 +#: ui/app.slint:394 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:397 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:400 +#: ui/app.slint:403 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:416 ui/components/calendar.slint:273 -#: ui/app.slint:416 ui/components/calendar.slint:273 ui/components/calendar.slint:321 -#: ui/app.slint:416 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 -#: ui/app.slint:416 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 -#: ui/app.slint:416 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 -#: ui/app.slint:416 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 -#: ui/app.slint:416 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:419 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 ui/components/calendar.slint:321 +#: ui/app.slint:419 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:419 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:419 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:419 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:419 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:430 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:431 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:432 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:433 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:436 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:466 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:470 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:478 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "" -#: ui/app.slint:482 +#: ui/app.slint:485 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:484 +#: ui/app.slint:487 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:488 msgid "Label added." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:512 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:513 ui/components/sidebar.slint:479 -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:517 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "" -#: ui/app.slint:522 -msgid "Forwarded message" -msgstr "" - -#: ui/app.slint:523 -msgctxt "forwarded message header" -msgid "From: {}" -msgstr "" - -#: ui/app.slint:524 -msgctxt "forwarded message header" -msgid "Date: {}" -msgstr "" - #: ui/app.slint:525 -msgctxt "forwarded message header" -msgid "Subject: {}" +msgid "Forwarded message" msgstr "" #: ui/app.slint:526 msgctxt "forwarded message header" -msgid "To: {}" +msgid "From: {}" msgstr "" #: ui/app.slint:527 -msgid "Attach files to this email" +msgctxt "forwarded message header" +msgid "Date: {}" msgstr "" #: ui/app.slint:528 -msgid "Could not add attachments: {}" +msgctxt "forwarded message header" +msgid "Subject: {}" msgstr "" #: ui/app.slint:529 -msgid "Added 1 attachment." +msgctxt "forwarded message header" +msgid "To: {}" msgstr "" #: ui/app.slint:530 -msgid "Added {} attachments." +msgid "Attach files to this email" msgstr "" #: ui/app.slint:531 +msgid "Could not add attachments: {}" +msgstr "" + +#: ui/app.slint:532 +msgid "Added 1 attachment." +msgstr "" + +#: ui/app.slint:533 +msgid "Added {} attachments." +msgstr "" + +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:536 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:537 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:538 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:555 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:557 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:559 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:560 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:562 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 ui/dialogs/settings-dialog.slint:1912 -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:573 ui/dialogs/settings-dialog.slint:1884 ui/dialogs/settings-dialog.slint:1927 +#: ui/app.slint:573 ui/dialogs/settings-dialog.slint:1884 ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:572 +#: ui/app.slint:575 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 ui/views/mail-reading-pane.slint:1279 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 ui/tray.slint:13 ui/tray.slint:14 -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 ui/tray.slint:13 ui/tray.slint:14 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 ui/tray.slint:13 ui/tray.slint:14 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2212 +#: ui/app.slint:2220 msgid "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2213 +#: ui/app.slint:2221 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2217 ui/components/calendar.slint:947 -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2218 ui/views/files-view.slint:623 -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -1871,7 +1883,7 @@ msgstr "" #: ui/components/account-calendars.slint:264 #: ui/components/account-calendars.slint:264 -#: ui/components/account-calendars.slint:264 ui/dialogs/settings-dialog.slint:2768 +#: ui/components/account-calendars.slint:264 ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "" @@ -1996,9 +2008,9 @@ msgid "" msgstr "" #: ui/components/account-mail-preferences.slint:171 -#: ui/components/account-mail-preferences.slint:171 ui/dialogs/settings-dialog.slint:2938 -#: ui/components/account-mail-preferences.slint:171 ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 -#: ui/components/account-mail-preferences.slint:171 ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/components/account-mail-preferences.slint:171 ui/dialogs/settings-dialog.slint:2953 +#: ui/components/account-mail-preferences.slint:171 ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 +#: ui/components/account-mail-preferences.slint:171 ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "" @@ -2036,11 +2048,11 @@ msgstr "" #: ui/components/account-mail-preferences.slint:178 #: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 #: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2214 -#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 -#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 ui/views/contacts-view.slint:604 -#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 -#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 +#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2229 +#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 +#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 ui/views/contacts-view.slint:604 +#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 +#: ui/components/account-mail-preferences.slint:178 ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "" @@ -2236,11 +2248,11 @@ msgstr "" #: ui/components/account-mail-preferences.slint:265 #: ui/components/account-mail-preferences.slint:265 #: ui/components/account-mail-preferences.slint:265 -#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2914 -#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 -#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 ui/views/files-view.slint:658 -#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 ui/views/files-view.slint:658 ui/window-chrome.slint:201 -#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 ui/views/files-view.slint:658 ui/window-chrome.slint:201 +#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2929 +#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 +#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 ui/views/files-view.slint:658 +#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 ui/views/files-view.slint:658 ui/window-chrome.slint:201 +#: ui/components/account-mail-preferences.slint:265 ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "" @@ -2287,7 +2299,7 @@ msgid "Show calendars" msgstr "" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 ui/dialogs/settings-dialog.slint:1539 +#: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "" @@ -2701,7 +2713,7 @@ msgstr "" msgid "On" msgstr "" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "" @@ -3233,9 +3245,9 @@ msgstr "" #: ui/components/tab-overview.slint:69 #: ui/components/tab-overview.slint:69 #: ui/components/tab-overview.slint:69 -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 ui/dialogs/settings-dialog.slint:2630 -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 ui/dialogs/settings-dialog.slint:2645 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "" @@ -3250,7 +3262,7 @@ msgstr "" #: ui/components/tab-overview.slint:71 #: ui/components/tab-overview.slint:71 #: ui/components/tab-overview.slint:71 -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "" @@ -3263,7 +3275,7 @@ msgstr "" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 ui/dialogs/settings-dialog.slint:2396 +#: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "" @@ -3459,7 +3471,7 @@ msgstr "" msgid "Close tabs to the right" msgstr "" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "" @@ -3471,7 +3483,7 @@ msgstr "" msgid "Zoom percentage" msgstr "" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "" @@ -3808,11 +3820,11 @@ msgstr "" msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "" -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "" @@ -3982,8 +3994,8 @@ msgstr "" msgid "Continue in background" msgstr "" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "" @@ -4001,7 +4013,7 @@ msgid_plural "Import {n} accounts" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "" @@ -4345,7 +4357,7 @@ msgstr "" msgid "Report issue" msgstr "" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "" @@ -4438,803 +4450,813 @@ msgstr "" msgid "Learn more" msgstr "" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" msgstr "" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" msgstr "" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" msgstr "" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 ui/dialogs/settings-dialog.slint:2700 -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 ui/dialogs/settings-dialog.slint:2715 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "" -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "" -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "" -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "" -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "" -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "" -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "" -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "" -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "" -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." msgstr "" -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." msgstr "" -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." msgstr "" -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." msgstr "" -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." msgstr "" -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." msgstr "" -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "" -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "" -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "" -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." msgstr "" -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "See what Flectar Mail stores locally and manage the data on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." msgstr "" -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5244,616 +5266,616 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "" -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "" -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 ui/views/mail-reading-pane.slint:365 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 ui/views/mail-reading-pane.slint:349 -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 ui/views/mail-reading-pane.slint:349 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 ui/views/mail-reading-pane.slint:332 -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 ui/views/mail-reading-pane.slint:399 -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 ui/views/mail-reading-pane.slint:399 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 ui/views/mail-reading-pane.slint:332 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 ui/views/mail-reading-pane.slint:399 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." msgstr "" -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." msgstr "" -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "" -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "" -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." msgstr "" -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "" -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 ui/views/onboarding-view.slint:367 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 ui/views/onboarding-view.slint:367 msgid "Port" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "" -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " "servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." msgstr "" -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "" -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "" diff --git a/lang/fr/LC_MESSAGES/flectar-mail.po b/lang/fr/LC_MESSAGES/flectar-mail.po index 81f5019a..6b838c45 100644 --- a/lang/fr/LC_MESSAGES/flectar-mail.po +++ b/lang/fr/LC_MESSAGES/flectar-mail.po @@ -23,7 +23,7 @@ msgid "Graphite" msgstr "" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 #, fuzzy msgid "Light" msgstr "Clair" @@ -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:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "Chargement des données locales…" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "Données locales prêtes." @@ -686,672 +686,684 @@ msgstr "" "Impossible d’enregistrer la préférence de regroupement des messages : {}" #: ui/app.slint:278 +msgid "Conversation view updated for this session." +msgstr "" + +#: ui/app.slint:279 +msgid "Conversation view preference saved." +msgstr "" + +#: ui/app.slint:280 +msgid "Could not save conversation view preference: {}" +msgstr "" + +#: ui/app.slint:281 #, fuzzy msgid "Profile changes require local mail data." msgstr "" "La modification des profils nécessite les données locales des messages." -#: ui/app.slint:279 +#: ui/app.slint:282 msgid "Profile saved." msgstr "Profil enregistré." -#: ui/app.slint:280 +#: ui/app.slint:283 msgid "Could not save profile: {}" msgstr "Impossible d’enregistrer le profil : {}" -#: ui/app.slint:281 +#: ui/app.slint:284 msgid "Account profile updated." msgstr "Profil du compte mis à jour." -#: ui/app.slint:282 +#: ui/app.slint:285 #, fuzzy msgid "Account color changes require local mail data." msgstr "" "La modification de la couleur d’un compte nécessite les données locales des " "messages." -#: ui/app.slint:283 +#: ui/app.slint:286 #, fuzzy msgid "Account color updated." msgstr "Couleur du compte mise à jour." -#: ui/app.slint:284 +#: ui/app.slint:287 #, fuzzy msgid "Could not update account color: {}" msgstr "Impossible de modifier la couleur du compte : {}" -#: ui/app.slint:285 +#: ui/app.slint:288 #, fuzzy msgid "Could not update account profile: {}" msgstr "Impossible de modifier le profil du compte : {}" -#: ui/app.slint:286 +#: ui/app.slint:289 #, fuzzy msgid "Profile deleted." msgstr "Profil supprimé." -#: ui/app.slint:287 +#: ui/app.slint:290 #, fuzzy msgid "Could not delete profile: {}" msgstr "Impossible de supprimer le profil : {}" -#: ui/app.slint:288 +#: ui/app.slint:291 msgid "Could not switch profile: {}" msgstr "" -#: ui/app.slint:289 +#: ui/app.slint:292 msgid "Marker preference is active for this session." msgstr "Le réglage des repères colorés s'applique à cette session." -#: ui/app.slint:290 +#: ui/app.slint:293 msgid "Mail-list marker preference saved." msgstr "Préférence des repères colorés de la liste des messages enregistrée." -#: ui/app.slint:291 +#: ui/app.slint:294 msgid "Could not save mail-list marker preference: {}" msgstr "" "Impossible d’enregistrer la préférence des repères colorés de la liste : {}" -#: ui/app.slint:292 +#: ui/app.slint:295 #, fuzzy msgid "Workspace layout updated for this session." msgstr "Disposition de l’espace de travail modifiée pour cette session." -#: ui/app.slint:293 +#: ui/app.slint:296 #, fuzzy msgid "Workspace layout preference saved." msgstr "Préférence de disposition de l’espace de travail enregistrée." -#: ui/app.slint:294 +#: ui/app.slint:297 #, fuzzy msgid "Could not save workspace layout: {}" msgstr "Impossible d’enregistrer la disposition de l’espace de travail : {}" -#: ui/app.slint:295 +#: ui/app.slint:298 #, fuzzy msgid "Could not save list pane width: {}" msgstr "Impossible d’enregistrer la largeur du panneau de liste : {}" -#: ui/app.slint:300 +#: ui/app.slint:303 #, fuzzy msgid "Opened {}" msgstr "Ouverture de {}" -#: ui/app.slint:301 +#: ui/app.slint:304 #, fuzzy msgid "Could not open link: {}" msgstr "Impossible d’ouvrir le lien : {}" -#: ui/app.slint:302 +#: ui/app.slint:305 #, fuzzy msgid "Copied HTML source" msgstr "Source HTML copiée" -#: ui/app.slint:303 +#: ui/app.slint:306 #, fuzzy msgid "Copied selected text" msgstr "Texte sélectionné copié" -#: ui/app.slint:304 +#: ui/app.slint:307 #, fuzzy msgid "Copied email text" msgstr "Texte du message copié" -#: ui/app.slint:305 +#: ui/app.slint:308 #, fuzzy msgid "Copied link" msgstr "Lien copié" -#: ui/app.slint:306 +#: ui/app.slint:309 #, fuzzy msgid "Blitz software selection render failed: {}" msgstr "Échec du rendu de la sélection logicielle Blitz : {}" -#: ui/app.slint:307 +#: ui/app.slint:310 #, fuzzy msgid "Blitz software tile render failed: {}" msgstr "Échec du rendu de la tuile logicielle Blitz : {}" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "Message prêt." -#: ui/app.slint:309 +#: ui/app.slint:312 #, 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:310 +#: ui/app.slint:313 #, 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:311 +#: ui/app.slint:314 #, fuzzy msgid "Saving close behavior…" msgstr "Enregistrement du comportement à la fermeture…" -#: ui/app.slint:312 +#: ui/app.slint:315 #, 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:313 +#: ui/app.slint:316 #, fuzzy msgid "Closing the window will now quit Flectar Mail." msgstr "Fermer la fenêtre quittera désormais Flectar Mail." -#: ui/app.slint:314 +#: ui/app.slint:317 #, fuzzy msgid "Could not save close behavior: {}" msgstr "Impossible d’enregistrer le comportement à la fermeture : {}" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "" -#: ui/app.slint:316 +#: ui/app.slint:319 msgid "Flectar Mail will no longer start when you sign in." msgstr "" -#: ui/app.slint:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "" -#: ui/app.slint:318 +#: ui/app.slint:321 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" -#: ui/app.slint:323 +#: ui/app.slint:326 #, fuzzy msgid "Database snapshot exported to {}." msgstr "Instantané de la base de données exporté vers {}." -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:332 #, fuzzy msgid "Could not export database snapshot: {}" msgstr "Impossible d’exporter l’instantané de la base de données : {}" -#: ui/app.slint:330 +#: ui/app.slint:333 #, fuzzy msgid "Account order saved." msgstr "Ordre des comptes enregistré." -#: ui/app.slint:331 +#: ui/app.slint:334 #, fuzzy msgid "Could not save account order: {}" msgstr "Impossible d’enregistrer l’ordre des comptes : {}" -#: ui/app.slint:332 +#: ui/app.slint:335 #, 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:333 +#: ui/app.slint:336 #, fuzzy msgid "Account removed from this device." msgstr "Compte supprimé de cet appareil." -#: ui/app.slint:334 +#: ui/app.slint:337 #, fuzzy msgid "Account removed. Mail refresh will retry." msgstr "Compte supprimé. Une nouvelle actualisation des messages sera tentée." -#: ui/app.slint:335 +#: ui/app.slint:338 #, fuzzy msgid "Account removed; local cleanup needs a retry: {}" msgstr "Compte supprimé ; le nettoyage local doit être réessayé : {}" -#: ui/app.slint:336 +#: ui/app.slint:339 #, fuzzy msgid "Could not remove account: {}" msgstr "Impossible de supprimer le compte : {}" -#: ui/app.slint:337 +#: ui/app.slint:340 #, fuzzy msgid "Removing account…" msgstr "Suppression du compte…" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:346 #, fuzzy msgid "Synchronizing account…" msgstr "Synchronisation du compte…" -#: ui/app.slint:344 +#: ui/app.slint:347 #, fuzzy msgid "Could not update mail history: {}" msgstr "Impossible de mettre à jour l’historique des messages : {}" -#: ui/app.slint:345 +#: ui/app.slint:348 #, fuzzy msgid "Connected {}. Initial sync is running in the background." msgstr "{} connecté. Synchronisation initiale en cours en arrière-plan." -#: ui/app.slint:346 +#: ui/app.slint:349 #, fuzzy msgid "Account setup failed: {}" msgstr "Échec de la configuration du compte : {}" -#: ui/app.slint:347 +#: ui/app.slint:350 #, fuzzy msgid "OAuth failed: {}" msgstr "Échec d’OAuth : {}" -#: ui/app.slint:348 +#: ui/app.slint:351 #, fuzzy msgid "Reconnected {}. Synchronization is resuming." msgstr "{} reconnecté. Reprise de la synchronisation." -#: ui/app.slint:349 +#: ui/app.slint:352 #, fuzzy msgid "Reconnection failed: {}" msgstr "Échec de la reconnexion : {}" -#: ui/app.slint:350 +#: ui/app.slint:353 #, fuzzy msgid "Calendar connected and initial sync started." msgstr "Calendrier connecté et synchronisation initiale démarrée." -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 #, fuzzy msgid "Could not connect calendar: {}" msgstr "Impossible de connecter le calendrier : {}" -#: ui/app.slint:352 +#: ui/app.slint:355 #, fuzzy msgid "Calendar sync enabled." msgstr "Synchronisation du calendrier activée." -#: ui/app.slint:353 +#: ui/app.slint:356 #, fuzzy msgid "Calendar sync paused." msgstr "Synchronisation du calendrier suspendue." -#: ui/app.slint:354 +#: ui/app.slint:357 #, fuzzy msgid "Could not update calendar sync: {}" msgstr "Impossible de modifier la synchronisation du calendrier : {}" -#: ui/app.slint:355 +#: ui/app.slint:358 #, fuzzy msgid "CalDAV connected and initial sync started." msgstr "CalDAV connecté et synchronisation initiale démarrée." -#: ui/app.slint:356 +#: ui/app.slint:359 #, fuzzy msgid "Could not connect CalDAV: {}" msgstr "Impossible de connecter CalDAV : {}" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:362 #, fuzzy msgid "CardDAV connected and initial sync started." msgstr "CardDAV connecté et synchronisation initiale démarrée." -#: ui/app.slint:360 +#: ui/app.slint:363 #, fuzzy msgid "Could not connect CardDAV: {}" msgstr "Impossible de connecter CardDAV : {}" -#: ui/app.slint:361 +#: ui/app.slint:364 #, fuzzy msgid "CardDAV sync enabled." msgstr "Synchronisation CardDAV activée." -#: ui/app.slint:362 +#: ui/app.slint:365 #, fuzzy msgid "CardDAV sync paused." msgstr "Synchronisation CardDAV suspendue." -#: ui/app.slint:363 +#: ui/app.slint:366 #, fuzzy msgid "Could not update CardDAV sync: {}" msgstr "Impossible de modifier la synchronisation CardDAV : {}" -#: ui/app.slint:364 +#: ui/app.slint:367 #, fuzzy msgid "CardDAV disconnected." msgstr "CardDAV déconnecté." -#: ui/app.slint:365 +#: ui/app.slint:368 #, fuzzy msgid "Could not disconnect CardDAV: {}" msgstr "Impossible de déconnecter CardDAV : {}" -#: ui/app.slint:370 +#: ui/app.slint:373 #, fuzzy msgid "Connect an account before creating a backup." msgstr "Connectez un compte avant de créer une sauvegarde." -#: ui/app.slint:371 +#: ui/app.slint:374 #, fuzzy msgid "Export Flectar Mail account backup" msgstr "Exporter une sauvegarde des comptes Flectar Mail" -#: ui/app.slint:372 +#: ui/app.slint:375 #, fuzzy msgid "Flectar Mail backup" msgstr "Sauvegarde Flectar Mail" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:379 #, fuzzy msgid "Choose where to export the database snapshot" msgstr "Choisissez où exporter l’instantané de la base de données" -#: ui/app.slint:377 +#: ui/app.slint:380 #, 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:378 +#: ui/app.slint:381 #, fuzzy msgid "Could not export backup: {}" msgstr "Impossible d’exporter la sauvegarde : {}" -#: ui/app.slint:379 +#: ui/app.slint:382 #, fuzzy msgid "Local data storage is unavailable. Retry startup." msgstr "Stockage local indisponible. Relancez l’application." -#: ui/app.slint:380 +#: ui/app.slint:383 #, fuzzy msgid "Creating verified database snapshot…" msgstr "Création d’un instantané vérifié de la base de données…" -#: ui/app.slint:381 +#: ui/app.slint:384 #, 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:382 +#: ui/app.slint:385 #, fuzzy msgid "Could not delete all local data: {}" msgstr "Impossible de supprimer toutes les données locales : {}" -#: ui/app.slint:383 +#: ui/app.slint:386 #, fuzzy msgid "Deleting local accounts and cached data…" msgstr "Suppression des comptes locaux et des données en cache…" -#: ui/app.slint:388 +#: ui/app.slint:391 #, fuzzy msgid "Background mail refresh failed: {}" msgstr "Échec de l’actualisation des messages en arrière-plan : {}" -#: ui/app.slint:389 +#: ui/app.slint:392 #, fuzzy msgid "No conversations in this folder" msgstr "Aucune conversation dans ce dossier" -#: ui/app.slint:390 +#: ui/app.slint:393 #, fuzzy msgid "No conversations match this search" msgstr "Aucune conversation ne correspond à cette recherche" -#: ui/app.slint:391 +#: ui/app.slint:394 #, 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:392 +#: ui/app.slint:395 #, fuzzy msgid "Large message rendered in compatibility mode." msgstr "Message volumineux affiché en mode de compatibilité." -#: ui/app.slint:393 +#: ui/app.slint:396 #, fuzzy msgid "Software email render failed: {}" msgstr "Échec du rendu logiciel du message : {}" -#: ui/app.slint:394 +#: ui/app.slint:397 #, 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:395 +#: ui/app.slint:398 #, fuzzy msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Échec du rendu Blitz (GPU : {} ; logiciel : {})" -#: ui/app.slint:400 +#: ui/app.slint:403 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:401 +#: ui/app.slint:404 #, fuzzy msgid "Could not save: contact storage is unavailable." msgstr "Enregistrement impossible : le stockage des contacts est indisponible." -#: ui/app.slint:402 +#: ui/app.slint:405 #, fuzzy msgid "Could not save contact: {}" msgstr "Impossible d’enregistrer le contact : {}" -#: ui/app.slint:403 +#: ui/app.slint:406 #, fuzzy msgid "Contact saved." msgstr "Contact enregistré." -#: ui/app.slint:404 +#: ui/app.slint:407 #, fuzzy msgid "Saved to contacts." msgstr "Ajouté aux contacts." -#: ui/app.slint:405 +#: ui/app.slint:408 #, fuzzy msgid "Could not delete: contact storage is unavailable." msgstr "Suppression impossible : le stockage des contacts est indisponible." -#: ui/app.slint:406 +#: ui/app.slint:409 #, fuzzy msgid "Could not delete contact: {}" msgstr "Impossible de supprimer le contact : {}" -#: ui/app.slint:407 +#: ui/app.slint:410 #, fuzzy msgid "Contact deleted." msgstr "Contact supprimé." -#: ui/app.slint:408 +#: ui/app.slint:411 #, fuzzy msgid "Could not load contacts: {}" msgstr "Impossible de charger les contacts : {}" -#: ui/app.slint:409 +#: ui/app.slint:412 #, fuzzy msgid "Local contact storage is still starting…" msgstr "Initialisation du stockage local des contacts…" -#: ui/app.slint:410 +#: ui/app.slint:413 #, fuzzy msgid "Loading contacts…" msgstr "Chargement des contacts…" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 #, fuzzy msgid "Local calendar" msgstr "Calendrier local" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 #, fuzzy msgid "Calendar" msgstr "Calendrier" -#: ui/app.slint:417 +#: ui/app.slint:420 #, fuzzy msgid "Could not load calendar: {}" msgstr "Impossible de charger le calendrier : {}" -#: ui/app.slint:418 +#: ui/app.slint:421 #, fuzzy msgid "Calendar shown and syncing." msgstr "Calendrier affiché et en cours de synchronisation." -#: ui/app.slint:419 +#: ui/app.slint:422 #, fuzzy msgid "Calendar hidden and sync paused." msgstr "Calendrier masqué et synchronisation suspendue." -#: ui/app.slint:420 +#: ui/app.slint:423 #, fuzzy msgid "Calendar update failed: {}" msgstr "Échec de la mise à jour du calendrier : {}" -#: ui/app.slint:421 +#: ui/app.slint:424 #, 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:422 +#: ui/app.slint:425 #, 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:423 +#: ui/app.slint:426 #, fuzzy msgid "Calendar storage is unavailable." msgstr "Le stockage du calendrier est indisponible." -#: ui/app.slint:424 +#: ui/app.slint:427 #, fuzzy msgid "Could not delete event: {}" msgstr "Impossible de supprimer l’événement : {}" -#: ui/app.slint:425 +#: ui/app.slint:428 #, fuzzy msgid "Event deleted, but refresh failed: {}" msgstr "Événement supprimé, mais échec de l’actualisation : {}" -#: ui/app.slint:426 +#: ui/app.slint:429 #, fuzzy msgid "Event deleted." msgstr "Événement supprimé." -#: ui/app.slint:427 +#: ui/app.slint:430 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:428 +#: ui/app.slint:431 #, 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:429 +#: ui/app.slint:432 #, 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:430 +#: ui/app.slint:433 #, 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:431 +#: ui/app.slint:434 #, fuzzy msgid "Could not save event: {}" msgstr "Impossible d’enregistrer l’événement : {}" -#: ui/app.slint:432 +#: ui/app.slint:435 #, fuzzy msgid "Event saved, but refresh failed: {}" msgstr "Événement enregistré, mais échec de l’actualisation : {}" -#: ui/app.slint:433 +#: ui/app.slint:436 #, 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:438 +#: ui/app.slint:441 #, fuzzy msgid "Email resource render failed: {}" msgstr "Échec du rendu d’une ressource du message : {}" -#: ui/app.slint:439 +#: ui/app.slint:442 #, fuzzy msgid "Message refresh failed: {}" msgstr "Échec de l’actualisation du message : {}" -#: ui/app.slint:440 +#: ui/app.slint:443 #, fuzzy msgid "Message load failed: {}" msgstr "Échec du chargement du message : {}" -#: ui/app.slint:441 +#: ui/app.slint:444 #, fuzzy msgid "" "Your local mailbox could not be opened. No account operation was started. " @@ -1360,155 +1372,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:442 +#: ui/app.slint:445 #, fuzzy msgid "Local storage startup failed." msgstr "Échec de l’initialisation du stockage local." -#: ui/app.slint:449 +#: ui/app.slint:452 #, fuzzy msgid "Could not identify the dragged account." msgstr "Impossible d’identifier le compte déplacé." -#: ui/app.slint:450 +#: ui/app.slint:453 #, 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:451 +#: ui/app.slint:454 #, fuzzy msgid "Could not find the account to reorder." msgstr "Impossible de trouver le compte à déplacer." -#: ui/app.slint:452 +#: ui/app.slint:455 #, fuzzy msgid "Saving account order…" msgstr "Enregistrement de l’ordre des comptes…" -#: ui/app.slint:453 +#: ui/app.slint:456 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:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "Mise à jour des paramètres des copies envoyées…" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "Paramètres des copies envoyées mis à jour." -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "Impossible de mettre à jour les paramètres des copies envoyées : {}" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:464 #, fuzzy msgid "Mail history requires local mail data." msgstr "L’historique des messages nécessite les données locales des messages." -#: ui/app.slint:462 +#: ui/app.slint:465 #, fuzzy msgid "Updating mail history…" msgstr "Mise à jour de l’historique des messages…" -#: ui/app.slint:463 +#: ui/app.slint:466 #, 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:464 +#: ui/app.slint:467 #, fuzzy msgid "Could not save remote-image setting: {}" msgstr "Impossible d’enregistrer le réglage des images distantes : {}" -#: ui/app.slint:465 +#: ui/app.slint:468 #, fuzzy msgid "Remote sender icons unavailable: {}" msgstr "Icônes d’expéditeurs distantes indisponibles : {}" -#: ui/app.slint:466 +#: ui/app.slint:469 #, fuzzy msgid "Remote images unavailable: {}" msgstr "Images distantes indisponibles : {}" -#: ui/app.slint:467 +#: ui/app.slint:470 #, fuzzy msgid "Remote body images and sender favicons enabled." msgstr "Images distantes des messages et favicons des expéditeurs activés." -#: ui/app.slint:468 +#: ui/app.slint:471 #, fuzzy msgid "Remote images blocked." msgstr "Images distantes bloquées." -#: ui/app.slint:469 +#: ui/app.slint:472 #, fuzzy msgid "Could not refresh message images: {}" msgstr "Impossible d’actualiser les images du message : {}" -#: ui/app.slint:470 +#: ui/app.slint:473 #, fuzzy msgid "Remote-image loading is disabled." msgstr "Le chargement des images distantes est désactivé." -#: ui/app.slint:471 +#: ui/app.slint:474 #, fuzzy msgid "Could not load message images: {}" msgstr "Impossible de charger les images du message : {}" -#: ui/app.slint:472 +#: ui/app.slint:475 #, fuzzy msgid "Sync finished, refresh failed: {}" msgstr "Synchronisation terminée, mais échec de l’actualisation : {}" -#: ui/app.slint:473 +#: ui/app.slint:476 #, fuzzy msgid "Sync complete." msgstr "Synchronisation terminée." -#: ui/app.slint:474 +#: ui/app.slint:477 #, fuzzy msgid "Sync failed: {}" msgstr "Échec de la synchronisation : {}" -#: ui/app.slint:475 +#: ui/app.slint:478 #, 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:476 +#: ui/app.slint:479 #, fuzzy msgid "Synchronizing accounts…" msgstr "Synchronisation des comptes…" -#: ui/app.slint:481 +#: ui/app.slint:484 #, fuzzy msgid "Message action completed." msgstr "Action sur le message terminée." -#: ui/app.slint:482 +#: ui/app.slint:485 #, fuzzy msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." @@ -1516,217 +1528,217 @@ msgstr "" "Suppression définitive en attente. Le message disparaîtra après confirmation " "du serveur." -#: ui/app.slint:483 +#: ui/app.slint:486 #, fuzzy msgid "Message action failed: {}" msgstr "Échec de l’action sur le message : {}" -#: ui/app.slint:484 +#: ui/app.slint:487 #, fuzzy msgid "Message action failed: message is no longer available" msgstr "Échec de l’action : le message n’est plus disponible" -#: ui/app.slint:485 +#: ui/app.slint:488 #, fuzzy msgid "Label added." msgstr "Étiquette ajoutée." -#: ui/app.slint:486 +#: ui/app.slint:489 #, fuzzy msgid "Label removed." msgstr "Étiquette retirée." -#: ui/app.slint:487 +#: ui/app.slint:490 #, fuzzy msgid "Label created and added." msgstr "Étiquette créée et ajoutée." -#: ui/app.slint:488 +#: ui/app.slint:491 #, fuzzy msgid "Label created." msgstr "Étiquette créée." -#: ui/app.slint:489 +#: ui/app.slint:492 #, fuzzy msgid "Label updated." msgstr "Étiquette mise à jour." -#: ui/app.slint:490 +#: ui/app.slint:493 #, fuzzy msgid "Label deleted." msgstr "Étiquette supprimée." -#: ui/app.slint:491 +#: ui/app.slint:494 #, fuzzy msgid "Could not update label: {}" msgstr "Impossible de modifier l’étiquette : {}" -#: ui/app.slint:492 +#: ui/app.slint:495 #, fuzzy msgid "Could not save label: {}" msgstr "Impossible d’enregistrer l’étiquette : {}" -#: ui/app.slint:493 +#: ui/app.slint:496 #, fuzzy msgid "Could not delete label: {}" msgstr "Impossible de supprimer l’étiquette : {}" -#: ui/app.slint:494 +#: ui/app.slint:497 #, fuzzy msgid "Folder created." msgstr "Dossier créé." -#: ui/app.slint:495 +#: ui/app.slint:498 #, fuzzy msgid "Folder renamed." msgstr "Dossier renommé." -#: ui/app.slint:496 +#: ui/app.slint:499 #, fuzzy msgid "Folder deleted." msgstr "Dossier supprimé." -#: ui/app.slint:497 +#: ui/app.slint:500 #, fuzzy msgid "Could not create folder: {}" msgstr "Impossible de créer le dossier : {}" -#: ui/app.slint:498 +#: ui/app.slint:501 #, fuzzy msgid "Could not rename folder: {}" msgstr "Impossible de renommer le dossier : {}" -#: ui/app.slint:499 +#: ui/app.slint:502 #, fuzzy msgid "Could not delete folder: {}" msgstr "Impossible de supprimer le dossier : {}" -#: ui/app.slint:500 +#: ui/app.slint:503 #, fuzzy msgid "Could not close preview: {}" msgstr "Impossible de fermer l’aperçu : {}" -#: ui/app.slint:501 +#: ui/app.slint:504 #, fuzzy msgid "Opened the system print view." msgstr "Fenêtre d’impression du système ouverte." -#: ui/app.slint:502 +#: ui/app.slint:505 #, fuzzy msgid "Could not print message: {}" msgstr "Impossible d’imprimer le message : {}" -#: ui/app.slint:503 +#: ui/app.slint:506 #, fuzzy msgid "Opened the message in your browser." msgstr "Message ouvert dans votre navigateur." -#: ui/app.slint:504 +#: ui/app.slint:507 #, fuzzy msgid "Could not open message in browser: {}" msgstr "Impossible d’ouvrir le message dans le navigateur : {}" -#: ui/app.slint:505 +#: ui/app.slint:508 #, fuzzy msgid "Connect an account before replying or forwarding." msgstr "Connectez un compte avant de répondre ou de transférer." -#: ui/app.slint:506 +#: ui/app.slint:509 #, fuzzy msgid "Choose a message first." msgstr "Sélectionnez d’abord un message." -#: ui/app.slint:507 +#: ui/app.slint:510 #, fuzzy msgid "Only drafts can be reopened for editing." msgstr "Seuls les brouillons peuvent être rouverts pour modification." -#: ui/app.slint:508 +#: ui/app.slint:511 #, fuzzy msgid "Could not open draft: {}" msgstr "Impossible d’ouvrir le brouillon : {}" -#: ui/app.slint:509 +#: ui/app.slint:512 #, fuzzy msgid "Could not open draft: invalid account identifier" msgstr "Impossible d’ouvrir le brouillon : identifiant de compte invalide" -#: ui/app.slint:510 +#: ui/app.slint:513 #, fuzzy msgid "Connected account" msgstr "Compte connecté" -#: ui/app.slint:511 +#: ui/app.slint:514 #, fuzzy msgid "Could not open composer: {}" msgstr "Impossible d’ouvrir l’éditeur de message : {}" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:517 #, 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:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "Le {}, {} a écrit :" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "{} a écrit :" -#: ui/app.slint:522 +#: ui/app.slint:525 msgid "Forwarded message" msgstr "Message transféré" -#: ui/app.slint:523 +#: ui/app.slint:526 msgctxt "forwarded message header" msgid "From: {}" msgstr "De : {}" -#: ui/app.slint:524 +#: ui/app.slint:527 msgctxt "forwarded message header" msgid "Date: {}" msgstr "Date : {}" -#: ui/app.slint:525 +#: ui/app.slint:528 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "Objet : {}" -#: ui/app.slint:526 +#: ui/app.slint:529 msgctxt "forwarded message header" msgid "To: {}" msgstr "À : {}" -#: ui/app.slint:527 +#: ui/app.slint:530 #, fuzzy msgid "Attach files to this email" msgstr "Joindre des fichiers à cet e-mail" -#: ui/app.slint:528 +#: ui/app.slint:531 msgid "Could not add attachments: {}" msgstr "" -#: ui/app.slint:529 +#: ui/app.slint:532 #, fuzzy msgid "Added 1 attachment." msgstr "1 pièce jointe ajoutée." -#: ui/app.slint:530 +#: ui/app.slint:533 #, fuzzy msgid "Added {} attachments." msgstr "{} pièces jointes ajoutées." -#: ui/app.slint:531 +#: ui/app.slint:534 #, fuzzy msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " @@ -1735,150 +1747,150 @@ msgstr "" "Pièces jointes ajoutées : {}. Ignorées : {} (doublons, illisibles ou " "dépassement de la limite totale de 25 Mo)." -#: ui/app.slint:532 +#: ui/app.slint:535 #, fuzzy msgid "Attachment removed." msgstr "Pièce jointe retirée." -#: ui/app.slint:533 +#: ui/app.slint:536 #, fuzzy msgid "Choose the account this message should be sent from." msgstr "Choisissez le compte depuis lequel envoyer ce message." -#: ui/app.slint:534 +#: ui/app.slint:537 #, 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:535 +#: ui/app.slint:538 #, 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:536 +#: ui/app.slint:539 #, fuzzy msgid "Message queued for delivery (action {})." msgstr "Message en attente d’envoi (action {})." -#: ui/app.slint:537 +#: ui/app.slint:540 #, fuzzy msgid "Sending message…" msgstr "Envoi du message…" -#: ui/app.slint:538 +#: ui/app.slint:541 #, fuzzy msgid "Message sent." msgstr "Message envoyé." -#: ui/app.slint:539 +#: ui/app.slint:542 #, fuzzy msgid "Message was not sent: {} Your draft is preserved." msgstr "Message non envoyé : {} Votre brouillon est conservé." -#: ui/app.slint:540 +#: ui/app.slint:543 #, fuzzy msgid "Draft saved locally (#{})." msgstr "Brouillon enregistré localement (n° {})." -#: ui/app.slint:541 +#: ui/app.slint:544 #, fuzzy msgid "Compose failed: {}" msgstr "Échec de la rédaction du message : {}" -#: ui/app.slint:542 +#: ui/app.slint:545 #, 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:543 +#: ui/app.slint:546 #, fuzzy msgid "Could not load email templates: {}" msgstr "Impossible de charger les modèles d’e-mails : {}" -#: ui/app.slint:544 +#: ui/app.slint:547 #, fuzzy msgid "Enter a template name." msgstr "Saisissez un nom de modèle." -#: ui/app.slint:545 +#: ui/app.slint:548 #, 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:546 +#: ui/app.slint:549 #, fuzzy msgid "Email template saved." msgstr "Modèle d’e-mail enregistré." -#: ui/app.slint:547 +#: ui/app.slint:550 #, fuzzy msgid "Could not save email template: {}" msgstr "Impossible d’enregistrer le modèle d’e-mail : {}" -#: ui/app.slint:548 +#: ui/app.slint:551 #, fuzzy msgid "Email template deleted." msgstr "Modèle d’e-mail supprimé." -#: ui/app.slint:549 +#: ui/app.slint:552 #, fuzzy msgid "Could not delete email template: {}" msgstr "Impossible de supprimer le modèle d’e-mail : {}" -#: ui/app.slint:550 +#: ui/app.slint:553 #, fuzzy msgid "Email template is no longer available." msgstr "Le modèle d’e-mail n’est plus disponible." -#: ui/app.slint:551 +#: ui/app.slint:554 #, fuzzy msgid "Email template inserted." msgstr "Modèle d’e-mail inséré." -#: ui/app.slint:552 +#: ui/app.slint:555 #, 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:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:557 #, fuzzy msgid "IMAP port must be between 1 and 65535." msgstr "Le port IMAP doit être compris entre 1 et 65535." -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:559 #, fuzzy msgid "SMTP port must be between 1 and 65535." msgstr "Le port SMTP doit être compris entre 1 et 65535." -#: ui/app.slint:557 +#: ui/app.slint:560 #, fuzzy msgid "Local mail data is unavailable. Retry startup." msgstr "Données locales des messages indisponibles. Relancez l’application." -#: ui/app.slint:558 +#: ui/app.slint:561 #, fuzzy msgid "Discovering JMAP and checking capabilities…" msgstr "Recherche du serveur JMAP et vérification de ses capacités…" -#: ui/app.slint:559 +#: ui/app.slint:562 #, fuzzy msgid "Certificate imported. Connect to verify the server." msgstr "Certificat importé. Connectez-vous pour vérifier le serveur." -#: ui/app.slint:560 +#: ui/app.slint:563 #, fuzzy msgid "Could not load account preferences: {}" msgstr "Impossible de charger les préférences du compte : {}" -#: ui/app.slint:561 +#: ui/app.slint:564 #, fuzzy msgid "" "Your edited signature was preserved. Choose No signature to keep it as " @@ -1887,21 +1899,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:562 +#: ui/app.slint:565 #, fuzzy msgid "Certificate import failed: {}" msgstr "Échec de l’importation du certificat : {}" -#: ui/app.slint:563 +#: ui/app.slint:566 #, fuzzy msgid "Testing IMAP and SMTP connections…" msgstr "Test des connexions IMAP et SMTP…" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:569 +#: ui/app.slint:572 #, fuzzy msgid "" "Another browser authorization is already in progress; finish it or choose " @@ -1910,117 +1922,117 @@ msgstr "" "Une autre autorisation via navigateur est déjà en cours ; terminez-la ou " "choisissez Annuler." -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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." msgstr "" "Ajoutez les clés d’application dans les paramètres de connexion pour activer " "ce fournisseur." -#: ui/app.slint:571 +#: ui/app.slint:574 #, fuzzy msgid "Choose Gmail or Outlook OAuth." msgstr "Choisissez l’authentification OAuth Gmail ou Outlook." -#: ui/app.slint:572 +#: ui/app.slint:575 #, 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:573 +#: ui/app.slint:576 #, fuzzy msgid "Cancelling browser sign-in…" msgstr "Annulation de la connexion via navigateur…" -#: ui/app.slint:574 +#: ui/app.slint:577 #, fuzzy msgid "Finishing browser sign-in…" msgstr "Finalisation de la connexion via navigateur…" -#: ui/app.slint:575 +#: ui/app.slint:578 #, fuzzy msgid "Could not use that browser address: {}" msgstr "Impossible d’utiliser cette adresse du navigateur : {}" -#: ui/app.slint:576 +#: ui/app.slint:579 #, fuzzy msgid "Calendar core is unavailable." msgstr "Le moteur de calendrier est indisponible." -#: ui/app.slint:577 +#: ui/app.slint:580 #, fuzzy msgid "Account no longer exists." msgstr "Le compte n’existe plus." -#: ui/app.slint:578 +#: ui/app.slint:581 #, fuzzy msgid "Authorize calendar access in your browser." msgstr "Autorisez l’accès au calendrier dans votre navigateur." -#: ui/app.slint:579 +#: ui/app.slint:582 #, fuzzy msgid "OAuth app keys saved." msgstr "Clés d’application OAuth enregistrées." -#: ui/app.slint:580 +#: ui/app.slint:583 #, fuzzy msgid "{} OAuth settings saved." msgstr "Paramètres OAuth de {} enregistrés." -#: ui/app.slint:581 +#: ui/app.slint:584 #, fuzzy msgid "OAuth settings failed: {}" msgstr "Échec des paramètres OAuth : {}" -#: ui/app.slint:582 +#: ui/app.slint:585 #, fuzzy msgid "Mail refresh failed: {}" msgstr "Échec de l’actualisation des messages : {}" -#: ui/app.slint:583 +#: ui/app.slint:586 #, fuzzy msgid "Mail filter failed: {}" msgstr "Échec du filtrage des messages : {}" -#: ui/app.slint:584 +#: ui/app.slint:587 #, fuzzy msgid "Mail pagination failed: {}" msgstr "Échec de la pagination des messages : {}" -#: ui/app.slint:585 +#: ui/app.slint:588 #, fuzzy msgid "Could not mark message as read: {}" msgstr "Impossible de marquer le message comme lu : {}" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 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:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 #, fuzzy msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 #, fuzzy msgid "Global Labels (local only)" msgstr "Étiquettes globales (locales uniquement)" -#: ui/app.slint:2208 +#: ui/app.slint:2216 #, fuzzy msgid "Empty Trash?" msgstr "Vider la corbeille ?" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 #, fuzzy msgid "Delete permanently?" msgstr "Supprimer définitivement ?" -#: ui/app.slint:2212 +#: ui/app.slint:2220 #, fuzzy msgid "" "Permanently delete all messages in Trash across every connected account?" @@ -2028,64 +2040,64 @@ msgstr "" "Supprimer définitivement tous les messages de la corbeille de tous les " "comptes connectés ?" -#: ui/app.slint:2213 +#: ui/app.slint:2221 #, 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:2215 +#: ui/app.slint:2223 #, fuzzy msgid "Permanently delete the selected conversations from Trash?" msgstr "" "Supprimer définitivement les conversations sélectionnées dans la corbeille ?" -#: ui/app.slint:2216 +#: ui/app.slint:2224 #, fuzzy msgid "Permanently delete this conversation from Trash?" msgstr "Supprimer définitivement cette conversation de la corbeille ?" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 #, fuzzy msgid "This action cannot be undone." msgstr "Cette action est irréversible." -#: ui/app.slint:2218 +#: ui/app.slint:2226 #, fuzzy msgid "Empty Trash" msgstr "Vider la corbeille" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 #, fuzzy msgid "Delete permanently" msgstr "Supprimer définitivement" -#: ui/app.slint:2392 +#: ui/app.slint:2400 #, fuzzy msgid "Mailbox startup failed" msgstr "Échec de l’initialisation de la boîte aux lettres" -#: ui/app.slint:2398 +#: ui/app.slint:2406 #, fuzzy msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail n’a pas pu ouvrir le stockage local" -#: ui/app.slint:2411 +#: ui/app.slint:2419 #, fuzzy msgid "Diagnostic ID: {}" msgstr "Identifiant de diagnostic : {}" -#: ui/app.slint:2414 +#: ui/app.slint:2422 #, fuzzy msgid "Diagnostic ID {}" msgstr "Identifiant de diagnostic {}" -#: ui/app.slint:2419 +#: ui/app.slint:2427 #, fuzzy msgid "Retry" msgstr "Réessayer" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 #, fuzzy msgid "Copy diagnostics" msgstr "Copier le diagnostic" @@ -2165,7 +2177,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "" #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "" @@ -2330,7 +2342,7 @@ msgstr "" "dernier message." #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 #, fuzzy msgid "Email address" msgstr "Adresse e-mail" @@ -2372,7 +2384,7 @@ msgstr "Ajouter l’adresse d’expéditeur" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 #, fuzzy msgid "Cancel" @@ -2623,7 +2635,7 @@ msgid "Export decrypted message" msgstr "Exporter le message déchiffré" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 #, fuzzy msgid "Close" @@ -2675,7 +2687,7 @@ msgid "Show calendars" msgstr "Afficher les calendriers" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 #, fuzzy msgid "Reset" msgstr "Réinitialiser" @@ -3167,7 +3179,7 @@ msgstr "Confirmer" msgid "On" msgstr "Activé" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 #, fuzzy msgid "Off" msgstr "Désactivé" @@ -3757,8 +3769,8 @@ msgstr[1] "" msgid "Files" msgstr "Fichiers" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 #, fuzzy msgid "Contacts" msgstr "Contacts" @@ -3768,7 +3780,7 @@ msgstr "Contacts" msgid "Settings" msgstr "Paramètres" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 #, fuzzy msgid "Mail" msgstr "Messagerie" @@ -3779,7 +3791,7 @@ msgid "Close tab" msgstr "Fermer l’onglet" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 #, fuzzy msgid "Tabs" msgstr "Onglets" @@ -4006,7 +4018,7 @@ msgstr "" msgid "Close tabs to the right" msgstr "" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 #, fuzzy msgid "Zoom out" msgstr "Réduire le zoom" @@ -4021,7 +4033,7 @@ msgstr "Réinitialiser le zoom ({} %)" msgid "Zoom percentage" msgstr "Pourcentage du zoom" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 #, fuzzy msgid "Zoom in" msgstr "Agrandir le zoom" @@ -4406,11 +4418,11 @@ msgstr "" msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "" -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "" @@ -4580,7 +4592,7 @@ msgstr "" msgid "Continue in background" msgstr "" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "" @@ -4598,7 +4610,7 @@ msgid_plural "Import {n} accounts" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 #, fuzzy msgid "Import" msgstr "Importer" @@ -4983,7 +4995,7 @@ msgstr "Copier la source" msgid "Report issue" msgstr "Signaler un problème" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 #, fuzzy msgid "Sync" msgstr "Synchronisation" @@ -5099,138 +5111,138 @@ msgstr "Bientôt disponible" msgid "Learn more" msgstr "En savoir plus" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 #, fuzzy msgid "Every minute" msgstr "Chaque minute" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 #, fuzzy msgid "Every 5 minutes" msgstr "Toutes les 5 minutes" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 #, fuzzy msgid "Every 15 minutes" msgstr "Toutes les 15 minutes" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 #, fuzzy msgid "Important mail" msgstr "Messages importants" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 #, fuzzy msgid "All new mail" msgstr "Tous les nouveaux messages" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 #, fuzzy msgid "1 month" msgstr "1 mois" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 #, fuzzy msgid "3 months" msgstr "3 mois" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 #, fuzzy msgid "6 months · Recommended" msgstr "6 mois · Recommandé" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 #, fuzzy msgid "1 year" msgstr "1 an" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 #, fuzzy msgid "All mail" msgstr "Tous les messages" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 #, fuzzy msgid "System language" msgstr "Langue du système" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 #, fuzzy msgid "English" msgstr "Anglais" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 #, fuzzy msgid "Spanish" msgstr "Espagnol" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 #, fuzzy msgid "Turkish" msgstr "Turc" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 #, fuzzy msgid "Simplified Chinese" msgstr "Chinois simplifié" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 #, fuzzy msgid "Russian" msgstr "Russe" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "Automatique" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "12 heures" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "24 heures" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 #, fuzzy msgid "" "contacts people suggestions autocomplete recipients senders address book " @@ -5239,18 +5251,18 @@ msgstr "" "contacts personnes suggestions saisie automatique destinataires expéditeurs " "carnet d’adresses confidentialité effacer" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 #, fuzzy msgid "notifications alerts sounds desktop new mail" msgstr "notifications alertes sons bureau nouveaux messages" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" msgstr "" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 #, fuzzy msgid "" "storage data usage mail attachments files databases backup snapshot import " @@ -5259,7 +5271,7 @@ msgstr "" "stockage données utilisation messages pièces jointes fichiers bases de " "données sauvegarde instantané import export suppression" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 #, fuzzy msgid "" "services flectar base account sign in subscription paid sync devices " @@ -5268,366 +5280,376 @@ msgstr "" "services flectar base compte connexion abonnement payant synchronisation " "appareils e-mail professionnel domaine personnalisé boîte aux lettres" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 #, fuzzy msgid "about version credits contributors license flectar" msgstr "à propos version crédits contributeurs licence flectar" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 #, fuzzy msgid "SETTINGS" msgstr "PARAMÈTRES" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 #, fuzzy msgid "No settings found" msgstr "Aucun paramètre trouvé" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 #, fuzzy msgid "General" msgstr "Général" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 #, fuzzy msgid "Accounts" msgstr "Comptes" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 #, fuzzy msgid "Notifications" msgstr "Notifications" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 #, fuzzy msgid "Shortcuts" msgstr "Raccourcis" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 #, fuzzy msgid "Storage" msgstr "Stockage" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "Services" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 #, fuzzy msgid "About" msgstr "À propos" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 #, fuzzy msgid "Manage appearance, privacy, and synchronization." msgstr "Gérer l’apparence, la confidentialité et la synchronisation." -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 #, fuzzy msgid "Message appearance" msgstr "Apparence des messages" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 #, fuzzy msgid "Choose the background and text colors used to read messages." msgstr "" "Choisissez les couleurs de fond et de texte pour la lecture des messages." -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 #, fuzzy msgid "Follow app theme" msgstr "Suivre le thème de l’application" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 #, fuzzy msgid "Interface" msgstr "Interface" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 #, fuzzy msgid "Monochrome sidebar icons" msgstr "Icônes monochromes dans la barre latérale" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 #, fuzzy msgid "Use one neutral color for mailbox and folder icons." msgstr "" "Utiliser une seule couleur neutre pour les icônes des boîtes aux lettres et " "des dossiers." -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 #, fuzzy msgid "No avatars" msgstr "Aucun avatar" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 #, fuzzy msgid "Hide sender images in the message list and reader." msgstr "" "Masquer les images des expéditeurs dans la liste et la lecture des messages." -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 #, fuzzy msgid "Frameless window" msgstr "Fenêtre sans bordure" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 #, fuzzy msgid "Replace the system title bar with window controls in the toolbar." msgstr "" "Remplacer la barre de titre du système par les contrôles de fenêtre dans la " "barre d’outils." -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 #, fuzzy msgid "Workspace layout" msgstr "Disposition de l’espace de travail" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 #, fuzzy msgid "Minimal" msgstr "Minimaliste" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "Langue et heure" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 #, fuzzy msgid "Display language" msgstr "Langue d’affichage" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 #, fuzzy msgid "Follow your device language when a translation is available." msgstr "" "Utiliser la langue de votre appareil lorsqu’une traduction est disponible." -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 #, fuzzy msgid "Choose the language used throughout Flectar Mail." msgstr "Choisissez la langue utilisée dans Flectar Mail." -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "Format de l’heure" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "Suit les usages de votre région, par exemple {}." -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "Les heures s’affichent ainsi : {}." -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 #, fuzzy msgid "Inbox behavior" msgstr "Comportement de la boîte de réception" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 #, fuzzy msgid "Unified Inbox" msgstr "Boîte de réception unifiée" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 #, fuzzy msgid "DEFAULT" msgstr "PAR DÉFAUT" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 #, fuzzy msgid "Combines incoming messages from every connected account." msgstr "Regroupe les messages entrants de tous les comptes connectés." -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 #, fuzzy msgid "Group messages by date" msgstr "Regrouper les messages par date" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 #, fuzzy msgid "Show collapsible date sections in the mail list." msgstr "Afficher des sections repliables par date dans la liste des messages." -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1288 #, fuzzy msgid "Mark messages as read when opened" msgstr "Marquer les messages comme lus à l’ouverture" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 #, fuzzy msgid "Turn this off to keep unread status until you change it manually." msgstr "" "Désactivez cette option pour conserver les messages non lus jusqu’à ce que " "vous changiez leur statut manuellement." -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 #, fuzzy msgid "Remote images" msgstr "Images distantes" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 #, fuzzy msgid "Load sender favicons and images embedded in message bodies." msgstr "" "Charger les favicons des expéditeurs et les images intégrées au corps des " "messages." -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 #, fuzzy msgid "Unavailable in this minimal build." msgstr "Indisponible dans cette version minimale." -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 #, fuzzy msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" "Désactivé par défaut pour bloquer les pixels de suivi et limiter " "l’utilisation de mémoire." -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 #, fuzzy msgid "Keep running in system tray" msgstr "Continuer à fonctionner dans la zone de notification" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 #, fuzzy msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" "La fermeture de la fenêtre masque Flectar Mail pendant que la " "synchronisation des messages continue." -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 #, fuzzy msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "" "Désactivé par défaut ; Quitter dans le menu de la zone de notification " "arrête l’application." -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 #, fuzzy msgid "Sync and notifications" msgstr "Synchronisation et notifications" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 #, fuzzy msgid "Check for new mail" msgstr "Vérifier les nouveaux messages" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 #, fuzzy msgid "How often to refresh when an instant provider update is unavailable." msgstr "" "Fréquence d’actualisation lorsqu’un fournisseur ne propose pas de mises à " "jour instantanées." -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 #, fuzzy msgid "Desktop notifications" msgstr "Notifications sur le bureau" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 #, fuzzy msgid "Choose which incoming messages can alert you." msgstr "Choisissez quels messages entrants peuvent déclencher une alerte." -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 #, fuzzy msgid "Provider synchronization is ready." msgstr "La synchronisation avec le fournisseur est prête." -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 #, fuzzy msgid "Syncing…" msgstr "Synchronisation…" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 #, fuzzy msgid "Sync now" msgstr "Synchroniser maintenant" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 #, fuzzy msgid "Renderer" msgstr "Moteur de rendu" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 #, fuzzy msgid "Changes take effect after restarting Flectar Mail." msgstr "Les modifications prennent effet au redémarrage de Flectar Mail." -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 #, fuzzy msgid "GPU mode is unavailable in this build." msgstr "Le mode GPU n’est pas disponible dans cette version." -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 #, fuzzy msgid "CPU — Low Memory" msgstr "CPU — Faible mémoire" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 #, fuzzy msgid "GPU — WGPU" msgstr "GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 #, fuzzy msgid "Restart required. Your current renderer is still active." msgstr "Redémarrage nécessaire. Le moteur de rendu actuel reste actif." -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 #, fuzzy msgid "Active: GPU — WGPU" msgstr "Actif : GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 #, fuzzy msgid "Active: CPU — Low Memory" msgstr "Actif : CPU — Faible mémoire" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." msgstr "" -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 #, fuzzy msgid "" "Keep your address book clean while still making frequent recipients easy to " @@ -5636,12 +5658,12 @@ msgstr "" "Gardez votre carnet d’adresses organisé tout en retrouvant facilement vos " "correspondants fréquents." -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 #, fuzzy msgid "Remember people I email" msgstr "Mémoriser les personnes à qui j’écris" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 #, fuzzy msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " @@ -5650,12 +5672,12 @@ msgstr "" "Si activé, mémorise les destinataires À, Cc et Cci des nouveaux envois et " "des messages envoyés synchronisés." -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 #, fuzzy msgid "Remember incoming senders" msgstr "Mémoriser les expéditeurs entrants" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 #, fuzzy msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " @@ -5664,12 +5686,12 @@ msgstr "" "Mémorise les expéditeurs humains des nouveaux messages. Les messages " "automatisés, indésirables, supprimés ou anciens sont exclus." -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 #, fuzzy msgid "Use suggestions from all accounts" msgstr "Utiliser les suggestions de tous les comptes" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 #, fuzzy msgid "" "Include people emailed from any connected account. Turn off to keep learned " @@ -5678,12 +5700,12 @@ msgstr "" "Inclure les personnes contactées depuis tous les comptes. Désactivez pour " "conserver des suggestions propres à chaque compte." -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 #, fuzzy msgid "Use suggestions when composing" msgstr "Utiliser les suggestions lors de la rédaction" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 #, fuzzy msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " @@ -5692,12 +5714,12 @@ msgstr "" "Inclure les personnes apprises dans la saisie automatique des destinataires. " "Les contacts enregistrés et CardDAV restent toujours accessibles." -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 #, fuzzy msgid "Suggested people" msgstr "Personnes suggérées" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 #, fuzzy msgid "" "People you email remain available as local suggestions and never sync to " @@ -5707,17 +5729,17 @@ msgstr "" "suggestions locales et ne sont jamais synchronisées vers CardDAV. Effacez-" "les à tout moment pour recommencer l’apprentissage." -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 #, fuzzy msgid "Clear now" msgstr "Effacer maintenant" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 #, fuzzy msgid "Clear suggested people" msgstr "Effacer les personnes suggérées" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 #, fuzzy msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " @@ -5726,7 +5748,7 @@ msgstr "" "Gérez les boîtes aux lettres connectées et ajoutez des fournisseurs. Faites " "glisser un compte pour modifier son ordre partout." -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 #, fuzzy msgid "" "Group accounts as Personal or Work and identify them by color in the mail " @@ -5735,17 +5757,17 @@ msgstr "" "Regroupez les comptes par catégories Personnel ou Professionnel et " "distinguez-les par une couleur dans la liste des messages." -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 #, fuzzy msgid "Add profile" msgstr "Ajouter un profil" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 #, fuzzy msgid "Show account color at the left edge of each message" msgstr "Afficher la couleur du compte sur le bord gauche de chaque message" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 #, fuzzy msgid "" "No profiles yet. Accounts keep their individual or generated colors until " @@ -5754,97 +5776,97 @@ msgstr "" "Aucun profil pour le moment. Les comptes conservent leur couleur propre ou " "générée jusqu’à la création d’un profil." -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 #, fuzzy msgid "Edit profile" msgstr "Modifier le profil" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 #, fuzzy msgid "Delete profile" msgstr "Supprimer le profil" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 #, fuzzy msgid "Add Gmail" msgstr "Ajouter Gmail" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 #, fuzzy msgid "Add Outlook" msgstr "Ajouter Outlook" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 #, fuzzy msgid "Add mail account" msgstr "Ajouter un compte de messagerie" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 #, fuzzy msgid "Cancel sign-in" msgstr "Annuler la connexion" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 #, fuzzy msgid "Connected · JMAP" msgstr "Connecté · JMAP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 #, fuzzy msgid "Connected · IMAP + SMTP" msgstr "Connecté · IMAP + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 #, fuzzy msgid "Account status: {}" msgstr "État du compte : {}" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 #, fuzzy msgid "Reconnect" msgstr "Reconnecter" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 #, fuzzy msgid "Manage" msgstr "Gérer" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 #, fuzzy msgid "Fix CardDAV" msgstr "Réparer CardDAV" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "CardDAV" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 #, fuzzy msgid "Mail synchronization error: {}" msgstr "Erreur de synchronisation des messages : {}" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 #, fuzzy msgid "Mail history" msgstr "Historique des messages" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 #, fuzzy msgid "" "Download the full mailbox. Large accounts can take considerable time and " @@ -5853,134 +5875,134 @@ msgstr "" "Télécharger toute la boîte aux lettres. Les comptes volumineux peuvent " "nécessiter beaucoup de temps et d’espace." -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 #, fuzzy msgid "How far back to download. Mail already stored on this device is kept." msgstr "" "Choisissez jusqu’à quelle date passée télécharger. Les messages déjà stockés " "sur cet appareil sont conservés." -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "Copies envoyées" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" "Choisissez qui enregistre les messages envoyés. Utilisez Flectar si votre " "serveur ne conserve pas de copie." -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "Par défaut du fournisseur" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "Le serveur conserve une copie" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "Flectar conserve une copie" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "" -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "" -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." msgstr "" -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 #, fuzzy msgid "Uses the {} color in the mail list" msgstr "Utilise la couleur {} dans la liste des messages" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 #, fuzzy msgid "Uses a custom account color" msgstr "Utilise une couleur de compte personnalisée" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 #, fuzzy msgid "Uses a generated account color" msgstr "Utilise une couleur de compte générée" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 #, fuzzy msgid "OAuth app credentials" msgstr "Identifiants de l’application OAuth" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 #, fuzzy msgid "Custom desktop app credentials are configured." msgstr "" "Des identifiants personnalisés pour une application de bureau sont " "configurés." -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 #, fuzzy msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" "Avancé : utilisez votre propre application de bureau enregistrée auprès de " "Gmail ou Microsoft." -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 #, fuzzy msgid "Hide" msgstr "Masquer" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 #, fuzzy msgid "Configure" msgstr "Configurer" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 #, fuzzy msgid "Gmail desktop client ID" msgstr "ID client Gmail pour ordinateur" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 #, fuzzy msgid "Gmail client secret (optional)" msgstr "Secret client Gmail (facultatif)" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 #, fuzzy msgid "Save Gmail" msgstr "Enregistrer Gmail" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 #, fuzzy msgid "Save Gmail settings" msgstr "Enregistrer les paramètres Gmail" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 #, fuzzy msgid "Save Outlook" msgstr "Enregistrer Outlook" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 #, fuzzy msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." @@ -5988,44 +6010,44 @@ msgstr "" "Les applications de bureau publiques Outlook utilisent PKCE et n’ont pas " "besoin de secret client." -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 #, fuzzy msgid "Connect CardDAV" msgstr "Connecter CardDAV" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 #, fuzzy msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "" "Synchroniser les contacts avec un serveur CardDAV conforme aux standards." -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 #, fuzzy msgid "https://contacts.example.com/" msgstr "https://contacts.example.com/" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 #, fuzzy msgid "Username" msgstr "Nom d’utilisateur" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 #, fuzzy msgid "App password" msgstr "Mot de passe d’application" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 #, fuzzy msgid "Disconnect" msgstr "Déconnecter" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 #, fuzzy msgid "Connect" msgstr "Connecter" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 #, fuzzy msgid "" "See what Flectar Mail stores locally and manage the data on this device." @@ -6033,38 +6055,38 @@ msgstr "" "Découvrez les données stockées localement par Flectar Mail et gérez-les sur " "cet appareil." -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 #, fuzzy msgid "Delete…" msgstr "Supprimer…" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 #, fuzzy msgid "Database snapshot" msgstr "Instantané de la base de données" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 #, fuzzy msgid "" "Export verified copies of the mail and calendar databases with their schema " @@ -6073,7 +6095,7 @@ msgstr "" "Exporter des copies vérifiées des bases de données de messagerie et de " "calendrier avec leurs versions de schéma." -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 #, fuzzy msgid "" "The snapshot contains private local mail and settings, but not passwords or " @@ -6082,17 +6104,17 @@ msgstr "" "L’instantané contient des messages locaux privés et des paramètres, mais " "aucun mot de passe ni jeton OAuth. Conservez-le en lieu sûr." -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 #, fuzzy msgid "Export snapshot" msgstr "Exporter l’instantané" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 #, fuzzy msgid "Transfer account setup" msgstr "Transférer la configuration des comptes" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -6102,7 +6124,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 #, fuzzy msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " @@ -6111,17 +6133,17 @@ msgstr "" "Les mots de passe et jetons OAuth restent dans le trousseau du système. Un " "appareil restauré vous demandera de vous reconnecter en toute sécurité." -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 #, fuzzy msgid "Export" msgstr "Exporter" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 #, fuzzy msgid "Delete all local data" msgstr "Supprimer toutes les données locales" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 #, fuzzy msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " @@ -6130,138 +6152,138 @@ msgstr "" "Supprimer les comptes, messages téléchargés, calendriers, contacts, " "préférences et identifiants de cet appareil." -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 #, fuzzy msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "Cela ne supprime rien de Gmail, d’Outlook ou de votre serveur IMAP." -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 #, fuzzy msgid "Delete everything" msgstr "Tout supprimer" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 #, fuzzy msgid "Choose how Flectar Mail gets your attention." msgstr "Choisissez comment Flectar Mail attire votre attention." -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 #, fuzzy msgid "Notification sounds" msgstr "Sons de notification" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 #, fuzzy msgid "Play a sound for new mail and sent messages." msgstr "Émettre un son pour les nouveaux messages et les messages envoyés." -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 #, fuzzy msgid "Keyboard shortcuts" msgstr "Raccourcis clavier" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 #, fuzzy msgid "Move through mail without leaving the keyboard." msgstr "Parcourez vos messages sans quitter le clavier." -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 #, fuzzy msgid "Compose a new message" msgstr "Rédiger un nouveau message" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 #, fuzzy msgid "Search mail" msgstr "Rechercher des messages" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 #, fuzzy msgid "Archive" msgstr "Archiver" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 #, fuzzy msgid "Move to spam" msgstr "Déplacer vers les indésirables" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 #, fuzzy msgid "Move to trash" msgstr "Déplacer vers la corbeille" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 #, fuzzy msgid "Find in message" msgstr "Rechercher dans le message" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 #, fuzzy msgid "Caret browsing" msgstr "Navigation au curseur" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 #, fuzzy msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " @@ -6270,38 +6292,38 @@ msgstr "" "Services payants facultatifs de Flectar. Flectar Mail reste gratuit et " "fonctionne sans eux." -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 #, fuzzy msgid "Flectar account" msgstr "Compte Flectar" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 #, fuzzy msgid "Not signed in" msgstr "Non connecté" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 #, fuzzy msgid "Sign in with Flectar" msgstr "Se connecter avec Flectar" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 #, fuzzy msgid "Sign-in coming soon" msgstr "Connexion bientôt disponible" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 #, fuzzy msgid "Your setup on every device" msgstr "Votre configuration sur tous vos appareils" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 #, fuzzy msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " @@ -6311,27 +6333,27 @@ msgstr "" "calendriers, contacts et préférences seront prêts sans nouvelle " "configuration." -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 #, fuzzy msgid "Mail accounts, profiles, and signatures" msgstr "Comptes de messagerie, profils et signatures" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 #, fuzzy msgid "Calendar and contact connections" msgstr "Connexions aux calendriers et aux contacts" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 #, fuzzy msgid "Themes, layout, and notification preferences" msgstr "Thèmes, disposition et préférences de notification" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 #, fuzzy msgid "Account credentials, encrypted on this device before upload" msgstr "Identifiants des comptes, chiffrés sur cet appareil avant transfert" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 #, fuzzy msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " @@ -6340,108 +6362,108 @@ msgstr "" "Vos messages restent chez votre fournisseur de messagerie. Seule votre " "configuration Flectar Mail est synchronisée." -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 #, fuzzy msgid "Mailboxes on your own domain" msgstr "Boîtes aux lettres sur votre propre domaine" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "" -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 #, fuzzy msgid "Connect a domain you already own" msgstr "Connecter un domaine dont vous êtes propriétaire" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 #, fuzzy msgid "Create and manage mailboxes for your team" msgstr "Créer et gérer les boîtes aux lettres de votre équipe" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 #, fuzzy msgid "New mailboxes appear in Flectar Mail automatically" msgstr "" "Les nouvelles boîtes aux lettres apparaissent automatiquement dans Flectar " "Mail" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 #, fuzzy msgid "Flectar Mail, its makers, and its community." msgstr "Flectar Mail, ses créateurs et sa communauté." -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 #, fuzzy msgid "Flectar Mail logo" msgstr "Logo de Flectar Mail" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 #, fuzzy msgid "A native mail client for a calm, private inbox." msgstr "" "Un client de messagerie natif pour une boîte de réception sereine et privée." -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 #, fuzzy msgid "Version {}" msgstr "Version {}" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 #, fuzzy msgid "Credits" msgstr "Crédits" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 #, fuzzy msgid "Built by Flectar with help from the open-source community." msgstr "Développé par Flectar avec l’aide de la communauté du logiciel libre." -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 #, fuzzy msgid "Flectar" msgstr "Flectar" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 #, fuzzy msgid "Company website" msgstr "Site web de l’entreprise" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 #, fuzzy msgid "Open-source contributors" msgstr "Contributeurs au logiciel libre" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 #, fuzzy msgid "Meet the people who have contributed on GitHub" msgstr "Découvrez les personnes qui ont contribué sur GitHub" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 #, fuzzy msgid "License" msgstr "Licence" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 #, fuzzy msgid "AGPL-3.0-only." msgstr "AGPL-3.0-only." -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 #, fuzzy msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " @@ -6450,38 +6472,38 @@ msgstr "" "Flectar Mail est distribué exclusivement sous licence GNU Affero General " "Public License v3.0." -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 #, fuzzy msgid "Third-party components retain their own licenses and notices." msgstr "" "Les composants tiers conservent leurs propres licences et mentions légales." -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 #, fuzzy msgid "Settings sections" msgstr "Sections des paramètres" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 #, fuzzy msgid "Close settings" msgstr "Fermer les paramètres" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 #, fuzzy msgid "Close settings sections" msgstr "Fermer les sections des paramètres" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 #, fuzzy msgid "CalDAV settings" msgstr "Paramètres CalDAV" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 #, fuzzy msgid "Discover new calendars." msgstr "Découvrir de nouveaux calendriers." -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 #, fuzzy msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " @@ -6490,154 +6512,154 @@ msgstr "" "Compatible avec iCloud, Fastmail, Nextcloud et les serveurs CalDAV conformes " "aux standards." -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 #, fuzzy msgid "Server address" msgstr "Adresse du serveur" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 #, fuzzy msgid "https://calendar.example.com/" msgstr "https://calendar.example.com/" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." msgstr "" -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 #, fuzzy msgid "Usually your email address" msgstr "Généralement votre adresse e-mail" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 #, fuzzy msgid "New app password · Optional" msgstr "Nouveau mot de passe d’application · Facultatif" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 #, fuzzy msgid "Leave blank to keep the current password" msgstr "Laisser vide pour conserver le mot de passe actuel" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 #, fuzzy msgid "Stored securely in your system keyring" msgstr "Conservé en sécurité dans le trousseau du système" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 #, fuzzy msgid "Connecting…" msgstr "Connexion…" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 #, fuzzy msgid "Edit mail account" msgstr "Modifier le compte de messagerie" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 #, fuzzy msgid "Connect a mail account" msgstr "Connecter un compte de messagerie" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 #, fuzzy msgid "Edit {}" msgstr "Modifier {}" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 #, fuzzy msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "" "Utilise JMAP pour synchroniser et envoyer les messages, avec découverte " "automatique du serveur." -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 #, fuzzy msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "" "Utilise des serveurs IMAP et SMTP distincts pour la synchronisation et " "l’envoi." -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 #, fuzzy msgid "name@example.com" msgstr "nom@example.com" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 #, fuzzy msgid "Password, app password, or API token" msgstr "Mot de passe, mot de passe d’application ou jeton API" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 #, fuzzy msgid "Password or app password" msgstr "Mot de passe ou mot de passe d’application" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 #, fuzzy msgid "JMAP" msgstr "JMAP" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 #, fuzzy msgid "Server address · Optional" msgstr "Adresse du serveur · Facultatif" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 #, fuzzy msgid "Discovered from your email domain" msgstr "Détectée à partir de votre domaine de messagerie" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 #, fuzzy msgid "IMAP server" msgstr "Serveur IMAP" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 #, fuzzy msgid "imap.example.com" msgstr "imap.example.com" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 #, fuzzy msgid "Port" msgstr "Port" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 #, fuzzy msgid "SMTP server" msgstr "Serveur SMTP" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 #, fuzzy msgid "smtp.example.com" msgstr "smtp.example.com" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 #, fuzzy msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " @@ -6646,67 +6668,67 @@ msgstr "" "Proton Bridge : utilisez les serveurs locaux, ports et mot de passe affichés " "dans Bridge, avec les paramètres de chiffrement correspondants." -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 #, fuzzy msgid "Save account" msgstr "Enregistrer le compte" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 #, fuzzy msgid "Connect account" msgstr "Connecter le compte" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 #, fuzzy msgid "Create profile" msgstr "Créer un profil" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 #, fuzzy msgid "Profile name" msgstr "Nom du profil" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 #, fuzzy msgid "Personal or Work" msgstr "Personnel ou Professionnel" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 #, fuzzy msgid "Color" msgstr "Couleur" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 #, fuzzy msgid "Profile color {}" msgstr "Couleur du profil {}" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 #, fuzzy msgid "Save profile" msgstr "Enregistrer le profil" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 #, fuzzy msgid "Could not save this profile. Check the name and try again." msgstr "Impossible d’enregistrer ce profil. Vérifiez son nom et réessayez." -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 #, fuzzy msgid "Choose a profile for {}" msgstr "Choisissez un profil pour {}" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 #, fuzzy msgid "Delete all local data?" msgstr "Supprimer toutes les données locales ?" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 #, fuzzy msgid "" "This removes every account, downloaded message, calendar, contact, " @@ -6715,20 +6737,20 @@ msgstr "" "Tous les comptes, messages téléchargés, calendriers, contacts, préférences " "et identifiants stockés par Flectar Mail sur cet appareil seront supprimés." -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " "servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 #, fuzzy msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." @@ -6736,72 +6758,72 @@ msgstr "" "Les messages et événements sur les serveurs Gmail, Outlook et IMAP ne seront " "pas supprimés." -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 #, fuzzy msgid "Keep my data" msgstr "Conserver mes données" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 #, fuzzy msgid "Remove account?" msgstr "Supprimer le compte ?" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 #, fuzzy msgid "Remove this account and its downloaded mail from this device." msgstr "Supprimer ce compte et ses messages téléchargés de cet appareil." -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 #, fuzzy msgid "Messages on the mail server will not be deleted." msgstr "Les messages sur le serveur de messagerie ne seront pas supprimés." -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 #, fuzzy msgid "Remove account" msgstr "Supprimer le compte" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 #, fuzzy msgid "Keep account" msgstr "Conserver le compte" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 #, fuzzy msgid "Delete profile?" msgstr "Supprimer le profil ?" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 #, fuzzy msgid "" "Accounts assigned to this profile will return to their individual or " @@ -6810,29 +6832,29 @@ msgstr "" "Les comptes associés à ce profil retrouveront leur couleur individuelle ou " "générée." -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 #, fuzzy msgid "Accounts and provider data are not changed." msgstr "Les comptes et les données des fournisseurs ne seront pas modifiés." -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 #, fuzzy msgid "Keep profile" msgstr "Conserver le profil" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "" diff --git a/lang/it/LC_MESSAGES/flectar-mail.po b/lang/it/LC_MESSAGES/flectar-mail.po index 93f6ab38..22ba15e7 100644 --- a/lang/it/LC_MESSAGES/flectar-mail.po +++ b/lang/it/LC_MESSAGES/flectar-mail.po @@ -21,7 +21,7 @@ msgid "Graphite" msgstr "" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "" @@ -384,7 +384,7 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "" @@ -644,1140 +644,1152 @@ msgid "Could not save mail grouping preference: {}" msgstr "" #: ui/app.slint:278 -msgid "Profile changes require local mail data." +msgid "Conversation view updated for this session." msgstr "" #: ui/app.slint:279 -msgid "Profile saved." +msgid "Conversation view preference saved." msgstr "" #: ui/app.slint:280 -msgid "Could not save profile: {}" +msgid "Could not save conversation view preference: {}" msgstr "" #: ui/app.slint:281 -msgid "Account profile updated." +msgid "Profile changes require local mail data." msgstr "" #: ui/app.slint:282 -msgid "Account color changes require local mail data." +msgid "Profile saved." msgstr "" #: ui/app.slint:283 -msgid "Account color updated." +msgid "Could not save profile: {}" msgstr "" #: ui/app.slint:284 -msgid "Could not update account color: {}" +msgid "Account profile updated." msgstr "" #: ui/app.slint:285 -msgid "Could not update account profile: {}" +msgid "Account color changes require local mail data." msgstr "" #: ui/app.slint:286 -msgid "Profile deleted." +msgid "Account color updated." msgstr "" #: ui/app.slint:287 -msgid "Could not delete profile: {}" +msgid "Could not update account color: {}" msgstr "" #: ui/app.slint:288 -msgid "Could not switch profile: {}" +msgid "Could not update account profile: {}" msgstr "" #: ui/app.slint:289 -msgid "Marker preference is active for this session." +msgid "Profile deleted." msgstr "" #: ui/app.slint:290 -msgid "Mail-list marker preference saved." +msgid "Could not delete profile: {}" msgstr "" #: ui/app.slint:291 -msgid "Could not save mail-list marker preference: {}" +msgid "Could not switch profile: {}" msgstr "" #: ui/app.slint:292 -msgid "Workspace layout updated for this session." +msgid "Marker preference is active for this session." msgstr "" #: ui/app.slint:293 -msgid "Workspace layout preference saved." +msgid "Mail-list marker preference saved." msgstr "" #: ui/app.slint:294 -msgid "Could not save workspace layout: {}" +msgid "Could not save mail-list marker preference: {}" msgstr "" #: ui/app.slint:295 +msgid "Workspace layout updated for this session." +msgstr "" + +#: ui/app.slint:296 +msgid "Workspace layout preference saved." +msgstr "" + +#: ui/app.slint:297 +msgid "Could not save workspace layout: {}" +msgstr "" + +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "" -#: ui/app.slint:309 +#: ui/app.slint:312 msgid "System tray behavior is unavailable in this package." msgstr "" -#: ui/app.slint:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "" -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "" -#: ui/app.slint:312 +#: ui/app.slint:315 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" -#: ui/app.slint:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "" -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "" -#: ui/app.slint:316 +#: ui/app.slint:319 msgid "Flectar Mail will no longer start when you sign in." msgstr "" -#: ui/app.slint:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "" -#: ui/app.slint:318 +#: ui/app.slint:321 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" -#: ui/app.slint:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:335 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:379 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:377 +#: ui/app.slint:380 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:382 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:391 +#: ui/app.slint:394 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:397 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:400 +#: ui/app.slint:403 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:430 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:431 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:432 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:433 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:436 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:466 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:470 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:478 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "" -#: ui/app.slint:482 +#: ui/app.slint:485 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:484 +#: ui/app.slint:487 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:488 msgid "Label added." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:512 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:517 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "" -#: ui/app.slint:522 -msgid "Forwarded message" -msgstr "" - -#: ui/app.slint:523 -msgctxt "forwarded message header" -msgid "From: {}" -msgstr "" - -#: ui/app.slint:524 -msgctxt "forwarded message header" -msgid "Date: {}" -msgstr "" - #: ui/app.slint:525 -msgctxt "forwarded message header" -msgid "Subject: {}" +msgid "Forwarded message" msgstr "" #: ui/app.slint:526 msgctxt "forwarded message header" -msgid "To: {}" +msgid "From: {}" msgstr "" #: ui/app.slint:527 -msgid "Attach files to this email" +msgctxt "forwarded message header" +msgid "Date: {}" msgstr "" #: ui/app.slint:528 -msgid "Could not add attachments: {}" +msgctxt "forwarded message header" +msgid "Subject: {}" msgstr "" #: ui/app.slint:529 -msgid "Added 1 attachment." +msgctxt "forwarded message header" +msgid "To: {}" msgstr "" #: ui/app.slint:530 -msgid "Added {} attachments." +msgid "Attach files to this email" msgstr "" #: ui/app.slint:531 +msgid "Could not add attachments: {}" +msgstr "" + +#: ui/app.slint:532 +msgid "Added 1 attachment." +msgstr "" + +#: ui/app.slint:533 +msgid "Added {} attachments." +msgstr "" + +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:536 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:537 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:538 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:555 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:557 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:559 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:560 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:562 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:572 +#: ui/app.slint:575 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2212 +#: ui/app.slint:2220 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2213 +#: ui/app.slint:2221 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -1852,7 +1864,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "" #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "" @@ -1975,7 +1987,7 @@ msgid "" msgstr "" #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "" @@ -2009,7 +2021,7 @@ msgstr "" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "" @@ -2195,7 +2207,7 @@ msgid "Export decrypted message" msgstr "" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "" @@ -2243,7 +2255,7 @@ msgid "Show calendars" msgstr "" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "" @@ -2641,7 +2653,7 @@ msgstr "" msgid "On" msgstr "" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "" @@ -3130,8 +3142,8 @@ msgstr[1] "" msgid "Files" msgstr "" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "" @@ -3139,7 +3151,7 @@ msgstr "" msgid "Settings" msgstr "" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "" @@ -3148,7 +3160,7 @@ msgid "Close tab" msgstr "" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "" @@ -3334,7 +3346,7 @@ msgstr "" msgid "Close tabs to the right" msgstr "" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "" @@ -3346,7 +3358,7 @@ msgstr "" msgid "Zoom percentage" msgstr "" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "" @@ -3679,11 +3691,11 @@ msgstr "" msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "" -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "" @@ -3853,7 +3865,7 @@ msgstr "" msgid "Continue in background" msgstr "" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "" @@ -3871,7 +3883,7 @@ msgid_plural "Import {n} accounts" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "" @@ -4211,7 +4223,7 @@ msgstr "" msgid "Report issue" msgstr "" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "" @@ -4303,799 +4315,809 @@ msgstr "" msgid "Learn more" msgstr "" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" msgstr "" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" msgstr "" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" msgstr "" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "" -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "" -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "" -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "" -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "" -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "" -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "" -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "" -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "" -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." msgstr "" -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." msgstr "" -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." msgstr "" -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." msgstr "" -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." msgstr "" -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." msgstr "" -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "" -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "" -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "" -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." msgstr "" -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "" "See what Flectar Mail stores locally and manage the data on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." msgstr "" -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5105,605 +5127,605 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "" -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "" -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." msgstr "" -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." msgstr "" -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "" -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "" -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." msgstr "" -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "" -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 msgid "Port" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "" -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " "servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." msgstr "" -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "" -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "" diff --git a/lang/ja/LC_MESSAGES/flectar-mail.po b/lang/ja/LC_MESSAGES/flectar-mail.po index a2169ee2..a4449340 100644 --- a/lang/ja/LC_MESSAGES/flectar-mail.po +++ b/lang/ja/LC_MESSAGES/flectar-mail.po @@ -21,7 +21,7 @@ msgid "Graphite" msgstr "" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "" @@ -384,7 +384,7 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "" @@ -644,1140 +644,1152 @@ msgid "Could not save mail grouping preference: {}" msgstr "" #: ui/app.slint:278 -msgid "Profile changes require local mail data." +msgid "Conversation view updated for this session." msgstr "" #: ui/app.slint:279 -msgid "Profile saved." +msgid "Conversation view preference saved." msgstr "" #: ui/app.slint:280 -msgid "Could not save profile: {}" +msgid "Could not save conversation view preference: {}" msgstr "" #: ui/app.slint:281 -msgid "Account profile updated." +msgid "Profile changes require local mail data." msgstr "" #: ui/app.slint:282 -msgid "Account color changes require local mail data." +msgid "Profile saved." msgstr "" #: ui/app.slint:283 -msgid "Account color updated." +msgid "Could not save profile: {}" msgstr "" #: ui/app.slint:284 -msgid "Could not update account color: {}" +msgid "Account profile updated." msgstr "" #: ui/app.slint:285 -msgid "Could not update account profile: {}" +msgid "Account color changes require local mail data." msgstr "" #: ui/app.slint:286 -msgid "Profile deleted." +msgid "Account color updated." msgstr "" #: ui/app.slint:287 -msgid "Could not delete profile: {}" +msgid "Could not update account color: {}" msgstr "" #: ui/app.slint:288 -msgid "Could not switch profile: {}" +msgid "Could not update account profile: {}" msgstr "" #: ui/app.slint:289 -msgid "Marker preference is active for this session." +msgid "Profile deleted." msgstr "" #: ui/app.slint:290 -msgid "Mail-list marker preference saved." +msgid "Could not delete profile: {}" msgstr "" #: ui/app.slint:291 -msgid "Could not save mail-list marker preference: {}" +msgid "Could not switch profile: {}" msgstr "" #: ui/app.slint:292 -msgid "Workspace layout updated for this session." +msgid "Marker preference is active for this session." msgstr "" #: ui/app.slint:293 -msgid "Workspace layout preference saved." +msgid "Mail-list marker preference saved." msgstr "" #: ui/app.slint:294 -msgid "Could not save workspace layout: {}" +msgid "Could not save mail-list marker preference: {}" msgstr "" #: ui/app.slint:295 +msgid "Workspace layout updated for this session." +msgstr "" + +#: ui/app.slint:296 +msgid "Workspace layout preference saved." +msgstr "" + +#: ui/app.slint:297 +msgid "Could not save workspace layout: {}" +msgstr "" + +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "" -#: ui/app.slint:309 +#: ui/app.slint:312 msgid "System tray behavior is unavailable in this package." msgstr "" -#: ui/app.slint:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "" -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "" -#: ui/app.slint:312 +#: ui/app.slint:315 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" -#: ui/app.slint:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "" -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "" -#: ui/app.slint:316 +#: ui/app.slint:319 msgid "Flectar Mail will no longer start when you sign in." msgstr "" -#: ui/app.slint:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "" -#: ui/app.slint:318 +#: ui/app.slint:321 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" -#: ui/app.slint:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:335 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:379 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:377 +#: ui/app.slint:380 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:382 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:391 +#: ui/app.slint:394 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:397 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:400 +#: ui/app.slint:403 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:430 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:431 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:432 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:433 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:436 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:466 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:470 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:478 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "" -#: ui/app.slint:482 +#: ui/app.slint:485 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:484 +#: ui/app.slint:487 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:488 msgid "Label added." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:512 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:517 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "" -#: ui/app.slint:522 -msgid "Forwarded message" -msgstr "" - -#: ui/app.slint:523 -msgctxt "forwarded message header" -msgid "From: {}" -msgstr "" - -#: ui/app.slint:524 -msgctxt "forwarded message header" -msgid "Date: {}" -msgstr "" - #: ui/app.slint:525 -msgctxt "forwarded message header" -msgid "Subject: {}" +msgid "Forwarded message" msgstr "" #: ui/app.slint:526 msgctxt "forwarded message header" -msgid "To: {}" +msgid "From: {}" msgstr "" #: ui/app.slint:527 -msgid "Attach files to this email" +msgctxt "forwarded message header" +msgid "Date: {}" msgstr "" #: ui/app.slint:528 -msgid "Could not add attachments: {}" +msgctxt "forwarded message header" +msgid "Subject: {}" msgstr "" #: ui/app.slint:529 -msgid "Added 1 attachment." +msgctxt "forwarded message header" +msgid "To: {}" msgstr "" #: ui/app.slint:530 -msgid "Added {} attachments." +msgid "Attach files to this email" msgstr "" #: ui/app.slint:531 +msgid "Could not add attachments: {}" +msgstr "" + +#: ui/app.slint:532 +msgid "Added 1 attachment." +msgstr "" + +#: ui/app.slint:533 +msgid "Added {} attachments." +msgstr "" + +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:536 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:537 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:538 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:555 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:557 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:559 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:560 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:562 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:572 +#: ui/app.slint:575 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2212 +#: ui/app.slint:2220 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2213 +#: ui/app.slint:2221 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -1851,7 +1863,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "" #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "" @@ -1974,7 +1986,7 @@ msgid "" msgstr "" #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "" @@ -2008,7 +2020,7 @@ msgstr "" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "" @@ -2194,7 +2206,7 @@ msgid "Export decrypted message" msgstr "" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "" @@ -2242,7 +2254,7 @@ msgid "Show calendars" msgstr "" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "" @@ -2640,7 +2652,7 @@ msgstr "" msgid "On" msgstr "" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "" @@ -3128,8 +3140,8 @@ msgstr[0] "" msgid "Files" msgstr "" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "" @@ -3137,7 +3149,7 @@ msgstr "" msgid "Settings" msgstr "" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "" @@ -3146,7 +3158,7 @@ msgid "Close tab" msgstr "" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "" @@ -3331,7 +3343,7 @@ msgstr "" msgid "Close tabs to the right" msgstr "" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "" @@ -3343,7 +3355,7 @@ msgstr "" msgid "Zoom percentage" msgstr "" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "" @@ -3676,11 +3688,11 @@ msgstr "" msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "" -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "" @@ -3848,7 +3860,7 @@ msgstr "" msgid "Continue in background" msgstr "" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "" @@ -3865,7 +3877,7 @@ msgid "Import one account" msgid_plural "Import {n} accounts" msgstr[0] "" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "" @@ -4197,7 +4209,7 @@ msgstr "" msgid "Report issue" msgstr "" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "" @@ -4289,797 +4301,807 @@ msgstr "" msgid "Learn more" msgstr "" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" msgstr "" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" msgstr "" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" msgstr "" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "" -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "" -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "" -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "" -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "" -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "" -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "" -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "" -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "" -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." msgstr "" -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." msgstr "" -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." msgstr "" -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." msgstr "" -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." msgstr "" -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." msgstr "" -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "" -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "" -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "" -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "" -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." msgstr "" -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "" "See what Flectar Mail stores locally and manage the data on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." msgstr "" -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5088,605 +5110,605 @@ msgid_plural "" "backup, or export {n} connected accounts and your preferences." msgstr[0] "" -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "" -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "" -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." msgstr "" -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." msgstr "" -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "" -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "" -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." msgstr "" -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "" -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 msgid "Port" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "" -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " "servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." msgstr "" -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "" -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "" diff --git a/lang/nl/LC_MESSAGES/flectar-mail.po b/lang/nl/LC_MESSAGES/flectar-mail.po index 74f9b167..49ed96dc 100644 --- a/lang/nl/LC_MESSAGES/flectar-mail.po +++ b/lang/nl/LC_MESSAGES/flectar-mail.po @@ -21,7 +21,7 @@ msgid "Graphite" msgstr "" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "" @@ -384,7 +384,7 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "" @@ -644,1140 +644,1152 @@ msgid "Could not save mail grouping preference: {}" msgstr "" #: ui/app.slint:278 -msgid "Profile changes require local mail data." +msgid "Conversation view updated for this session." msgstr "" #: ui/app.slint:279 -msgid "Profile saved." +msgid "Conversation view preference saved." msgstr "" #: ui/app.slint:280 -msgid "Could not save profile: {}" +msgid "Could not save conversation view preference: {}" msgstr "" #: ui/app.slint:281 -msgid "Account profile updated." +msgid "Profile changes require local mail data." msgstr "" #: ui/app.slint:282 -msgid "Account color changes require local mail data." +msgid "Profile saved." msgstr "" #: ui/app.slint:283 -msgid "Account color updated." +msgid "Could not save profile: {}" msgstr "" #: ui/app.slint:284 -msgid "Could not update account color: {}" +msgid "Account profile updated." msgstr "" #: ui/app.slint:285 -msgid "Could not update account profile: {}" +msgid "Account color changes require local mail data." msgstr "" #: ui/app.slint:286 -msgid "Profile deleted." +msgid "Account color updated." msgstr "" #: ui/app.slint:287 -msgid "Could not delete profile: {}" +msgid "Could not update account color: {}" msgstr "" #: ui/app.slint:288 -msgid "Could not switch profile: {}" +msgid "Could not update account profile: {}" msgstr "" #: ui/app.slint:289 -msgid "Marker preference is active for this session." +msgid "Profile deleted." msgstr "" #: ui/app.slint:290 -msgid "Mail-list marker preference saved." +msgid "Could not delete profile: {}" msgstr "" #: ui/app.slint:291 -msgid "Could not save mail-list marker preference: {}" +msgid "Could not switch profile: {}" msgstr "" #: ui/app.slint:292 -msgid "Workspace layout updated for this session." +msgid "Marker preference is active for this session." msgstr "" #: ui/app.slint:293 -msgid "Workspace layout preference saved." +msgid "Mail-list marker preference saved." msgstr "" #: ui/app.slint:294 -msgid "Could not save workspace layout: {}" +msgid "Could not save mail-list marker preference: {}" msgstr "" #: ui/app.slint:295 +msgid "Workspace layout updated for this session." +msgstr "" + +#: ui/app.slint:296 +msgid "Workspace layout preference saved." +msgstr "" + +#: ui/app.slint:297 +msgid "Could not save workspace layout: {}" +msgstr "" + +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "" -#: ui/app.slint:309 +#: ui/app.slint:312 msgid "System tray behavior is unavailable in this package." msgstr "" -#: ui/app.slint:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "" -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "" -#: ui/app.slint:312 +#: ui/app.slint:315 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" -#: ui/app.slint:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "" -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "" -#: ui/app.slint:316 +#: ui/app.slint:319 msgid "Flectar Mail will no longer start when you sign in." msgstr "" -#: ui/app.slint:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "" -#: ui/app.slint:318 +#: ui/app.slint:321 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" -#: ui/app.slint:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:335 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:379 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:377 +#: ui/app.slint:380 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:382 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:391 +#: ui/app.slint:394 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:397 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:400 +#: ui/app.slint:403 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:430 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:431 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:432 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:433 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:436 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:466 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:470 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:478 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "" -#: ui/app.slint:482 +#: ui/app.slint:485 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:484 +#: ui/app.slint:487 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:488 msgid "Label added." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:512 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:517 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "" -#: ui/app.slint:522 -msgid "Forwarded message" -msgstr "" - -#: ui/app.slint:523 -msgctxt "forwarded message header" -msgid "From: {}" -msgstr "" - -#: ui/app.slint:524 -msgctxt "forwarded message header" -msgid "Date: {}" -msgstr "" - #: ui/app.slint:525 -msgctxt "forwarded message header" -msgid "Subject: {}" +msgid "Forwarded message" msgstr "" #: ui/app.slint:526 msgctxt "forwarded message header" -msgid "To: {}" +msgid "From: {}" msgstr "" #: ui/app.slint:527 -msgid "Attach files to this email" +msgctxt "forwarded message header" +msgid "Date: {}" msgstr "" #: ui/app.slint:528 -msgid "Could not add attachments: {}" +msgctxt "forwarded message header" +msgid "Subject: {}" msgstr "" #: ui/app.slint:529 -msgid "Added 1 attachment." +msgctxt "forwarded message header" +msgid "To: {}" msgstr "" #: ui/app.slint:530 -msgid "Added {} attachments." +msgid "Attach files to this email" msgstr "" #: ui/app.slint:531 +msgid "Could not add attachments: {}" +msgstr "" + +#: ui/app.slint:532 +msgid "Added 1 attachment." +msgstr "" + +#: ui/app.slint:533 +msgid "Added {} attachments." +msgstr "" + +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:536 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:537 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:538 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:555 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:557 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:559 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:560 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:562 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:572 +#: ui/app.slint:575 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2212 +#: ui/app.slint:2220 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2213 +#: ui/app.slint:2221 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -1852,7 +1864,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "" #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "" @@ -1975,7 +1987,7 @@ msgid "" msgstr "" #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "" @@ -2009,7 +2021,7 @@ msgstr "" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "" @@ -2195,7 +2207,7 @@ msgid "Export decrypted message" msgstr "" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "" @@ -2243,7 +2255,7 @@ msgid "Show calendars" msgstr "" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "" @@ -2641,7 +2653,7 @@ msgstr "" msgid "On" msgstr "" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "" @@ -3130,8 +3142,8 @@ msgstr[1] "" msgid "Files" msgstr "" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "" @@ -3139,7 +3151,7 @@ msgstr "" msgid "Settings" msgstr "" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "" @@ -3148,7 +3160,7 @@ msgid "Close tab" msgstr "" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "" @@ -3334,7 +3346,7 @@ msgstr "" msgid "Close tabs to the right" msgstr "" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "" @@ -3346,7 +3358,7 @@ msgstr "" msgid "Zoom percentage" msgstr "" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "" @@ -3679,11 +3691,11 @@ msgstr "" msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "" -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "" @@ -3853,7 +3865,7 @@ msgstr "" msgid "Continue in background" msgstr "" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "" @@ -3871,7 +3883,7 @@ msgid_plural "Import {n} accounts" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "" @@ -4211,7 +4223,7 @@ msgstr "" msgid "Report issue" msgstr "" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "" @@ -4303,799 +4315,809 @@ msgstr "" msgid "Learn more" msgstr "" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" msgstr "" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" msgstr "" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" msgstr "" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "" -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "" -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "" -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "" -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "" -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "" -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "" -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "" -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "" -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "" -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "" -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." msgstr "" -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." msgstr "" -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." msgstr "" -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." msgstr "" -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." msgstr "" -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." msgstr "" -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." msgstr "" -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "" -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "" -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "" -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." msgstr "" -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "" "See what Flectar Mail stores locally and manage the data on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." msgstr "" -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5105,605 +5127,605 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." msgstr "" -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "" -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "" -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." msgstr "" -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." msgstr "" -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "" -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "" -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." msgstr "" -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "" -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." msgstr "" -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "" -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 msgid "Port" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "" -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " "servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." msgstr "" -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "" -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "" diff --git a/lang/ru/LC_MESSAGES/flectar-mail.po b/lang/ru/LC_MESSAGES/flectar-mail.po index d2325056..3322a72c 100644 --- a/lang/ru/LC_MESSAGES/flectar-mail.po +++ b/lang/ru/LC_MESSAGES/flectar-mail.po @@ -25,7 +25,7 @@ msgid "Graphite" msgstr "Графитовая" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "Светлая" @@ -388,7 +388,7 @@ msgstr "История переписки доступна" msgid "New address-book entry" msgstr "Новая запись в адресной книге" -#: ui/app.slint:179 ui/app.slint:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "Загрузка локальных данных…" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "Локальные данные готовы." @@ -650,172 +650,184 @@ msgid "Could not save mail grouping preference: {}" msgstr "Не удалось сохранить настройку группировки писем: {}" #: ui/app.slint:278 +msgid "Conversation view updated for this session." +msgstr "Настройка цепочек писем обновлена для этого сеанса." + +#: ui/app.slint:279 +msgid "Conversation view preference saved." +msgstr "Настройка цепочек писем сохранена." + +#: ui/app.slint:280 +msgid "Could not save conversation view preference: {}" +msgstr "Не удалось сохранить настройку цепочек писем: {}" + +#: ui/app.slint:281 msgid "Profile changes require local mail data." msgstr "Для изменения профиля требуются локальные данные почты." -#: ui/app.slint:279 +#: ui/app.slint:282 msgid "Profile saved." msgstr "Профиль сохранён." -#: ui/app.slint:280 +#: ui/app.slint:283 msgid "Could not save profile: {}" msgstr "Не удалось сохранить профиль: {}" -#: ui/app.slint:281 +#: ui/app.slint:284 msgid "Account profile updated." msgstr "Профиль учётной записи обновлён." -#: ui/app.slint:282 +#: ui/app.slint:285 msgid "Account color changes require local mail data." msgstr "Для изменения цвета учётной записи требуются локальные данные почты." -#: ui/app.slint:283 +#: ui/app.slint:286 msgid "Account color updated." msgstr "Цвет учётной записи обновлён." -#: ui/app.slint:284 +#: ui/app.slint:287 msgid "Could not update account color: {}" msgstr "Не удалось обновить цвет учётной записи: {}" -#: ui/app.slint:285 +#: ui/app.slint:288 msgid "Could not update account profile: {}" msgstr "Не удалось обновить профиль учётной записи: {}" -#: ui/app.slint:286 +#: ui/app.slint:289 msgid "Profile deleted." msgstr "Профиль удалён." -#: ui/app.slint:287 +#: ui/app.slint:290 msgid "Could not delete profile: {}" msgstr "Не удалось удалить профиль: {}" -#: ui/app.slint:288 +#: ui/app.slint:291 msgid "Could not switch profile: {}" msgstr "Не удалось переключить профиль: {}" -#: ui/app.slint:289 +#: ui/app.slint:292 msgid "Marker preference is active for this session." msgstr "Настройка маркеров активна для этого сеанса." -#: ui/app.slint:290 +#: ui/app.slint:293 msgid "Mail-list marker preference saved." msgstr "Настройка маркеров списка почты сохранена." -#: ui/app.slint:291 +#: ui/app.slint:294 msgid "Could not save mail-list marker preference: {}" msgstr "Не удалось сохранить настройку маркеров списка почты: {}" -#: ui/app.slint:292 +#: ui/app.slint:295 msgid "Workspace layout updated for this session." msgstr "Расположение рабочей области обновлено для этого сеанса." -#: ui/app.slint:293 +#: ui/app.slint:296 msgid "Workspace layout preference saved." msgstr "Настройка расположения рабочей области сохранена." -#: ui/app.slint:294 +#: ui/app.slint:297 msgid "Could not save workspace layout: {}" msgstr "Не удалось сохранить расположение рабочей области: {}" -#: ui/app.slint:295 +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "Не удалось сохранить ширину панели списка: {}" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "Открыто {}" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "Не удалось открыть ссылку: {}" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "Исходный код HTML скопирован" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "Выделенный текст скопирован" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "Текст письма скопирован" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "Ссылка скопирована" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "Ошибка отрисовки выделения программным способом Blitz: {}" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "Ошибка отрисовки плитки программным способом Blitz: {}" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "Сообщение готово." -#: ui/app.slint:309 +#: ui/app.slint:312 msgid "System tray behavior is unavailable in this package." msgstr "Поведение системного трея недоступно в этой сборке." -#: ui/app.slint:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "Сворачивание в трей активно для этого сеанса." -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "Сохранение поведения при закрытии…" -#: ui/app.slint:312 +#: ui/app.slint:315 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "Теперь при закрытии окна Flectar Mail останется в трее." -#: ui/app.slint:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "Теперь при закрытии окна Flectar Mail завершит работу." -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "Не удалось сохранить поведение при закрытии: {}" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "Flectar Mail будет запускаться при входе в систему." -#: ui/app.slint:316 +#: ui/app.slint:319 msgid "Flectar Mail will no longer start when you sign in." msgstr "Flectar Mail больше не будет запускаться при входе в систему." -#: ui/app.slint:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "Не удалось изменить параметры автозапуска: {}" -#: ui/app.slint:318 +#: ui/app.slint:321 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" "Чтобы завершить, разрешите Flectar Mail в разделе «Объекты входа» в " "Системных настройках." -#: ui/app.slint:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "Снимок базы данных экспортирован в {}." -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "Выберите место для экспорта почты" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "Экспорт почты…" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "Почта экспортирована в {}." -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." @@ -823,387 +835,387 @@ msgstr "" "Почта экспортирована в {}. Некоторые письма не найдены ни на этом " "устройстве, ни на почтовом сервере." -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "Не удалось экспортировать почту: {}" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "Не удалось экспортировать снимок базы данных: {}" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "Порядок учётных записей сохранён." -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "Не удалось сохранить порядок учётных записей: {}" -#: ui/app.slint:332 +#: ui/app.slint:335 msgid "Mail history updated. Background sync is adjusting now." msgstr "История почты обновлена. Фоновая синхронизация сейчас настраивается." -#: ui/app.slint:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "Учётная запись удалена с этого устройства." -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "Учётная запись удалена. Обновление почты будет повторено." -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "Учётная запись удалена; локальная очистка требует повтора: {}" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "Не удалось удалить учётную запись: {}" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "Удаление учётной записи…" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "Удаление почты с этого устройства…" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "Почта на этом устройстве удалена." -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "Почта на этом устройстве удалена. Обновление почты будет повторено." -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" "Почта на этом устройстве удалена; локальная очистка требует повтора: {}" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "Не удалось удалить почту с этого устройства: {}" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "Синхронизация учётной записи…" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "Не удалось обновить историю почты: {}" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "Подключено {}. Первоначальная синхронизация выполняется в фоне." -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "Настройка учётной записи не удалась: {}" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "Ошибка OAuth: {}" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "Повторно подключено {}. Синхронизация возобновляется." -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "Повторное подключение не удалось: {}" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "Календарь подключён, начата первоначальная синхронизация." -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "Не удалось подключить календарь: {}" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "Синхронизация календаря включена." -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "Синхронизация календаря приостановлена." -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "Не удалось обновить синхронизацию календаря: {}" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "CalDAV подключён, начата первоначальная синхронизация." -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "Не удалось подключить CalDAV: {}" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "Календарь удалён." -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "Не удалось удалить календарь: {}" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "CardDAV подключён, начата первоначальная синхронизация." -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "Не удалось подключить CardDAV: {}" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "Синхронизация CardDAV включена." -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "Синхронизация CardDAV приостановлена." -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "Не удалось обновить синхронизацию CardDAV: {}" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "CardDAV отключён." -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "Не удалось отключить CardDAV: {}" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "Подключите учётную запись перед созданием резервной копии." -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "Экспорт резервной копии учётных записей Flectar Mail" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "Резервная копия Flectar Mail" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "Импорт учётных записей и почты" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "Выберите профиль Thunderbird или папку с почтой" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "Импортированные письма" -#: ui/app.slint:376 +#: ui/app.slint:379 msgid "Choose where to export the database snapshot" msgstr "Выберите место для экспорта снимка базы данных" -#: ui/app.slint:377 +#: ui/app.slint:380 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "Резервная копия экспортирована. Пароли и токены OAuth не включены." -#: ui/app.slint:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "Не удалось экспортировать резервную копию: {}" -#: ui/app.slint:379 +#: ui/app.slint:382 msgid "Local data storage is unavailable. Retry startup." msgstr "Локальное хранилище данных недоступно. Повторите запуск." -#: ui/app.slint:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "Создание проверенного снимка базы данных…" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "Все локальные данные Flectar Mail удалены." -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "Не удалось удалить все локальные данные: {}" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "Удаление локальных учётных записей и кешированных данных…" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "Фоновое обновление почты не удалось: {}" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "В этой папке нет переписок" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "Нет переписок, соответствующих этому поиску" -#: ui/app.slint:391 +#: ui/app.slint:394 msgid "Mail core is ready for account synchronization and message actions." msgstr "" "Почтовое ядро готово к синхронизации учётных записей и действиям с " "сообщениями." -#: ui/app.slint:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "Большое сообщение отображено в режиме совместимости." -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "Ошибка программной отрисовки письма: {}" -#: ui/app.slint:394 +#: ui/app.slint:397 msgid "Rendered with software fallback after GPU error: {}" msgstr "Отображено программно после ошибки GPU: {}" -#: ui/app.slint:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Ошибка отрисовки Blitz (GPU: {}; программно: {})" -#: ui/app.slint:400 +#: ui/app.slint:403 msgid "Enter a name, email address, or phone number, then save." msgstr "" "Введите имя, адрес электронной почты или номер телефона, затем сохраните " "контакт." -#: ui/app.slint:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "Не удалось сохранить: хранилище контактов недоступно." -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "Не удалось сохранить контакт: {}" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "Контакт сохранён." -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "Сохранено в контактах." -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "Не удалось удалить: хранилище контактов недоступно." -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "Не удалось удалить контакт: {}" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "Контакт удалён." -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "Не удалось загрузить контакты: {}" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "Локальное хранилище контактов ещё запускается…" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "Загрузка контактов…" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "Локальный календарь" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "Календарь" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "Не удалось загрузить календарь: {}" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "Календарь отображён и синхронизируется." -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "Календарь скрыт, синхронизация приостановлена." -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "Обновление календаря не удалось: {}" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "Редактировать можно только события, созданные в Flectar Mail." -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "Удалять можно только события, созданные в Flectar Mail." -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "Хранилище календаря недоступно." -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "Не удалось удалить событие: {}" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "Событие удалено, но обновление не удалось: {}" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "Событие удалено." -#: ui/app.slint:427 +#: ui/app.slint:430 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "Используйте формат ГГГГ-ММ-ДД для даты и время, например {}." -#: ui/app.slint:428 +#: ui/app.slint:431 msgid "Event duration must be a number of minutes." msgstr "Продолжительность события должна быть указана в минутах." -#: ui/app.slint:429 +#: ui/app.slint:432 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "Добавьте название и выберите продолжительность от 15 до 1440 минут." -#: ui/app.slint:430 +#: ui/app.slint:433 msgid "That local time does not exist in the current time zone." msgstr "Такое местное время не существует в текущем часовом поясе." -#: ui/app.slint:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "Не удалось сохранить событие: {}" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "Событие сохранено, но обновление не удалось: {}" -#: ui/app.slint:433 +#: ui/app.slint:436 msgid "Event saved. Provider sync will run when enabled." msgstr "" "Событие сохранено. Синхронизация с провайдером выполнится при включении." -#: ui/app.slint:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "Ошибка отрисовки ресурса письма: {}" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "Обновление сообщения не удалось: {}" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "Загрузка сообщения не удалась: {}" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." @@ -1212,315 +1224,315 @@ msgstr "" "запускалась. Повторите попытку или скопируйте диагностику для службы " "поддержки." -#: ui/app.slint:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "Запуск локального хранилища не удался." -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "Не удалось определить перетаскиваемую учётную запись." -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "Для упорядочивания учётных записей требуются локальные данные почты." -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "Не удалось найти учётную запись для перестановки." -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "Сохранение порядка учётных записей…" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "Для настройки копий отправленных писем нужны локальные данные почты." -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "Обновление настроек копий отправленных писем…" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "Настройки копий отправленных писем обновлены." -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "Не удалось обновить настройки копий отправленных писем: {}" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "Для настроек почты на сервере нужны локальные данные почты." -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "Обновление настроек почты на сервере…" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "Настройки почты на сервере обновлены." -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "Не удалось обновить настройки почты на сервере: {}" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "Для истории почты требуются локальные данные почты." -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "Обновление истории почты…" -#: ui/app.slint:463 +#: ui/app.slint:466 msgid "Remote images are unavailable in this minimal build." msgstr "Внешние изображения недоступны в этой минимальной сборке." -#: ui/app.slint:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "Не удалось сохранить настройку внешних изображений: {}" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "Внешние значки отправителей недоступны: {}" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "Внешние изображения недоступны: {}" -#: ui/app.slint:467 +#: ui/app.slint:470 msgid "Remote body images and sender favicons enabled." msgstr "" "Загрузка внешних изображений в письмах и значков отправителей включена." -#: ui/app.slint:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "Внешние изображения заблокированы." -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "Не удалось обновить изображения сообщения: {}" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "Загрузка внешних изображений отключена." -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "Не удалось загрузить изображения сообщения: {}" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "Синхронизация завершена, обновление не удалось: {}" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "Синхронизация завершена." -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "Синхронизация не удалась: {}" -#: ui/app.slint:475 +#: ui/app.slint:478 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" "Локальные данные почты недоступны; данные предпросмотра доступны только для " "чтения." -#: ui/app.slint:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "Синхронизация учётных записей…" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "Действие с сообщением выполнено." -#: ui/app.slint:482 +#: ui/app.slint:485 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" "Безвозвратное удаление запланировано. Письма исчезнут после подтверждения " "сервера." -#: ui/app.slint:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "Действие с сообщением не удалось: {}" -#: ui/app.slint:484 +#: ui/app.slint:487 msgid "Message action failed: message is no longer available" msgstr "Действие с сообщением не удалось: сообщение больше недоступно" -#: ui/app.slint:485 +#: ui/app.slint:488 msgid "Label added." msgstr "Метка добавлена." -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "Метка удалена." -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "Метка создана и добавлена." -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "Метка создана." -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "Метка обновлена." -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "Метка удалена." -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "Не удалось обновить метку: {}" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "Не удалось сохранить метку: {}" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "Не удалось удалить метку: {}" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "Папка создана." -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "Папка переименована." -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "Папка удалена." -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "Не удалось создать папку: {}" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "Не удалось переименовать папку: {}" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "Не удалось удалить папку: {}" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "Не удалось закрыть предпросмотр: {}" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "Открыт системный просмотр печати." -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "Не удалось напечатать сообщение: {}" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "Сообщение открыто в браузере." -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "Не удалось открыть сообщение в браузере: {}" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "Подключите учётную запись перед ответом или пересылкой." -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "Сначала выберите сообщение." -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "Только черновики можно снова открыть для редактирования." -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "Не удалось открыть черновик: {}" -#: ui/app.slint:509 +#: ui/app.slint:512 msgid "Could not open draft: invalid account identifier" msgstr "Не удалось открыть черновик: неверный идентификатор учётной записи" -#: ui/app.slint:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "Подключённая учётная запись" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "Не удалось открыть редактор письма: {}" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "Добавьте учётную запись, чтобы отправлять почту." -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "На этом устройстве" -#: ui/app.slint:514 +#: ui/app.slint:517 msgid "Could not open composer: invalid account identifier" msgstr "" "Не удалось открыть редактор письма: неверный идентификатор учётной записи" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "{}, {} пишет:" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "{} пишет:" -#: ui/app.slint:522 +#: ui/app.slint:525 msgid "Forwarded message" msgstr "Пересылаемое сообщение" -#: ui/app.slint:523 +#: ui/app.slint:526 msgctxt "forwarded message header" msgid "From: {}" msgstr "От: {}" -#: ui/app.slint:524 +#: ui/app.slint:527 msgctxt "forwarded message header" msgid "Date: {}" msgstr "Дата: {}" -#: ui/app.slint:525 +#: ui/app.slint:528 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "Тема: {}" -#: ui/app.slint:526 +#: ui/app.slint:529 msgctxt "forwarded message header" msgid "To: {}" msgstr "Кому: {}" -#: ui/app.slint:527 +#: ui/app.slint:530 msgid "Attach files to this email" msgstr "Прикрепить файлы к этому письму" -#: ui/app.slint:528 +#: ui/app.slint:531 msgid "Could not add attachments: {}" msgstr "Не удалось добавить вложения: {}" -#: ui/app.slint:529 +#: ui/app.slint:532 msgid "Added 1 attachment." msgstr "Добавлено одно вложение." -#: ui/app.slint:530 +#: ui/app.slint:533 msgid "Added {} attachments." msgstr "Добавлено вложений: {}." -#: ui/app.slint:531 +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." @@ -1528,124 +1540,124 @@ msgstr "" "Добавлено вложений: {}. Пропущено: {} (дубликаты, недоступные для чтения или " "превышающие общий лимит 25 МБ)." -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "Вложение удалено." -#: ui/app.slint:533 +#: ui/app.slint:536 msgid "Choose the account this message should be sent from." msgstr "Выберите учётную запись, с которой нужно отправить это сообщение." -#: ui/app.slint:534 +#: ui/app.slint:537 msgid "Choose a verified sender identity for this message." msgstr "Выберите подтверждённые данные отправителя для этого письма." -#: ui/app.slint:535 +#: ui/app.slint:538 msgid "Connect an account before saving or sending mail." msgstr "Подключите учётную запись перед сохранением или отправкой почты." -#: ui/app.slint:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "Сообщение поставлено в очередь на отправку (действие {})." -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "Отправка сообщения…" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "Сообщение отправлено." -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "Сообщение не отправлено: {} Ваш черновик сохранён." -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "Черновик сохранён локально (#{})." -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "Создание письма не удалось: {}" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "Подключите учётную запись перед управлением шаблонами писем." -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "Не удалось загрузить шаблоны писем: {}" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "Введите имя шаблона." -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "Добавьте тему или сообщение в шаблон." -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "Шаблон письма сохранён." -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "Не удалось сохранить шаблон письма: {}" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "Шаблон письма удалён." -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "Не удалось удалить шаблон письма: {}" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "Шаблон письма больше недоступен." -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "Шаблон письма вставлен." -#: ui/app.slint:552 +#: ui/app.slint:555 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" "Шаблон письма вставлен, но сведения о его использовании не сохранены: {}" -#: ui/app.slint:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "Выберите поддерживаемый тип учётной записи и безопасность соединения." -#: ui/app.slint:554 +#: ui/app.slint:557 msgid "IMAP port must be between 1 and 65535." msgstr "Порт IMAP должен быть в диапазоне от 1 до 65535." -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "Порт POP3 должен быть в диапазоне от 1 до 65535." -#: ui/app.slint:556 +#: ui/app.slint:559 msgid "SMTP port must be between 1 and 65535." msgstr "Порт SMTP должен быть в диапазоне от 1 до 65535." -#: ui/app.slint:557 +#: ui/app.slint:560 msgid "Local mail data is unavailable. Retry startup." msgstr "Локальные данные почты недоступны. Повторите запуск." -#: ui/app.slint:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "Обнаружение JMAP и проверка возможностей…" -#: ui/app.slint:559 +#: ui/app.slint:562 msgid "Certificate imported. Connect to verify the server." msgstr "Сертификат импортирован. Подключитесь для проверки сервера." -#: ui/app.slint:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "Не удалось загрузить настройки учётной записи: {}" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." @@ -1653,19 +1665,19 @@ msgstr "" "Ваша изменённая подпись сохранена. Выберите «Без подписи», чтобы оставить её " "как текст сообщения перед вставкой другой." -#: ui/app.slint:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "Импорт сертификата не удался: {}" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "Проверка подключений IMAP и SMTP…" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "Проверка подключений POP3 и SMTP…" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." @@ -1673,147 +1685,147 @@ msgstr "" "Другая авторизация в браузере уже выполняется; завершите её или выберите " "«Отмена»." -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "Выберите OAuth Gmail или Outlook." -#: ui/app.slint:572 +#: ui/app.slint:575 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "Завершите вход в браузере или выберите «Отмена» здесь." -#: ui/app.slint:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "Отмена входа через браузер…" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "Завершение входа через браузер…" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "Не удалось использовать этот адрес браузера: {}" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "Ядро календаря недоступно." -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "Учётная запись больше не существует." -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "Авторизуйте доступ к календарю в браузере." -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "Ключи приложения OAuth сохранены." -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "Настройки OAuth {} сохранены." -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "Настройки OAuth не удались: {}" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "Обновление почты не удалось: {}" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "Фильтрация почты не удалась: {}" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "Постраничная навигация по почте не удалась: {}" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "Не удалось отметить сообщение как прочитанное: {}" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "Загрузка сообщения…" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "Глобальные метки (только локально)" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "Очистить корзину?" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "Удалить безвозвратно?" -#: ui/app.slint:2212 +#: ui/app.slint:2220 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" "Безвозвратно удалить все письма из корзины во всех подключённых учётных " "записях?" -#: ui/app.slint:2213 +#: ui/app.slint:2221 msgid "Permanently delete all messages in this account’s Trash?" msgstr "Безвозвратно удалить все письма из корзины этой учётной записи?" -#: ui/app.slint:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "Безвозвратно удалить выбранные переписки из корзины?" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "Безвозвратно удалить эту переписку из корзины?" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "Это действие нельзя отменить." -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "Очистить корзину" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "Удалить безвозвратно" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "Запуск почтового ящика не удался" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail не смог открыть локальное хранилище" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "Идентификатор диагностики: {}" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "Идентификатор диагностики {}" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "Повторить" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "Копировать диагностику" @@ -1889,7 +1901,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "Приглашения на созданные здесь события отправляются с адреса {}." #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "Добавить календарь CalDAV" @@ -2023,7 +2035,7 @@ msgstr "" "показывает, принял ли он последнее сообщение." #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "Адрес электронной почты" @@ -2057,7 +2069,7 @@ msgstr "Добавить адрес отправителя" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "Отмена" @@ -2268,7 +2280,7 @@ msgid "Export decrypted message" msgstr "Экспортировать расшифрованное сообщение" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "Закрыть" @@ -2320,7 +2332,7 @@ msgid "Show calendars" msgstr "Показать календари" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "Сбросить" @@ -2721,7 +2733,7 @@ msgstr "Подтвердить" msgid "On" msgstr "Вкл." -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "Выкл." @@ -3224,8 +3236,8 @@ msgstr[2] "{n} вкладок открыто" msgid "Files" msgstr "Файлы" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "Контакты" @@ -3233,7 +3245,7 @@ msgstr "Контакты" msgid "Settings" msgstr "Настройки" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "Почта" @@ -3242,7 +3254,7 @@ msgid "Close tab" msgstr "Закрыть вкладку" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "Вкладки" @@ -3431,7 +3443,7 @@ msgstr "Закрыть другие вкладки" msgid "Close tabs to the right" msgstr "Закрыть вкладки справа" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "Уменьшить" @@ -3443,7 +3455,7 @@ msgstr "Сбросить масштаб ({}%)" msgid "Zoom percentage" msgstr "Процент масштаба" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "Увеличить" @@ -3808,11 +3820,11 @@ msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" "Эта учётная запись синхронизируется с {}, а не загружает почту по POP3." -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "Почта удаляется с сервера, как только она есть на этом устройстве." -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "Почта, удалённая здесь, удаляется и с сервера." @@ -4007,7 +4019,7 @@ msgstr "Остановить" msgid "Continue in background" msgstr "Продолжить в фоне" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "Выбрать папку…" @@ -4026,7 +4038,7 @@ msgstr[0] "Импортировать {n} учётную запись" msgstr[1] "Импортировать {n} учётные записи" msgstr[2] "Импортировать {n} учётных записей" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "Импорт" @@ -4411,7 +4423,7 @@ msgstr "Копировать исходный код" msgid "Report issue" msgstr "Сообщить о проблеме" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "Синхронизация" @@ -4503,122 +4515,122 @@ msgstr "Скоро" msgid "Learn more" msgstr "Подробнее" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "Каждую минуту" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "Каждые 5 минут" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "Каждые 15 минут" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "Важная почта" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "Вся новая почта" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "1 месяц" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "3 месяца" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "6 месяцев · Рекомендуется" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "1 год" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "Вся почта" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "Всегда" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "До удаления здесь" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "7 дней" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "14 дней" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "30 дней" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "До загрузки" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "Системный язык" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "Английский" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "Испанский" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "Турецкий" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "Китайский (упрощённый)" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "Русский" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "Автоматически" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "12-часовой" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "24-часовой" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" "общие тема оформление палитра значок приложения dock панель задач меню " "приложений язык время часы 12-часовой 24-часовой рабочая область " "расположение окно без рамки заголовок отрисовка конфиденциальность внешние " "изображения синхронизация группировка письма дата входящие трей фоновый " "режим автозапуск автозагрузка вход в систему загрузка скачивание папка " -"вложения сохранение вкладки" +"вложения сохранение вкладки цепочки переписки" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" @@ -4626,7 +4638,7 @@ msgstr "" "учётные записи профили личное работа цвета провайдеры gmail outlook imap " "pop3 jmap caldav carddav история почты сервер oauth безопасность подписи" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" @@ -4634,11 +4646,11 @@ msgstr "" "контакты люди предложения автодополнение получатели отправители адресная " "книга приватность очистить" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "уведомления оповещения звуки рабочий стол новая почта" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" @@ -4646,7 +4658,7 @@ msgstr "" "горячие клавиши клавиатура клавиши написать поиск архив спам нежелательные " "корзина удалить навигация письма чтение найти масштаб курсор вкладки" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" @@ -4654,7 +4666,7 @@ msgstr "" "хранилище данные использование почта вложения файлы базы данных резервная " "копия снимок импорт экспорт удалить" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" @@ -4662,297 +4674,309 @@ msgstr "" "сервисы flectar base аккаунт вход подписка платно синхронизация устройства " "корпоративная почта собственный домен почтовый ящик" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "о программе версия благодарности участники лицензия flectar" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "НАСТРОЙКИ" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "Настройки не найдены" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "Общие" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "Учётные записи" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "Уведомления" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "Горячие клавиши" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "Хранилище" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "Сервисы" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "О программе" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "Управление внешним видом, приватностью и синхронизацией." -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "Оформление писем" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "Выберите цвета фона и текста для чтения писем." -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "Как в теме приложения" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "Интерфейс" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "Одноцветные значки боковой панели" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "" "Использовать один нейтральный цвет для значков почтовых ящиков и папок." -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "Без аватаров" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "" "Скрывать изображения отправителей в списке сообщений и средстве чтения." -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" "Держите открытыми во вкладках несколько папок, переписок и других разделов." -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "Окно без рамки" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "" "Заменить системный заголовок окна кнопками управления окном на панели " "инструментов." -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "Расположение рабочей области" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "Минимальное" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "Язык и время" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "Язык интерфейса" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "Следовать языку устройства, когда доступен перевод." -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "Выберите язык, используемый в Flectar Mail." -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "Формат времени" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "Как принято в вашем регионе, например {}." -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "Время отображается как {}." -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "Поведение входящих" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "Объединённые входящие" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "ПО УМОЛЧАНИЮ" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "Объединяет входящие сообщения со всех подключённых учётных записей." -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "Группировать письма по дате" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "Показывать сворачиваемые разделы по датам в списке писем." -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "Цепочки писем" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" +"Объединять ответы с письмами, на которые они отвечают. Отключите, чтобы " +"показывать, открывать и обрабатывать каждое письмо отдельно." + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "Отмечать сообщения как прочитанные при открытии" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "" "Отключите, чтобы сохранять статус «не прочитано», пока не измените его " "вручную." -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "Внешние изображения" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "Загружать значки отправителей и изображения из тел сообщений." -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "Недоступно в этой минимальной сборке." -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" "Отключено по умолчанию для блокировки следящих пикселей и экономии памяти." -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "Продолжать работу в системном трее" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" "Закрытие окна скрывает Flectar Mail, а почта продолжает синхронизироваться." -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "Отключено по умолчанию; «Выход» в меню трея останавливает приложение." -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "Запускать автоматически" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "Запускает Flectar Mail в системном трее при входе в систему." -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "Открывает Flectar Mail при входе в систему." -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" "Отключено по умолчанию; также отображается в списке автозагрузки системы." -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "Синхронизация и уведомления" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "Проверять новую почту" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "" "Как часто обновлять, когда мгновенное обновление провайдера недоступно." -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "Уведомления на рабочем столе" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "Выберите, какие входящие сообщения могут вас уведомлять." -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "Синхронизация провайдера готова." -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "Синхронизация…" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "Синхронизировать сейчас" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "Движок отрисовки" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "Изменения вступят в силу после перезапуска Flectar Mail." -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "Режим GPU недоступен в этой сборке." -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "CPU — экономия памяти" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" "Не удалось запустить GPU — WGPU, поэтому используется CPU — экономия памяти." -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "Требуется перезапуск. Текущий движок отрисовки всё ещё активен." -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "Активен: GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "Активен: CPU — экономия памяти" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "Папка для загрузок" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." @@ -4960,7 +4984,7 @@ msgstr "" "При сохранении вложения приложение спрашивает, куда его поместить, и " "открывает папку, предложенную системой." -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." @@ -4968,11 +4992,11 @@ msgstr "" "Поддерживайте адресную книгу в порядке, сохраняя возможность легко находить " "частых получателей." -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "Запоминать адресатов моих писем" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." @@ -4980,11 +5004,11 @@ msgstr "" "Когда включено, запоминать получателей в полях «Кому», «Копия» и «Скрытая " "копия» из новых отправок и синхронизированной папки «Отправленные»." -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "Запоминать отправителей входящих писем" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." @@ -4992,11 +5016,11 @@ msgstr "" "Запоминать реальных отправителей из новой почты. Автоматические сообщения, " "спам, корзина и уже существующая почта исключаются." -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "Предлагать контакты из всех учётных записей" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." @@ -5004,11 +5028,11 @@ msgstr "" "Предлагать адресатов писем из всех подключённых учётных записей. Отключите, " "чтобы использовать только адресатов текущей учётной записи." -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "Предлагать контакты при написании писем" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." @@ -5016,11 +5040,11 @@ msgstr "" "Предлагать запомненных адресатов при вводе получателей. Сохранённые контакты " "и контакты CardDAV доступны всегда." -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "Предлагаемые контакты" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." @@ -5029,15 +5053,15 @@ msgstr "" "не синхронизируются с CardDAV. Их можно удалить в любой момент, чтобы начать " "запоминание заново." -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "Очистить сейчас" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "Удалить предлагаемые контакты" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." @@ -5045,7 +5069,7 @@ msgstr "" "Управляйте подключёнными почтовыми ящиками и добавляйте провайдеров. " "Перетащите учётную запись, чтобы изменить её порядок везде." -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." @@ -5053,15 +5077,15 @@ msgstr "" "Группируйте учётные записи как «Личные» или «Рабочие» и определяйте их по " "цвету в списке почты." -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "Добавить профиль" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "Показывать цвет учётной записи у левого края каждого сообщения" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." @@ -5069,83 +5093,83 @@ msgstr "" "Профилей пока нет. Учётные записи сохраняют свои индивидуальные или " "автоматически сгенерированные цвета, пока вы не создадите профиль." -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "Редактировать профиль" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "Удалить профиль" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "Добавить Gmail" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "Добавить Outlook" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "Добавить учётную запись почты" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "Отменить вход" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "Подключено · Gmail" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "Подключено · JMAP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "Подключено без шифрования · POP3 + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "Подключено · POP3 + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "Подключено без шифрования · IMAP + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "Подключено · IMAP + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "Состояние учётной записи: {}" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "Переподключить" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "Управлять" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "Исправить CardDAV" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "CardDAV" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "Ошибка синхронизации почты: {}" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "История почты" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." @@ -5153,59 +5177,59 @@ msgstr "" "Загрузить весь почтовый ящик. Для больших ящиков может потребоваться много " "времени и места." -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "" "Насколько глубоко загружать. Почта, уже сохранённая на этом устройстве, " "сохраняется." -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "Копии отправленных писем" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" "Выберите, кто сохраняет отправленные письма. Используйте Flectar, если " "сервер не сохраняет копию." -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "По умолчанию для провайдера" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "Копию сохраняет сервер" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "Копию сохраняет Flectar" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "Хранить почту на сервере" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "Flectar Mail никогда не удаляет почту с сервера." -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "Почта удаляется по истечении этого срока или после удаления здесь." -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "Этот сервер удаляет почту сразу после загрузки." -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "Этот сервер удаляет загруженную почту через {n} день." msgstr[1] "Этот сервер удаляет загруженную почту через {n} дня." msgstr[2] "Этот сервер удаляет загруженную почту через {n} дней." -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." @@ -5213,109 +5237,109 @@ msgstr "" "Почта, удалённая с сервера, хранится только на этом устройстве. Она входит в " "снимки базы данных в разделе «Хранилище»." -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "Использует цвет {} в списке почты" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "Использует свой цвет учётной записи" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "Использует автоматически сгенерированный цвет учётной записи" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "Ключи приложения OAuth" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "Настроены собственные ключи настольного приложения." -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" "Дополнительно: используйте собственную регистрацию настольного приложения " "Gmail или Microsoft." -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "Скрыть" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "Настроить" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "Идентификатор настольного клиента Gmail" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "Секрет клиента Gmail (необязательно)" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "Сохранить Gmail" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "Сохранить настройки Gmail" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "Сохранить Outlook" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "" "Общедоступные настольные клиенты Outlook используют PKCE и не требуют " "секрета клиента." -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "Подключить CardDAV" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "" "Синхронизируйте контакты с сервером CardDAV, соответствующим стандарту." -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "https://contacts.example.com/" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "Имя пользователя" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "Пароль приложения" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "Отключить" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "Подключить" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "" "See what Flectar Mail stores locally and manage the data on this device." msgstr "" "Посмотрите, какие данные Flectar Mail хранит локально, и управляйте данными " "на этом устройстве." -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "Почта на этом устройстве" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." @@ -5323,27 +5347,27 @@ msgstr "" "Импортированная вами почта. Она хранится только здесь, поэтому экспортируйте " "её, чтобы сохранить копию в другом месте." -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "{} письмо" msgstr[1] "{} письма" msgstr[2] "{} писем" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "Экспортировать почту…" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "Удалить…" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "Снимок базы данных" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." @@ -5351,7 +5375,7 @@ msgstr "" "Экспортируйте проверенные копии баз данных почты и календаря с указанием " "версий их схем." -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." @@ -5359,15 +5383,15 @@ msgstr "" "Снимок содержит личную почту и настройки, хранящиеся локально, но не пароли " "и токены OAuth. Храните его в безопасном месте." -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "Экспорт снимка" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "Перенос настроек учётной записи" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5387,7 +5411,7 @@ msgstr[2] "" "или резервной копии либо экспортируйте {n} подключённых учётных записей и " "настройки." -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." @@ -5395,15 +5419,15 @@ msgstr "" "Пароли и токены OAuth остаются в системном хранилище ключей. На новом " "устройстве потребуется безопасный вход в учётную запись." -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "Экспорт" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "Удалить все локальные данные" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." @@ -5411,7 +5435,7 @@ msgstr "" "Удалите с этого устройства учётные записи, загруженную почту, календари, " "контакты, настройки и учётные данные." -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." @@ -5419,7 +5443,7 @@ msgstr "" "Импортированная почта и почта учётных записей POP3 хранятся только на этом " "устройстве. Данные в Gmail, Outlook и на серверах IMAP не удаляются." -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." @@ -5427,112 +5451,112 @@ msgstr "" "Почта POP3 хранится только на этом устройстве. Данные в Gmail, Outlook и на " "серверах IMAP не удаляются." -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "Это не удалит данные из Gmail, Outlook или с вашего сервера IMAP." -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "Удалить всё" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "Выберите, как Flectar Mail будет уведомлять вас." -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "Звуки уведомлений" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "Воспроизводить звук при получении и отправке писем." -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "Горячие клавиши" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "Управляйте почтой с помощью клавиатуры." -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "Написать новое письмо" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "Поиск почты" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "Архивировать" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "Переместить в спам" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "Переместить в корзину" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "Навигация" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "Переход между письмами" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "Открыть письмо" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "Выбрать письмо" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "Переключение между списком и письмом" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "Чтение" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "Найти в письме" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "Сбросить масштаб" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "Навигация с текстовым курсором" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "Следующая вкладка" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "Предыдущая вкладка" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "Перейти к вкладке 1–8" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "Перейти к последней вкладке" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." @@ -5540,15 +5564,15 @@ msgstr "" "Дополнительные платные сервисы Flectar. Flectar Mail остаётся бесплатным и " "работает без них." -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "Аккаунт Flectar" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "Вход не выполнен" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." @@ -5556,19 +5580,19 @@ msgstr "" "Аккаунт Flectar нужен только для этих дополнительных сервисов. Подробнее на " "flectar.com/mail." -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "Войти с Flectar" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "Вход — скоро" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "Ваши настройки на каждом устройстве" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." @@ -5576,24 +5600,24 @@ msgstr "" "Войдите на новом телефоне или компьютере — ваши аккаунты, календари, " "контакты и настройки будут готовы без повторной настройки." -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "Почтовые аккаунты, профили и подписи" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "Подключения календарей и контактов" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "Темы, расположение элементов и настройки уведомлений" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "" "Учётные данные аккаунтов, зашифрованные на этом устройстве перед загрузкой" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." @@ -5601,35 +5625,35 @@ msgstr "" "Ваши письма остаются у почтового провайдера. Синхронизация передаёт только " "настройки Flectar Mail." -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "Корпоративная почта" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "Почтовые ящики на вашем домене" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "Рабочие адреса, например вы@вашакомпания.com, с хостингом от Flectar." -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "Подключите уже имеющийся домен" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "Создавайте почтовые ящики для команды и управляйте ими" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "Новые почтовые ящики автоматически появляются в Flectar Mail" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "Оплата за каждый почтовый ящик." -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." @@ -5637,57 +5661,57 @@ msgstr "" "Эти сервисы находятся в разработке. Тарифы и сроки доступности будут " "объявлены на flectar.com/mail." -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "Flectar Mail, его создатели и сообщество." -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "Логотип Flectar Mail" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "" "Нативный почтовый клиент для спокойной работы с почтой и защиты вашей " "конфиденциальности." -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "Версия {}" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "Благодарности" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "Разработано Flectar при участии сообщества открытого ПО." -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "Flectar" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "Сайт компании" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "Участники разработки открытого ПО" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "Познакомьтесь с участниками разработки на GitHub" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "Лицензия" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "AGPL-3.0-only." -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." @@ -5695,31 +5719,31 @@ msgstr "" "Flectar Mail распространяется на условиях GNU Affero General Public License " "версии 3.0 (только эта версия)." -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "Сторонние компоненты сохраняют собственные лицензии и уведомления." -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "Разделы настроек" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "Закрыть настройки" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "Закрыть список разделов настроек" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "Настройки CalDAV" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "Найдите новые календари." -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." @@ -5727,15 +5751,15 @@ msgstr "" "Работает с iCloud, Fastmail, Nextcloud и серверами CalDAV, соответствующими " "стандарту." -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "Адрес сервера" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "https://calendar.example.com/" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." @@ -5743,117 +5767,117 @@ msgstr "" "Чтобы синхронизировать один календарь, например календарь общего почтового " "ящика, введите его собственный адрес." -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "Обычно ваш адрес электронной почты" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "Новый пароль приложения · Необязательно" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "Оставьте пустым, чтобы сохранить текущий пароль" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "Надёжно хранится в системном хранилище ключей" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "Подключение…" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "Изменить почтовую учётную запись" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "Подключить почтовую учётную запись" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "Изменить {}" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "" "Использует JMAP для синхронизации и отправки почты с автоматическим " "обнаружением сервера." -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" "Загружает почту с сервера POP3 на это устройство и отправляет через SMTP." -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "" "Использует отдельные серверы IMAP и SMTP для синхронизации и отправки почты." -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "name@example.com" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "Пароль, пароль приложения или токен API" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "Пароль или пароль приложения" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "IMAP" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "POP3" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "JMAP" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "Адрес сервера · Необязательно" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "Определяется по домену вашей электронной почты" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "Сервер POP3" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "Сервер IMAP" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "pop.example.com" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "imap.example.com" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 msgid "Port" msgstr "Порт" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "Сервер SMTP" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "smtp.example.com" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." @@ -5861,59 +5885,59 @@ msgstr "" "Proton Bridge: используйте локальные серверы, порты и пароль, указанные в " "Bridge, и соответствующие им настройки шифрования." -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "Сохранить учётную запись" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "Подключить учётную запись" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "Создать профиль" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" "Его цвет отмечает почту его учётных записей, а при выборе показывается " "только их почта." -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "Название профиля" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "Личный или Рабочий" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "Цвет" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "Цвет профиля {}" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "Сохранить профиль" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "" "Не удалось сохранить этот профиль. Проверьте название и попробуйте ещё раз." -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "Выберите профиль для {}" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "Удалить все локальные данные?" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." @@ -5921,7 +5945,7 @@ msgstr "" "Будут удалены все учётные записи, загруженные письма, календари, контакты, " "настройки и учётные данные, которые Flectar Mail хранит на этом устройстве." -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " @@ -5931,7 +5955,7 @@ msgstr "" "устройстве и будут удалены. Почта и события в Gmail, Outlook и на серверах " "IMAP не будут удалены." -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." @@ -5939,49 +5963,49 @@ msgstr "" "Почта POP3 хранится только на этом устройстве и будет удалена. Почта и " "события в Gmail, Outlook и на серверах IMAP не будут удалены." -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "Почта и события в Gmail, Outlook и на серверах IMAP не будут удалены." -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "Экспортировать почту POP3…" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "Сохранить мои данные" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "Удалить почту с этого устройства?" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "Удалить с этого устройства импортированную вами почту и её папки." -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" "Она есть только здесь. Сначала экспортируйте её, чтобы сохранить копию." -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "Удалить почту" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "Оставить почту" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "Удалить учётную запись?" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "Удалить эту учётную запись и её загруженную почту с этого устройства." -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." @@ -5989,23 +6013,23 @@ msgstr "" "Почта этой учётной записи хранится только на этом устройстве. Сначала " "экспортируйте её, чтобы сохранить копию." -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "Письма на почтовом сервере не будут удалены." -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "Удалить учётную запись" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "Оставить учётную запись" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "Удалить профиль?" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." @@ -6013,27 +6037,27 @@ msgstr "" "Учётные записи этого профиля вернутся к своим индивидуальным или " "автоматически назначенным цветам." -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "Учётные записи и данные у провайдера не изменятся." -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "Оставить профиль" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "Удалить календарь?" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "Прекратить его синхронизацию и удалить его события с этого устройства." -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "События на сервере не будут удалены." -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "Оставить календарь" diff --git a/lang/tr/LC_MESSAGES/flectar-mail.po b/lang/tr/LC_MESSAGES/flectar-mail.po index 73019efc..8fef2467 100644 --- a/lang/tr/LC_MESSAGES/flectar-mail.po +++ b/lang/tr/LC_MESSAGES/flectar-mail.po @@ -21,7 +21,7 @@ msgid "Graphite" msgstr "" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "Açık" @@ -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:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "Yerel veriler yükleniyor…" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "Yerel veriler hazır." @@ -644,555 +644,567 @@ msgid "Could not save mail grouping preference: {}" msgstr "" #: ui/app.slint:278 +msgid "Conversation view updated for this session." +msgstr "" + +#: ui/app.slint:279 +msgid "Conversation view preference saved." +msgstr "" + +#: ui/app.slint:280 +msgid "Could not save conversation view preference: {}" +msgstr "" + +#: ui/app.slint:281 msgid "Profile changes require local mail data." msgstr "Profil değişiklikleri için yerel posta verileri gereklidir." -#: ui/app.slint:279 +#: ui/app.slint:282 msgid "Profile saved." msgstr "Profil kaydedildi." -#: ui/app.slint:280 +#: ui/app.slint:283 msgid "Could not save profile: {}" msgstr "Profil kaydedilemedi: {}" -#: ui/app.slint:281 +#: ui/app.slint:284 msgid "Account profile updated." msgstr "Hesap profili güncellendi." -#: ui/app.slint:282 +#: ui/app.slint:285 msgid "Account color changes require local mail data." msgstr "Hesap rengi değişiklikleri için yerel posta verileri gereklidir." -#: ui/app.slint:283 +#: ui/app.slint:286 msgid "Account color updated." msgstr "Hesap rengi güncellendi." -#: ui/app.slint:284 +#: ui/app.slint:287 msgid "Could not update account color: {}" msgstr "Hesap rengi güncellenemedi: {}" -#: ui/app.slint:285 +#: ui/app.slint:288 msgid "Could not update account profile: {}" msgstr "Hesap profili güncellenemedi: {}" -#: ui/app.slint:286 +#: ui/app.slint:289 msgid "Profile deleted." msgstr "Profil silindi." -#: ui/app.slint:287 +#: ui/app.slint:290 msgid "Could not delete profile: {}" msgstr "Profil silinemedi: {}" -#: ui/app.slint:288 +#: ui/app.slint:291 msgid "Could not switch profile: {}" msgstr "" -#: ui/app.slint:289 +#: ui/app.slint:292 msgid "Marker preference is active for this session." msgstr "İşaretleyici tercihi bu oturum için etkin." -#: ui/app.slint:290 +#: ui/app.slint:293 msgid "Mail-list marker preference saved." msgstr "Posta listesi işaretleyici tercihi kaydedildi." -#: ui/app.slint:291 +#: ui/app.slint:294 msgid "Could not save mail-list marker preference: {}" msgstr "Posta listesi işaretleyici tercihi kaydedilemedi: {}" -#: ui/app.slint:292 +#: ui/app.slint:295 msgid "Workspace layout updated for this session." msgstr "Çalışma alanı düzeni bu oturum için güncellendi." -#: ui/app.slint:293 +#: ui/app.slint:296 msgid "Workspace layout preference saved." msgstr "Çalışma alanı düzeni tercihi kaydedildi." -#: ui/app.slint:294 +#: ui/app.slint:297 msgid "Could not save workspace layout: {}" msgstr "Çalışma alanı düzeni kaydedilemedi: {}" -#: ui/app.slint:295 +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "Liste bölmesi genişliği kaydedilemedi: {}" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "{} açıldı" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "Bağlantı açılamadı: {}" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "HTML kaynağı kopyalandı" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "Seçili metin kopyalandı" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "E-posta metni kopyalandı" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "Bağlantı kopyalandı" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "Blitz yazılım seçim oluşturması başarısız: {}" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "Blitz yazılım döşeme oluşturması başarısız: {}" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "İleti hazır." -#: ui/app.slint:309 +#: ui/app.slint:312 msgid "System tray behavior is unavailable in this package." msgstr "Sistem tepsisi davranışı bu pakette kullanılamıyor." -#: ui/app.slint:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "Tepsiye küçültme bu oturum için etkin." -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "Kapatma davranışı kaydediliyor…" -#: ui/app.slint:312 +#: ui/app.slint:315 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:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "Pencere kapatıldığında Flectar Mail artık kapanacak." -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "Kapatma davranışı kaydedilemedi: {}" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "Flectar Mail oturum açtığınızda başlatılacak." -#: ui/app.slint:316 +#: ui/app.slint:319 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:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "Başlangıç davranışı değiştirilemedi: {}" -#: ui/app.slint:318 +#: ui/app.slint:321 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:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "Veritabanı anlık görüntüsü {} konumuna dışa aktarıldı." -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "Veritabanı anlık görüntüsü dışa aktarılamadı: {}" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "Hesap sırası kaydedildi." -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "Hesap sırası kaydedilemedi: {}" -#: ui/app.slint:332 +#: ui/app.slint:335 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:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "Hesap bu cihazdan kaldırıldı." -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "Hesap kaldırıldı. E-posta yenilemesi yeniden denenecek." -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "Hesap kaldırıldı; yerel temizlik yeniden denenmeli: {}" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "Hesap kaldırılamadı: {}" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "Hesap kaldırılıyor…" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "Hesap eşitleniyor…" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "E-posta geçmişi güncellenemedi: {}" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "{} bağlandı. İlk eşitleme arka planda çalışıyor." -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "Hesap kurulumu başarısız oldu: {}" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "OAuth başarısız oldu: {}" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "{} yeniden bağlandı. Eşitleme sürdürülüyor." -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "Yeniden bağlanma başarısız: {}" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "Takvim bağlandı ve ilk eşitleme başladı." -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "Takvim bağlanamadı: {}" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "Takvim eşitlemesi etkinleştirildi." -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "Takvim eşitlemesi duraklatıldı." -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "Takvim eşitlemesi güncellenemedi: {}" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "CalDAV bağlandı ve ilk eşitleme başladı." -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "CalDAV bağlanamadı: {}" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "CardDAV bağlandı ve ilk eşitleme başladı." -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "CardDAV bağlanamadı: {}" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "CardDAV eşitlemesi etkinleştirildi." -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "CardDAV eşitlemesi duraklatıldı." -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "CardDAV eşitlemesi güncellenemedi: {}" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "CardDAV bağlantısı kesildi." -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "CardDAV bağlantısı kesilemedi: {}" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "Yedek oluşturmadan önce bir hesap bağlayın." -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "Flectar Mail hesap yedeğini dışa aktar" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "Flectar Mail yedeği" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:379 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:377 +#: ui/app.slint:380 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:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "Yedek dışa aktarılamadı: {}" -#: ui/app.slint:379 +#: ui/app.slint:382 msgid "Local data storage is unavailable. Retry startup." msgstr "Yerel veri deposu kullanılamıyor. Başlatmayı yeniden deneyin." -#: ui/app.slint:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "Doğrulanmış veritabanı anlık görüntüsü oluşturuluyor…" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "Tüm yerel Flectar Mail verileri silindi." -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "Tüm yerel veriler silinemedi: {}" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "Yerel hesaplar ve önbellek verileri siliniyor…" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "Arka plan e-posta yenilemesi başarısız: {}" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "Bu klasörde konuşma yok" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "Bu aramayla eşleşen konuşma yok" -#: ui/app.slint:391 +#: ui/app.slint:394 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:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "Büyük ileti uyumluluk modunda görüntülendi." -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "E-postanın yazılımla görüntülenmesi başarısız oldu: {}" -#: ui/app.slint:394 +#: ui/app.slint:397 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:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Blitz oluşturması başarısız (GPU: {}; yazılım: {})" -#: ui/app.slint:400 +#: ui/app.slint:403 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:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "Kaydedilemedi: kişi deposu kullanılamıyor." -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "Kişi kaydedilemedi: {}" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "Kişi kaydedildi." -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "Kişilere kaydedildi." -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "Silinemedi: kişi deposu kullanılamıyor." -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "Kişi silinemedi: {}" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "Kişi silindi." -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "Kişiler yüklenemedi: {}" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "Yerel kişi deposu hâlâ başlıyor…" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "Kişiler yükleniyor…" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "Yerel takvim" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "Takvim" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "Takvim yüklenemedi: {}" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "Takvim gösteriliyor ve eşitleniyor." -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "Takvim gizlendi ve eşitleme duraklatıldı." -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "Takvim güncellemesi başarısız: {}" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "Yalnızca Flectar Mail'de oluşturulan etkinlikler düzenlenebilir." -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "Yalnızca Flectar Mail'de oluşturulan etkinlikler silinebilir." -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "Takvim deposu kullanılamıyor." -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "Etkinlik silinemedi: {}" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "Etkinlik silindi, ancak yenileme başarısız: {}" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "Etkinlik silindi." -#: ui/app.slint:427 +#: ui/app.slint:430 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:428 +#: ui/app.slint:431 msgid "Event duration must be a number of minutes." msgstr "Etkinlik süresi dakika cinsinden bir sayı olmalıdır." -#: ui/app.slint:429 +#: ui/app.slint:432 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:430 +#: ui/app.slint:433 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:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "Etkinlik kaydedilemedi: {}" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "Etkinlik kaydedildi, ancak yenileme başarısız: {}" -#: ui/app.slint:433 +#: ui/app.slint:436 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:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "E-posta kaynağı görüntülenemedi: {}" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "İleti yenilemesi başarısız: {}" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "İleti yüklenemedi: {}" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." @@ -1200,309 +1212,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:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "Yerel depolama başlatılamadı." -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "Sürüklenen hesap tanımlanamadı." -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "Hesap sıralaması yerel e-posta verisi gerektirir." -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "Yeniden sıralanacak hesap bulunamadı." -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "Hesap sırası kaydediliyor…" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "Gönderilen kopya ayarları yerel posta verileri gerektirir." -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "Gönderilen kopya ayarları güncelleniyor…" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "Gönderilen kopya ayarları güncellendi." -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "Gönderilen kopya ayarları güncellenemedi: {}" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "E-posta geçmişi yerel e-posta verisi gerektirir." -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "E-posta geçmişi güncelleniyor…" -#: ui/app.slint:463 +#: ui/app.slint:466 msgid "Remote images are unavailable in this minimal build." msgstr "Uzak görseller bu minimal derlemede kullanılamıyor." -#: ui/app.slint:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "Uzak görsel ayarı kaydedilemedi: {}" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "Uzak gönderen simgeleri kullanılamıyor: {}" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "Uzak görseller kullanılamıyor: {}" -#: ui/app.slint:467 +#: ui/app.slint:470 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:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "Uzak görseller engellendi." -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "İleti görselleri yenilenemedi: {}" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "Uzak görsel yükleme devre dışı." -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "İleti görselleri yüklenemedi: {}" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "Eşitleme tamamlandı, yenileme başarısız: {}" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "Eşitleme tamamlandı." -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "Eşitleme başarısız: {}" -#: ui/app.slint:475 +#: ui/app.slint:478 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:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "Hesaplar eşitleniyor…" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "İleti işlemi tamamlandı." -#: ui/app.slint:482 +#: ui/app.slint:485 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "İleti işlemi başarısız: {}" -#: ui/app.slint:484 +#: ui/app.slint:487 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:485 +#: ui/app.slint:488 msgid "Label added." msgstr "Etiket eklendi." -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "Etiket kaldırıldı." -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "Etiket oluşturuldu ve eklendi." -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "Etiket oluşturuldu." -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "Etiket güncellendi." -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "Etiket silindi." -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "Etiket güncellenemedi: {}" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "Etiket kaydedilemedi: {}" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "Etiket silinemedi: {}" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "Klasör oluşturuldu." -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "Klasör yeniden adlandırıldı." -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "Klasör silindi." -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "Klasör oluşturulamadı: {}" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "Klasör yeniden adlandırılamadı: {}" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "Klasör silinemedi: {}" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "Önizleme kapatılamadı: {}" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "Sistem yazdırma görünümü açıldı." -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "İleti yazdırılamadı: {}" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "İleti tarayıcınızda açıldı." -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "İleti tarayıcıda açılamadı: {}" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "Yanıtlamadan veya iletmeden önce bir hesap bağlayın." -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "Önce bir ileti seçin." -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "Yalnızca taslaklar düzenlenmek üzere yeniden açılabilir." -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "Taslak açılamadı: {}" -#: ui/app.slint:509 +#: ui/app.slint:512 msgid "Could not open draft: invalid account identifier" msgstr "Taslak açılamadı: geçersiz hesap tanımlayıcısı" -#: ui/app.slint:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "Bağlı hesap" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "Oluşturucu açılamadı: {}" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:517 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:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "{} tarihinde {} şunu yazdı:" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "{} şunu yazdı:" -#: ui/app.slint:522 +#: ui/app.slint:525 msgid "Forwarded message" msgstr "İletilen ileti" -#: ui/app.slint:523 +#: ui/app.slint:526 msgctxt "forwarded message header" msgid "From: {}" msgstr "Kimden: {}" -#: ui/app.slint:524 +#: ui/app.slint:527 msgctxt "forwarded message header" msgid "Date: {}" msgstr "Tarih: {}" -#: ui/app.slint:525 +#: ui/app.slint:528 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "Konu: {}" -#: ui/app.slint:526 +#: ui/app.slint:529 msgctxt "forwarded message header" msgid "To: {}" msgstr "Kime: {}" -#: ui/app.slint:527 +#: ui/app.slint:530 msgid "Attach files to this email" msgstr "Bu e-postaya dosya ekleyin" -#: ui/app.slint:528 +#: ui/app.slint:531 msgid "Could not add attachments: {}" msgstr "Ekler eklenemedi: {}" -#: ui/app.slint:529 +#: ui/app.slint:532 msgid "Added 1 attachment." msgstr "1 ek eklendi." -#: ui/app.slint:530 +#: ui/app.slint:533 msgid "Added {} attachments." msgstr "{} ek eklendi." -#: ui/app.slint:531 +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." @@ -1510,123 +1522,123 @@ msgstr "" "Eklenen ekler: {}. Atlananlar: {} (yinelenen, okunamayan veya toplam 25 MB " "sınırını aşan)." -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "Ek kaldırıldı." -#: ui/app.slint:533 +#: ui/app.slint:536 msgid "Choose the account this message should be sent from." msgstr "Bu iletinin hangi hesaptan gönderileceğini seçin." -#: ui/app.slint:534 +#: ui/app.slint:537 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:535 +#: ui/app.slint:538 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:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "İleti gönderilmek üzere kuyruğa alındı (eylem {})." -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "İleti gönderiliyor…" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "İleti gönderildi." -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "İleti gönderilemedi: {} Taslağınız korunuyor." -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "Taslak yerel olarak kaydedildi (#{})." -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "Oluşturma başarısız: {}" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "E-posta şablonlarını yönetmeden önce bir hesap bağlayın." -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "E-posta şablonları yüklenemedi: {}" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "Bir şablon adı girin." -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "Şablona bir konu veya ileti ekleyin." -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "E-posta şablonu kaydedildi." -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "E-posta şablonu kaydedilemedi: {}" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "E-posta şablonu silindi." -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "E-posta şablonu silinemedi: {}" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "E-posta şablonu artık mevcut değil." -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "E-posta şablonu eklendi." -#: ui/app.slint:552 +#: ui/app.slint:555 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "E-posta şablonu eklendi, ancak kullanımı kaydedilemedi: {}" -#: ui/app.slint:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:557 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:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:559 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:557 +#: ui/app.slint:560 msgid "Local mail data is unavailable. Retry startup." msgstr "Yerel e-posta verisi kullanılamıyor. Başlatmayı yeniden deneyin." -#: ui/app.slint:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "JMAP keşfediliyor ve yetenekler denetleniyor…" -#: ui/app.slint:559 +#: ui/app.slint:562 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:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "Hesap tercihleri yüklenemedi: {}" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." @@ -1634,19 +1646,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:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "Sertifika içe aktarılamadı: {}" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "IMAP ve SMTP bağlantıları sınanıyor…" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." @@ -1654,145 +1666,145 @@ msgstr "" "Başka bir tarayıcı yetkilendirmesi zaten sürüyor; onu bitirin veya İptal'i " "seçin." -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "Gmail veya Outlook OAuth seçin." -#: ui/app.slint:572 +#: ui/app.slint:575 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:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "Tarayıcıyla oturum açma iptal ediliyor…" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "Tarayıcıyla oturum açma tamamlanıyor…" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "O tarayıcı adresi kullanılamadı: {}" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "Takvim çekirdeği kullanılamıyor." -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "Hesap artık yok." -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "Takvim erişimini tarayıcınızda yetkilendirin." -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "OAuth uygulama anahtarları kaydedildi." -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "{} OAuth ayarları kaydedildi." -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "OAuth ayarları başarısız: {}" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "E-posta yenilemesi başarısız: {}" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "E-posta filtresi başarısız: {}" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "E-posta sayfalaması başarısız: {}" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "İleti okundu olarak işaretlenemedi: {}" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "İleti yükleniyor…" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "Genel Etiketler (yalnızca yerel)" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "Kalıcı olarak silinsin mi?" -#: ui/app.slint:2212 +#: ui/app.slint:2220 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2213 +#: ui/app.slint:2221 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "Bu işlem geri alınamaz." -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "Kalıcı olarak sil" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "Posta kutusu başlatılamadı" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail yerel depolamayı açamadı" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "Tanılama kimliği: {}" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "Tanılama kimliği {}" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "Yeniden dene" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "Tanılama bilgilerini kopyala" @@ -1867,7 +1879,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "" #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "" @@ -1992,7 +2004,7 @@ msgid "" msgstr "" #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "E-posta adresi" @@ -2026,7 +2038,7 @@ msgstr "" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "İptal" @@ -2237,7 +2249,7 @@ msgid "Export decrypted message" msgstr "Şifresi çözülmüş iletiyi dışa aktar" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "Kapat" @@ -2285,7 +2297,7 @@ msgid "Show calendars" msgstr "Takvimleri göster" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "Sıfırla" @@ -2683,7 +2695,7 @@ msgstr "Onayla" msgid "On" msgstr "Açık" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "Kapalı" @@ -3181,8 +3193,8 @@ msgstr[1] "" msgid "Files" msgstr "Dosyalar" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "Kişiler" @@ -3190,7 +3202,7 @@ msgstr "Kişiler" msgid "Settings" msgstr "Ayarlar" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "E-posta" @@ -3199,7 +3211,7 @@ msgid "Close tab" msgstr "" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "" @@ -3387,7 +3399,7 @@ msgstr "" msgid "Close tabs to the right" msgstr "" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "Uzaklaştır" @@ -3399,7 +3411,7 @@ msgstr "Yakınlaştırmayı sıfırla (%{})" msgid "Zoom percentage" msgstr "Yakınlaştırma yüzdesi" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "Yakınlaştır" @@ -3752,11 +3764,11 @@ msgstr "Sağlayıcının standart giden posta sunucusu {} sunucusunun yerini al msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "" -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "" @@ -3940,7 +3952,7 @@ msgstr "" msgid "Continue in background" msgstr "" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "Klasör seç…" @@ -3958,7 +3970,7 @@ msgid_plural "Import {n} accounts" msgstr[0] "Bir hesabı içe aktar" msgstr[1] "{n} hesabı içe aktar" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "İçe aktar" @@ -4313,7 +4325,7 @@ msgstr "Kaynağı kopyala" msgid "Report issue" msgstr "Sorun bildir" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "Eşitle" @@ -4405,122 +4417,122 @@ msgstr "" msgid "Learn more" msgstr "" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "Her dakika" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "Her 5 dakikada bir" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "Her 15 dakikada bir" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "Önemli e-postalar" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "Tüm yeni e-postalar" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "1 ay" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "3 ay" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "6 ay · Önerilen" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "1 yıl" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "Tüm e-postalar" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "Sistem dili" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "İngilizce" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "İspanyolca" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "Türkçe" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "Rusça" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "Otomatik" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "12 saat" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "24 saat" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" @@ -4528,17 +4540,17 @@ msgstr "" "kişiler insanlar öneriler otomatik tamamlama alıcılar gönderenler adres " "defteri gizlilik temizle" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "bildirimler uyarılar sesler masaüstü yeni posta" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" msgstr "" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" @@ -4546,317 +4558,327 @@ msgstr "" "depolama veri kullanımı posta ekler dosyalar veritabanları yedek anlık " "görüntü içe aktar dışa aktar sil" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" msgstr "" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "hakkında sürüm emeği geçenler lisans flectar" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "AYARLAR" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "Ayar bulunamadı" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "Genel" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "Hesaplar" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "Bildirimler" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "Kısayollar" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "Depolama" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "Hakkında" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "Görünüm, gizlilik ve eşitlemeyi yönetin." -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "" -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "Arayüz" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "Tek renkli kenar çubuğu simgeleri" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "Posta kutusu ve klasör simgeleri için tek bir nötr renk kullanılır." -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "Avatar yok" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "Gönderen görsellerini ileti listesinde ve okuyucuda gizler." -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "Çerçevesiz pencere" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "" "Sistem başlık çubuğunu araç çubuğundaki pencere denetimleriyle değiştirin." -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "Çalışma alanı düzeni" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "En az" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "Dil ve saat" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "Görüntüleme dili" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "Bir çeviri mevcut olduğunda cihazınızın dilini kullanın." -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "Flectar Mail genelinde kullanılacak dili seçin." -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "Saat biçimi" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "Bölgenizin biçimini kullanır, örneğin {}." -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "Saatler {} biçiminde gösterilir." -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "Gelen kutusu davranışı" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "Birleşik Gelen Kutusu" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "VARSAYILAN" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "Bağlı tüm hesaplardan gelen iletileri birleştirir." -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "" -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "İletiler açıldığında okundu olarak işaretle" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "Okunmadı durumunu elle değiştirene kadar korumak için bunu kapatın." -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "Uzak görseller" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "Gönderen favikonlarını ve ileti gövdelerine gömülü görselleri yükler." -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "Bu minimal derlemede kullanılamaz." -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "" "İzleme piksellerini engellemek ve bellek kullanımını azaltmak için " "varsayılan olarak kapalıdır." -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "Sistem tepsisinde çalışmayı sürdür" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "" "Pencere kapatıldığında Flectar Mail gizlenir; e-postalar eşitlenmeye devam " "eder." -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "" "Varsayılan olarak kapalıdır; uygulamayı durdurmak için tepsi menüsünden " "Çıkış'ı seçin." -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "Otomatik başlat" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "Oturum açtığınızda Flectar Mail'i sistem tepsisinde başlatır." -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "Oturum açtığınızda Flectar Mail'i açar." -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "" "Varsayılan olarak kapalı; sisteminizin başlangıç uygulamalarında da " "listelenir." -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "Eşitleme ve bildirimler" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "Yeni e-postaları denetle" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "Anlık sağlayıcı güncellemesi olmadığında yenileme sıklığı." -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "Masaüstü bildirimleri" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "Hangi gelen iletilerin sizi uyarabileceğini seçin." -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "Sağlayıcı eşitlemesi hazır." -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "Eşitleniyor…" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "Şimdi eşitle" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "Görüntüleyici" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "Değişiklikler Flectar Mail yeniden başlatıldığında etkili olur." -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "GPU modu bu derlemede kullanılamıyor." -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "CPU — Düşük Bellek" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "Yeniden başlatma gerekiyor. Geçerli görüntüleyiciniz hâlâ etkin." -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "Etkin: GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "Etkin: CPU — Düşük Bellek" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." msgstr "" -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." msgstr "" "Sık kullanılan alıcıları kolayca bulurken adres defterinizi düzenli tutun." -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "E-posta gönderdiğim kişileri hatırla" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." @@ -4864,11 +4886,11 @@ msgstr "" "Etkin olduğunda, yeni gönderilerdeki ve eşitlenen Gönderilmiş postalarındaki " "Kime, Bilgi ve Gizli alıcılarını hatırlar." -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "Gelen göndericileri hatırla" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." @@ -4876,11 +4898,11 @@ msgstr "" "Yeni e-postalardaki gerçek göndericileri hatırlayın. Otomatik, spam, çöp " "kutusu ve mevcut iletiler hariç tutulur." -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "Tüm hesaplardaki önerileri kullan" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." @@ -4888,11 +4910,11 @@ msgstr "" "Bağlı herhangi bir hesaptan e-posta gönderilen kişileri dahil edin. " "Öğrenilen alıcıları hesaba özel tutmak için kapatın." -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "Yazarken önerileri kullan" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." @@ -4900,11 +4922,11 @@ msgstr "" "Öğrenilen kişileri alıcı otomatik tamamlamasına dahil edin. Kaydedilmiş ve " "CardDAV kişileri her zaman kullanılabilir." -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "Önerilen kişiler" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." @@ -4913,15 +4935,15 @@ msgstr "" "CardDAV ile hiçbir zaman eşitlenmez. Öğrenmeyi yeniden başlatmak için " "istediğiniz zaman temizleyin." -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "Şimdi temizle" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "Önerilen kişileri temizle" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." @@ -4929,7 +4951,7 @@ msgstr "" "Bağlı posta kutularını yönetin ve sağlayıcı ekleyin. Bir hesabın sırasını " "her yerde değiştirmek için sürükleyin." -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." @@ -4937,15 +4959,15 @@ msgstr "" "Hesapları Kişisel veya İş olarak gruplandırın ve posta listesinde " "renkleriyle ayırt edin." -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "Profil ekle" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "Her iletinin sol kenarında hesap rengini göster" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." @@ -4953,83 +4975,83 @@ msgstr "" "Henüz profil yok. Bir profil oluşturana kadar hesaplar kendi renklerini veya " "oluşturulan renkleri kullanır." -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "Profili düzenle" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "Profili sil" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "Gmail ekle" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "Outlook ekle" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "E-posta hesabı ekle" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "Oturum açmayı iptal et" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "Bağlı · JMAP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "Bağlı · IMAP + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "Hesap durumu: {}" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "Yeniden bağlan" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "Yönet" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "CardDAV'ı onar" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "CardDAV" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "E-posta eşitleme hatası: {}" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "E-posta geçmişi" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." @@ -5037,188 +5059,188 @@ msgstr "" "Posta kutusunun tamamını indirir. Büyük hesaplar önemli ölçüde zaman ve " "depolama gerektirebilir." -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "" "Ne kadar geriye indirileceği. Bu cihazda zaten depolanan e-postalar korunur." -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "Gönderilen kopyalar" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "" "Gönderilen postaları kimin kaydedeceğini seçin. Sunucunuz bir kopya " "kaydetmiyorsa Flectar kullanın." -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "Sağlayıcı varsayılanı" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "Sunucu bir kopya kaydeder" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "Flectar bir kopya kaydeder" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "" -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "" -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." msgstr "" -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "Posta listesinde {} rengini kullanır" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "Özel hesap rengi kullanır" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "Oluşturulan hesap rengini kullanır" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "OAuth uygulama kimlik bilgileri" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "Özel masaüstü uygulaması kimlik bilgileri yapılandırıldı." -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "" "Gelişmiş: kendi Gmail veya Microsoft masaüstü uygulaması kaydınızı kullanın." -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "Gizle" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "Yapılandır" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "Gmail masaüstü istemci kimliği" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "Gmail istemci gizli anahtarı (isteğe bağlı)" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "Gmail'i kaydet" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "Gmail ayarlarını kaydet" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "Outlook'u kaydet" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "" "Outlook genel masaüstü istemcileri PKCE kullanır ve istemci gizli anahtarı " "gerektirmez." -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "CardDAV bağla" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "Kişileri standartlara uygun bir CardDAV sunucusuyla eşitleyin." -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "https://kisiler.ornek.com/" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "Kullanıcı adı" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "Uygulama parolası" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "Bağlantıyı kes" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "Bağlan" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "" "See what Flectar Mail stores locally and manage the data on this device." msgstr "" "Flectar Mail'in yerel olarak neleri depoladığını görün ve bu cihazdaki " "verileri yönetin." -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "Sil…" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "Veritabanı anlık görüntüsü" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." @@ -5226,7 +5248,7 @@ msgstr "" "E-posta ve takvim veritabanlarının doğrulanmış kopyalarını şema sürümleriyle " "birlikte dışa aktarın." -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." @@ -5234,15 +5256,15 @@ msgstr "" "Anlık görüntü özel yerel e-postaları ve ayarları içerir; parolaları veya " "OAuth belirteçlerini içermez. Güvenli biçimde saklayın." -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "Anlık görüntüyü dışa aktar" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "Hesap kurulumunu aktar" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5252,7 +5274,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." @@ -5260,15 +5282,15 @@ msgstr "" "Parolalar ve OAuth belirteçleri sistem anahtarlığında kalır. Geri yüklenen " "bir cihaz sizden güvenli oturum açmanızı ister." -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "Dışa aktar" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "Tüm yerel verileri sil" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." @@ -5276,266 +5298,266 @@ msgstr "" "Hesapları, indirilen e-postaları, takvimleri, kişileri, tercihleri ve kimlik " "bilgilerini bu cihazdan kaldırır." -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "Bu işlem Gmail, Outlook veya IMAP sunucunuzdaki hiçbir şeyi silmez." -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "Tümünü sil" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "Flectar Mail'in sizi nasıl uyaracağını seçin." -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "Bildirim sesleri" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "Yeni e-postalar ve gönderilen iletiler için ses çalar." -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "Klavye kısayolları" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "E-postalara klavyeden ayrılmadan göz atın." -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "Yeni ileti yaz" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "E-posta ara" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "Arşivle" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "İstenmeyene taşı" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "Çöp kutusuna taşı" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "İletide bul" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "İmleçle gezinme" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." msgstr "" -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." msgstr "" -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "" -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "Flectar Mail, onu geliştirenler ve topluluğu." -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "Flectar Mail logosu" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "Sakin ve özel bir gelen kutusu için yerel bir e-posta istemcisi." -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "Sürüm {}" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "Emeği geçenler" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "Flectar tarafından açık kaynak topluluğunun yardımıyla geliştirildi." -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "Flectar" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "Şirket web sitesi" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "Açık kaynak katkıcıları" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "GitHub'da katkıda bulunan kişilerle tanışın" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "Lisans" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "Yalnızca AGPL-3.0." -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." @@ -5543,31 +5565,31 @@ msgstr "" "Flectar Mail yalnızca GNU Affero Genel Kamu Lisansı v3.0 kapsamında " "yayımlanır." -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "Üçüncü taraf bileşenler kendi lisanslarını ve bildirimlerini korur." -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "Ayarlar bölümleri" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "Ayarları kapat" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "Ayarlar bölümlerini kapat" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "CalDAV ayarları" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "Yeni takvimler keşfedin." -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." @@ -5575,127 +5597,127 @@ msgstr "" "iCloud, Fastmail, Nextcloud ve standartlara uygun CalDAV sunucularıyla " "çalışır." -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "Sunucu adresi" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "https://takvim.ornek.com/" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." msgstr "" -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "Genellikle e-posta adresiniz" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "Yeni uygulama parolası · İsteğe bağlı" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "Geçerli parolayı korumak için boş bırakın" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "Sistem anahtarlığınızda güvenle saklanır" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "Bağlanıyor…" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "E-posta hesabını düzenle" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "E-posta hesabı bağla" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "Düzenle: {}" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "Otomatik keşifle eşitleme ve gönderme için JMAP kullanır." -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "Eşitleme ve gönderme için ayrı IMAP ve SMTP sunucuları kullanır." -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "ad@ornek.com" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "Parola, uygulama parolası veya API belirteci" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "Parola veya uygulama parolası" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "JMAP" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "Sunucu adresi · İsteğe bağlı" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "E-posta etki alanınızdan keşfedilir" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "IMAP sunucusu" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "imap.ornek.com" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 msgid "Port" msgstr "Bağlantı noktası" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "SMTP sunucusu" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "smtp.ornek.com" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." @@ -5703,56 +5725,56 @@ msgstr "" "Proton Bridge: Bridge'de gösterilen yerel sunucuları, bağlantı noktalarını " "ve parolayı kullanın ve şifreleme ayarlarını ona uygun yapın." -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "Hesabı kaydet" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "Hesabı bağla" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "Profil oluştur" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "Profil adı" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "Kişisel veya İş" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "Renk" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "Profil rengi {}" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "Profili kaydet" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "Bu profil kaydedilemedi. Adı kontrol edip tekrar deneyin." -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "{} için bir profil seçin" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "Tüm yerel veriler silinsin mi?" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." @@ -5760,84 +5782,84 @@ msgstr "" "Bu işlem Flectar Mail'in bu cihazda depoladığı tüm hesapları, indirilen " "iletileri, takvimleri, kişileri, tercihleri ve kimlik bilgilerini kaldırır." -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " "servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" "Gmail, Outlook ve IMAP sunucularındaki e-postalar ve etkinlikler silinmez." -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "Verilerimi koru" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "Hesap kaldırılsın mı?" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "Bu hesabı ve indirilmiş e-postalarını bu cihazdan kaldırır." -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "E-posta sunucusundaki iletiler silinmez." -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "Hesabı kaldır" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "Hesabı koru" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "Profil silinsin mi?" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." @@ -5845,27 +5867,27 @@ msgstr "" "Bu profile atanmış hesaplar kendi hesap renklerine veya oluşturulan renklere " "dönecek." -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "Hesaplar ve sağlayıcı verileri değiştirilmez." -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "Profili koru" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "" diff --git a/lang/zh_Hans/LC_MESSAGES/flectar-mail.po b/lang/zh_Hans/LC_MESSAGES/flectar-mail.po index dbf647a4..de2de27a 100644 --- a/lang/zh_Hans/LC_MESSAGES/flectar-mail.po +++ b/lang/zh_Hans/LC_MESSAGES/flectar-mail.po @@ -23,7 +23,7 @@ msgid "Graphite" msgstr "" #: ui/app-icon.slint:21 ui/components/theme-editor.slint:612 -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Light" msgstr "浅色" @@ -386,7 +386,7 @@ msgstr "有往来邮件记录" msgid "New address-book entry" msgstr "新建通讯录条目" -#: ui/app.slint:179 ui/app.slint:1030 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1036 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:443 +#: ui/app.slint:184 ui/app.slint:446 msgid "Loading local data…" msgstr "正在加载本地数据…" -#: ui/app.slint:185 ui/app.slint:444 +#: ui/app.slint:185 ui/app.slint:447 msgid "Local data ready." msgstr "本地数据已就绪。" @@ -645,981 +645,993 @@ msgid "Could not save mail grouping preference: {}" msgstr "无法保存邮件分组偏好设置:{}" #: ui/app.slint:278 +msgid "Conversation view updated for this session." +msgstr "" + +#: ui/app.slint:279 +msgid "Conversation view preference saved." +msgstr "" + +#: ui/app.slint:280 +msgid "Could not save conversation view preference: {}" +msgstr "" + +#: ui/app.slint:281 msgid "Profile changes require local mail data." msgstr "更改分组需要本地邮件数据。" -#: ui/app.slint:279 +#: ui/app.slint:282 msgid "Profile saved." msgstr "分组已保存。" -#: ui/app.slint:280 +#: ui/app.slint:283 msgid "Could not save profile: {}" msgstr "无法保存分组:{}" -#: ui/app.slint:281 +#: ui/app.slint:284 msgid "Account profile updated." msgstr "账户分组已更新。" -#: ui/app.slint:282 +#: ui/app.slint:285 msgid "Account color changes require local mail data." msgstr "修改账户颜色需要本地邮件数据。" -#: ui/app.slint:283 +#: ui/app.slint:286 msgid "Account color updated." msgstr "账户颜色已更新。" -#: ui/app.slint:284 +#: ui/app.slint:287 msgid "Could not update account color: {}" msgstr "无法更新账户颜色:{}" -#: ui/app.slint:285 +#: ui/app.slint:288 msgid "Could not update account profile: {}" msgstr "无法更新账户分组:{}" -#: ui/app.slint:286 +#: ui/app.slint:289 msgid "Profile deleted." msgstr "分组已删除。" -#: ui/app.slint:287 +#: ui/app.slint:290 msgid "Could not delete profile: {}" msgstr "无法删除分组:{}" -#: ui/app.slint:288 +#: ui/app.slint:291 msgid "Could not switch profile: {}" msgstr "" -#: ui/app.slint:289 +#: ui/app.slint:292 msgid "Marker preference is active for this session." msgstr "标记偏好仅在本次会话中生效。" -#: ui/app.slint:290 +#: ui/app.slint:293 msgid "Mail-list marker preference saved." msgstr "邮件列表标记偏好已保存。" -#: ui/app.slint:291 +#: ui/app.slint:294 msgid "Could not save mail-list marker preference: {}" msgstr "无法保存邮件列表标记偏好:{}" -#: ui/app.slint:292 +#: ui/app.slint:295 msgid "Workspace layout updated for this session." msgstr "工作区布局仅在本次会话中生效。" -#: ui/app.slint:293 +#: ui/app.slint:296 msgid "Workspace layout preference saved." msgstr "工作区布局偏好已保存。" -#: ui/app.slint:294 +#: ui/app.slint:297 msgid "Could not save workspace layout: {}" msgstr "无法保存工作区布局:{}" -#: ui/app.slint:295 +#: ui/app.slint:298 msgid "Could not save list pane width: {}" msgstr "无法保存列表窗格宽度:{}" -#: ui/app.slint:300 +#: ui/app.slint:303 msgid "Opened {}" msgstr "已打开 {}" -#: ui/app.slint:301 +#: ui/app.slint:304 msgid "Could not open link: {}" msgstr "无法打开链接:{}" -#: ui/app.slint:302 +#: ui/app.slint:305 msgid "Copied HTML source" msgstr "已复制 HTML 源码" -#: ui/app.slint:303 +#: ui/app.slint:306 msgid "Copied selected text" msgstr "已复制选中文本" -#: ui/app.slint:304 +#: ui/app.slint:307 msgid "Copied email text" msgstr "已复制邮件正文" -#: ui/app.slint:305 +#: ui/app.slint:308 msgid "Copied link" msgstr "已复制链接" -#: ui/app.slint:306 +#: ui/app.slint:309 msgid "Blitz software selection render failed: {}" msgstr "Blitz 软件方式渲染选区失败:{}" -#: ui/app.slint:307 +#: ui/app.slint:310 msgid "Blitz software tile render failed: {}" msgstr "Blitz 软件方式渲染分块失败:{}" -#: ui/app.slint:308 +#: ui/app.slint:311 msgid "Message ready." msgstr "邮件已就绪。" -#: ui/app.slint:309 +#: ui/app.slint:312 msgid "System tray behavior is unavailable in this package." msgstr "当前版本不支持系统托盘行为。" -#: ui/app.slint:310 +#: ui/app.slint:313 msgid "Close-to-tray is active for this session." msgstr "关闭时最小化到托盘仅在本次会话中生效。" -#: ui/app.slint:311 +#: ui/app.slint:314 msgid "Saving close behavior…" msgstr "正在保存关闭行为…" -#: ui/app.slint:312 +#: ui/app.slint:315 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "现在关闭窗口会将 Flectar Mail 保留在托盘中。" -#: ui/app.slint:313 +#: ui/app.slint:316 msgid "Closing the window will now quit Flectar Mail." msgstr "现在关闭窗口将退出 Flectar Mail。" -#: ui/app.slint:314 +#: ui/app.slint:317 msgid "Could not save close behavior: {}" msgstr "无法保存关闭行为:{}" -#: ui/app.slint:315 +#: ui/app.slint:318 msgid "Flectar Mail will start when you sign in." msgstr "Flectar Mail 将在您登录时启动。" -#: ui/app.slint:316 +#: ui/app.slint:319 msgid "Flectar Mail will no longer start when you sign in." msgstr "Flectar Mail 将不再在您登录时启动。" -#: ui/app.slint:317 +#: ui/app.slint:320 msgid "Could not change startup behavior: {}" msgstr "无法更改启动行为:{}" -#: ui/app.slint:318 +#: ui/app.slint:321 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "请在“系统设置”的“登录项”中允许 Flectar Mail 以完成设置。" -#: ui/app.slint:323 +#: ui/app.slint:326 msgid "Database snapshot exported to {}." msgstr "数据库快照已导出至 {}。" -#: ui/app.slint:324 +#: ui/app.slint:327 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:325 +#: ui/app.slint:328 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:326 +#: ui/app.slint:329 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:330 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:331 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:332 msgid "Could not export database snapshot: {}" msgstr "无法导出数据库快照:{}" -#: ui/app.slint:330 +#: ui/app.slint:333 msgid "Account order saved." msgstr "账户顺序已保存。" -#: ui/app.slint:331 +#: ui/app.slint:334 msgid "Could not save account order: {}" msgstr "无法保存账户顺序:{}" -#: ui/app.slint:332 +#: ui/app.slint:335 msgid "Mail history updated. Background sync is adjusting now." msgstr "邮件同步范围已更新,后台同步正在调整。" -#: ui/app.slint:333 +#: ui/app.slint:336 msgid "Account removed from this device." msgstr "账户已从此设备移除。" -#: ui/app.slint:334 +#: ui/app.slint:337 msgid "Account removed. Mail refresh will retry." msgstr "账户已移除,邮件刷新将重试。" -#: ui/app.slint:335 +#: ui/app.slint:338 msgid "Account removed; local cleanup needs a retry: {}" msgstr "账户已移除,但本地清理需要重试:{}" -#: ui/app.slint:336 +#: ui/app.slint:339 msgid "Could not remove account: {}" msgstr "无法移除账户:{}" -#: ui/app.slint:337 +#: ui/app.slint:340 msgid "Removing account…" msgstr "正在移除账户…" -#: ui/app.slint:338 +#: ui/app.slint:341 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:342 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:343 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:344 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:345 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:346 msgid "Synchronizing account…" msgstr "正在同步账户…" -#: ui/app.slint:344 +#: ui/app.slint:347 msgid "Could not update mail history: {}" msgstr "无法更新邮件同步范围:{}" -#: ui/app.slint:345 +#: ui/app.slint:348 msgid "Connected {}. Initial sync is running in the background." msgstr "已连接 {},首次同步正在后台运行。" -#: ui/app.slint:346 +#: ui/app.slint:349 msgid "Account setup failed: {}" msgstr "账户设置失败:{}" -#: ui/app.slint:347 +#: ui/app.slint:350 msgid "OAuth failed: {}" msgstr "OAuth 授权失败:{}" -#: ui/app.slint:348 +#: ui/app.slint:351 msgid "Reconnected {}. Synchronization is resuming." msgstr "已重新连接 {},同步正在恢复。" -#: ui/app.slint:349 +#: ui/app.slint:352 msgid "Reconnection failed: {}" msgstr "重新连接失败:{}" -#: ui/app.slint:350 +#: ui/app.slint:353 msgid "Calendar connected and initial sync started." msgstr "日历已连接,首次同步已开始。" -#: ui/app.slint:351 ui/components/account-calendars.slint:270 +#: ui/app.slint:354 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "无法连接日历:{}" -#: ui/app.slint:352 +#: ui/app.slint:355 msgid "Calendar sync enabled." msgstr "日历同步已启用。" -#: ui/app.slint:353 +#: ui/app.slint:356 msgid "Calendar sync paused." msgstr "日历同步已暂停。" -#: ui/app.slint:354 +#: ui/app.slint:357 msgid "Could not update calendar sync: {}" msgstr "无法更新日历同步:{}" -#: ui/app.slint:355 +#: ui/app.slint:358 msgid "CalDAV connected and initial sync started." msgstr "CalDAV 已连接,首次同步已开始。" -#: ui/app.slint:356 +#: ui/app.slint:359 msgid "Could not connect CalDAV: {}" msgstr "无法连接 CalDAV:{}" -#: ui/app.slint:357 +#: ui/app.slint:360 msgid "Calendar removed." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:361 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:362 msgid "CardDAV connected and initial sync started." msgstr "CardDAV 已连接,首次同步已开始。" -#: ui/app.slint:360 +#: ui/app.slint:363 msgid "Could not connect CardDAV: {}" msgstr "无法连接 CardDAV:{}" -#: ui/app.slint:361 +#: ui/app.slint:364 msgid "CardDAV sync enabled." msgstr "CardDAV 同步已启用。" -#: ui/app.slint:362 +#: ui/app.slint:365 msgid "CardDAV sync paused." msgstr "CardDAV 同步已暂停。" -#: ui/app.slint:363 +#: ui/app.slint:366 msgid "Could not update CardDAV sync: {}" msgstr "无法更新 CardDAV 同步:{}" -#: ui/app.slint:364 +#: ui/app.slint:367 msgid "CardDAV disconnected." msgstr "CardDAV 已断开连接。" -#: ui/app.slint:365 +#: ui/app.slint:368 msgid "Could not disconnect CardDAV: {}" msgstr "无法断开 CardDAV:{}" -#: ui/app.slint:370 +#: ui/app.slint:373 msgid "Connect an account before creating a backup." msgstr "请先连接账户再创建备份。" -#: ui/app.slint:371 +#: ui/app.slint:374 msgid "Export Flectar Mail account backup" msgstr "导出 Flectar Mail 账户备份" -#: ui/app.slint:372 +#: ui/app.slint:375 msgid "Flectar Mail backup" msgstr "Flectar Mail 备份" -#: ui/app.slint:373 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:376 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:377 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:378 msgid "Imported messages" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:379 msgid "Choose where to export the database snapshot" msgstr "选择数据库快照的导出位置" -#: ui/app.slint:377 +#: ui/app.slint:380 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "备份已导出,其中不包含密码和 OAuth 令牌。" -#: ui/app.slint:378 +#: ui/app.slint:381 msgid "Could not export backup: {}" msgstr "无法导出备份:{}" -#: ui/app.slint:379 +#: ui/app.slint:382 msgid "Local data storage is unavailable. Retry startup." msgstr "本地数据存储不可用,请重新启动。" -#: ui/app.slint:380 +#: ui/app.slint:383 msgid "Creating verified database snapshot…" msgstr "正在创建已验证的数据库快照…" -#: ui/app.slint:381 +#: ui/app.slint:384 msgid "All local Flectar Mail data was deleted." msgstr "Flectar Mail 的全部本地数据已删除。" -#: ui/app.slint:382 +#: ui/app.slint:385 msgid "Could not delete all local data: {}" msgstr "无法删除全部本地数据:{}" -#: ui/app.slint:383 +#: ui/app.slint:386 msgid "Deleting local accounts and cached data…" msgstr "正在删除本地账户和缓存数据…" -#: ui/app.slint:388 +#: ui/app.slint:391 msgid "Background mail refresh failed: {}" msgstr "后台邮件刷新失败:{}" -#: ui/app.slint:389 +#: ui/app.slint:392 msgid "No conversations in this folder" msgstr "此文件夹中没有会话" -#: ui/app.slint:390 +#: ui/app.slint:393 msgid "No conversations match this search" msgstr "没有符合该搜索条件的会话" -#: ui/app.slint:391 +#: ui/app.slint:394 msgid "Mail core is ready for account synchronization and message actions." msgstr "邮件核心已就绪,可进行账户同步和邮件操作。" -#: ui/app.slint:392 +#: ui/app.slint:395 msgid "Large message rendered in compatibility mode." msgstr "大型邮件已使用兼容模式渲染。" -#: ui/app.slint:393 +#: ui/app.slint:396 msgid "Software email render failed: {}" msgstr "软件方式渲染邮件失败:{}" -#: ui/app.slint:394 +#: ui/app.slint:397 msgid "Rendered with software fallback after GPU error: {}" msgstr "GPU 出错后已改用软件方式渲染:{}" -#: ui/app.slint:395 +#: ui/app.slint:398 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Blitz 渲染失败(GPU:{};软件:{})" -#: ui/app.slint:400 +#: ui/app.slint:403 msgid "Enter a name, email address, or phone number, then save." msgstr "输入姓名、邮箱地址或电话号码,然后保存。" -#: ui/app.slint:401 +#: ui/app.slint:404 msgid "Could not save: contact storage is unavailable." msgstr "无法保存:联系人存储不可用。" -#: ui/app.slint:402 +#: ui/app.slint:405 msgid "Could not save contact: {}" msgstr "无法保存联系人:{}" -#: ui/app.slint:403 +#: ui/app.slint:406 msgid "Contact saved." msgstr "联系人已保存。" -#: ui/app.slint:404 +#: ui/app.slint:407 msgid "Saved to contacts." msgstr "已保存到联系人。" -#: ui/app.slint:405 +#: ui/app.slint:408 msgid "Could not delete: contact storage is unavailable." msgstr "无法删除:联系人存储不可用。" -#: ui/app.slint:406 +#: ui/app.slint:409 msgid "Could not delete contact: {}" msgstr "无法删除联系人:{}" -#: ui/app.slint:407 +#: ui/app.slint:410 msgid "Contact deleted." msgstr "联系人已删除。" -#: ui/app.slint:408 +#: ui/app.slint:411 msgid "Could not load contacts: {}" msgstr "无法加载联系人:{}" -#: ui/app.slint:409 +#: ui/app.slint:412 msgid "Local contact storage is still starting…" msgstr "本地联系人存储仍在启动中…" -#: ui/app.slint:410 +#: ui/app.slint:413 msgid "Loading contacts…" msgstr "正在加载联系人…" -#: ui/app.slint:415 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:418 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "本地日历" -#: ui/app.slint:416 ui/components/calendar.slint:273 +#: ui/app.slint:419 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "日历" -#: ui/app.slint:417 +#: ui/app.slint:420 msgid "Could not load calendar: {}" msgstr "无法加载日历:{}" -#: ui/app.slint:418 +#: ui/app.slint:421 msgid "Calendar shown and syncing." msgstr "日历已显示,正在同步。" -#: ui/app.slint:419 +#: ui/app.slint:422 msgid "Calendar hidden and sync paused." msgstr "日历已隐藏,同步已暂停。" -#: ui/app.slint:420 +#: ui/app.slint:423 msgid "Calendar update failed: {}" msgstr "日历更新失败:{}" -#: ui/app.slint:421 +#: ui/app.slint:424 msgid "Only events created in Flectar Mail can be edited." msgstr "只能编辑在 Flectar Mail 中创建的日程。" -#: ui/app.slint:422 +#: ui/app.slint:425 msgid "Only events created in Flectar Mail can be deleted." msgstr "只能删除在 Flectar Mail 中创建的日程。" -#: ui/app.slint:423 +#: ui/app.slint:426 msgid "Calendar storage is unavailable." msgstr "日历存储不可用。" -#: ui/app.slint:424 +#: ui/app.slint:427 msgid "Could not delete event: {}" msgstr "无法删除日程:{}" -#: ui/app.slint:425 +#: ui/app.slint:428 msgid "Event deleted, but refresh failed: {}" msgstr "日程已删除,但刷新失败:{}" -#: ui/app.slint:426 +#: ui/app.slint:429 msgid "Event deleted." msgstr "日程已删除。" -#: ui/app.slint:427 +#: ui/app.slint:430 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "请使用 YYYY-MM-DD 格式的日期和时间,例如 {}。" -#: ui/app.slint:428 +#: ui/app.slint:431 msgid "Event duration must be a number of minutes." msgstr "日程时长必须是以分钟为单位的数字。" -#: ui/app.slint:429 +#: ui/app.slint:432 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "请填写标题,并选择 15 至 1440 分钟之间的时长。" -#: ui/app.slint:430 +#: ui/app.slint:433 msgid "That local time does not exist in the current time zone." msgstr "该本地时间在当前时区不存在。" -#: ui/app.slint:431 +#: ui/app.slint:434 msgid "Could not save event: {}" msgstr "无法保存日程:{}" -#: ui/app.slint:432 +#: ui/app.slint:435 msgid "Event saved, but refresh failed: {}" msgstr "日程已保存,但刷新失败:{}" -#: ui/app.slint:433 +#: ui/app.slint:436 msgid "Event saved. Provider sync will run when enabled." msgstr "日程已保存。启用服务商同步后将自动同步。" -#: ui/app.slint:438 +#: ui/app.slint:441 msgid "Email resource render failed: {}" msgstr "邮件资源渲染失败:{}" -#: ui/app.slint:439 +#: ui/app.slint:442 msgid "Message refresh failed: {}" msgstr "邮件刷新失败:{}" -#: ui/app.slint:440 +#: ui/app.slint:443 msgid "Message load failed: {}" msgstr "邮件加载失败:{}" -#: ui/app.slint:441 +#: ui/app.slint:444 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" "无法打开本地邮箱,未执行任何账户操作。请重试,或复制诊断信息以寻求支持。" -#: ui/app.slint:442 +#: ui/app.slint:445 msgid "Local storage startup failed." msgstr "本地存储启动失败。" -#: ui/app.slint:449 +#: ui/app.slint:452 msgid "Could not identify the dragged account." msgstr "无法识别所拖动的账户。" -#: ui/app.slint:450 +#: ui/app.slint:453 msgid "Account ordering requires local mail data." msgstr "调整账户顺序需要本地邮件数据。" -#: ui/app.slint:451 +#: ui/app.slint:454 msgid "Could not find the account to reorder." msgstr "找不到要调整顺序的账户。" -#: ui/app.slint:452 +#: ui/app.slint:455 msgid "Saving account order…" msgstr "正在保存账户顺序…" -#: ui/app.slint:453 +#: ui/app.slint:456 msgid "Sent copy settings require local mail data." msgstr "已发送邮件副本设置需要本地邮件数据。" -#: ui/app.slint:454 +#: ui/app.slint:457 msgid "Updating Sent copy settings…" msgstr "正在更新已发送邮件副本设置…" -#: ui/app.slint:455 +#: ui/app.slint:458 msgid "Sent copy settings updated." msgstr "已发送邮件副本设置已更新。" -#: ui/app.slint:456 +#: ui/app.slint:459 msgid "Could not update Sent copy settings: {}" msgstr "无法更新已发送邮件副本设置:{}" -#: ui/app.slint:457 +#: ui/app.slint:460 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:461 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:462 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:463 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:464 msgid "Mail history requires local mail data." msgstr "设置邮件同步范围需要本地邮件数据。" -#: ui/app.slint:462 +#: ui/app.slint:465 msgid "Updating mail history…" msgstr "正在更新邮件同步范围…" -#: ui/app.slint:463 +#: ui/app.slint:466 msgid "Remote images are unavailable in this minimal build." msgstr "当前精简版本不支持远程图片。" -#: ui/app.slint:464 +#: ui/app.slint:467 msgid "Could not save remote-image setting: {}" msgstr "无法保存远程图片设置:{}" -#: ui/app.slint:465 +#: ui/app.slint:468 msgid "Remote sender icons unavailable: {}" msgstr "远程发件人图标不可用:{}" -#: ui/app.slint:466 +#: ui/app.slint:469 msgid "Remote images unavailable: {}" msgstr "远程图片不可用:{}" -#: ui/app.slint:467 +#: ui/app.slint:470 msgid "Remote body images and sender favicons enabled." msgstr "已启用正文远程图片和发件人网站图标。" -#: ui/app.slint:468 +#: ui/app.slint:471 msgid "Remote images blocked." msgstr "远程图片已阻止。" -#: ui/app.slint:469 +#: ui/app.slint:472 msgid "Could not refresh message images: {}" msgstr "无法刷新邮件图片:{}" -#: ui/app.slint:470 +#: ui/app.slint:473 msgid "Remote-image loading is disabled." msgstr "远程图片加载已禁用。" -#: ui/app.slint:471 +#: ui/app.slint:474 msgid "Could not load message images: {}" msgstr "无法加载邮件图片:{}" -#: ui/app.slint:472 +#: ui/app.slint:475 msgid "Sync finished, refresh failed: {}" msgstr "同步已完成,但刷新失败:{}" -#: ui/app.slint:473 +#: ui/app.slint:476 msgid "Sync complete." msgstr "同步完成。" -#: ui/app.slint:474 +#: ui/app.slint:477 msgid "Sync failed: {}" msgstr "同步失败:{}" -#: ui/app.slint:475 +#: ui/app.slint:478 msgid "Local mail data is unavailable; preview data is read-only." msgstr "本地邮件数据不可用,预览数据为只读。" -#: ui/app.slint:476 +#: ui/app.slint:479 msgid "Synchronizing accounts…" msgstr "正在同步账户…" -#: ui/app.slint:481 +#: ui/app.slint:484 msgid "Message action completed." msgstr "邮件操作已完成。" -#: ui/app.slint:482 +#: ui/app.slint:485 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "已添加到永久删除队列。邮件将在服务器确认后消失。" -#: ui/app.slint:483 +#: ui/app.slint:486 msgid "Message action failed: {}" msgstr "邮件操作失败:{}" -#: ui/app.slint:484 +#: ui/app.slint:487 msgid "Message action failed: message is no longer available" msgstr "邮件操作失败:邮件已不存在" -#: ui/app.slint:485 +#: ui/app.slint:488 msgid "Label added." msgstr "标签已添加。" -#: ui/app.slint:486 +#: ui/app.slint:489 msgid "Label removed." msgstr "标签已移除。" -#: ui/app.slint:487 +#: ui/app.slint:490 msgid "Label created and added." msgstr "标签已创建并添加。" -#: ui/app.slint:488 +#: ui/app.slint:491 msgid "Label created." msgstr "标签已创建。" -#: ui/app.slint:489 +#: ui/app.slint:492 msgid "Label updated." msgstr "标签已更新。" -#: ui/app.slint:490 +#: ui/app.slint:493 msgid "Label deleted." msgstr "标签已删除。" -#: ui/app.slint:491 +#: ui/app.slint:494 msgid "Could not update label: {}" msgstr "无法更新标签:{}" -#: ui/app.slint:492 +#: ui/app.slint:495 msgid "Could not save label: {}" msgstr "无法保存标签:{}" -#: ui/app.slint:493 +#: ui/app.slint:496 msgid "Could not delete label: {}" msgstr "无法删除标签:{}" -#: ui/app.slint:494 +#: ui/app.slint:497 msgid "Folder created." msgstr "文件夹已创建。" -#: ui/app.slint:495 +#: ui/app.slint:498 msgid "Folder renamed." msgstr "文件夹已重命名。" -#: ui/app.slint:496 +#: ui/app.slint:499 msgid "Folder deleted." msgstr "文件夹已删除。" -#: ui/app.slint:497 +#: ui/app.slint:500 msgid "Could not create folder: {}" msgstr "无法创建文件夹:{}" -#: ui/app.slint:498 +#: ui/app.slint:501 msgid "Could not rename folder: {}" msgstr "无法重命名文件夹:{}" -#: ui/app.slint:499 +#: ui/app.slint:502 msgid "Could not delete folder: {}" msgstr "无法删除文件夹:{}" -#: ui/app.slint:500 +#: ui/app.slint:503 msgid "Could not close preview: {}" msgstr "无法关闭预览:{}" -#: ui/app.slint:501 +#: ui/app.slint:504 msgid "Opened the system print view." msgstr "已打开系统打印视图。" -#: ui/app.slint:502 +#: ui/app.slint:505 msgid "Could not print message: {}" msgstr "无法打印邮件:{}" -#: ui/app.slint:503 +#: ui/app.slint:506 msgid "Opened the message in your browser." msgstr "已在浏览器中打开该邮件。" -#: ui/app.slint:504 +#: ui/app.slint:507 msgid "Could not open message in browser: {}" msgstr "无法在浏览器中打开邮件:{}" -#: ui/app.slint:505 +#: ui/app.slint:508 msgid "Connect an account before replying or forwarding." msgstr "请先连接账户再进行回复或转发。" -#: ui/app.slint:506 +#: ui/app.slint:509 msgid "Choose a message first." msgstr "请先选择一封邮件。" -#: ui/app.slint:507 +#: ui/app.slint:510 msgid "Only drafts can be reopened for editing." msgstr "只有草稿箱中的邮件可以重新编辑。" -#: ui/app.slint:508 +#: ui/app.slint:511 msgid "Could not open draft: {}" msgstr "无法打开草稿:{}" -#: ui/app.slint:509 +#: ui/app.slint:512 msgid "Could not open draft: invalid account identifier" msgstr "无法打开草稿:账户标识无效" -#: ui/app.slint:510 +#: ui/app.slint:513 msgid "Connected account" msgstr "已连接账户" -#: ui/app.slint:511 +#: ui/app.slint:514 msgid "Could not open composer: {}" msgstr "无法打开邮件编辑器:{}" -#: ui/app.slint:512 +#: ui/app.slint:515 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:513 ui/components/sidebar.slint:479 +#: ui/app.slint:516 ui/components/sidebar.slint:479 msgid "On this device" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:517 msgid "Could not open composer: invalid account identifier" msgstr "无法打开邮件编辑器:账户标识无效" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:520 +#: ui/app.slint:523 msgid "On {}, {} wrote:" msgstr "{},{} 写道:" -#: ui/app.slint:521 +#: ui/app.slint:524 msgid "{} wrote:" msgstr "{} 写道:" -#: ui/app.slint:522 +#: ui/app.slint:525 msgid "Forwarded message" msgstr "转发的邮件" -#: ui/app.slint:523 +#: ui/app.slint:526 msgctxt "forwarded message header" msgid "From: {}" msgstr "发件人:{}" -#: ui/app.slint:524 +#: ui/app.slint:527 msgctxt "forwarded message header" msgid "Date: {}" msgstr "日期:{}" -#: ui/app.slint:525 +#: ui/app.slint:528 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "主题:{}" -#: ui/app.slint:526 +#: ui/app.slint:529 msgctxt "forwarded message header" msgid "To: {}" msgstr "收件人:{}" -#: ui/app.slint:527 +#: ui/app.slint:530 msgid "Attach files to this email" msgstr "为此邮件添加附件" -#: ui/app.slint:528 +#: ui/app.slint:531 msgid "Could not add attachments: {}" msgstr "无法添加附件:{}" -#: ui/app.slint:529 +#: ui/app.slint:532 msgid "Added 1 attachment." msgstr "已添加 1 个附件。" -#: ui/app.slint:530 +#: ui/app.slint:533 msgid "Added {} attachments." msgstr "已添加 {} 个附件。" -#: ui/app.slint:531 +#: ui/app.slint:534 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "已添加 {} 个附件,跳过 {} 个(重复、无法读取或超过 25 MB 总量上限)。" -#: ui/app.slint:532 +#: ui/app.slint:535 msgid "Attachment removed." msgstr "附件已移除。" -#: ui/app.slint:533 +#: ui/app.slint:536 msgid "Choose the account this message should be sent from." msgstr "选择发送此邮件的账户。" -#: ui/app.slint:534 +#: ui/app.slint:537 msgid "Choose a verified sender identity for this message." msgstr "为此邮件选择已验证的发件人身份。" -#: ui/app.slint:535 +#: ui/app.slint:538 msgid "Connect an account before saving or sending mail." msgstr "请先连接账户再保存或发送邮件。" -#: ui/app.slint:536 +#: ui/app.slint:539 msgid "Message queued for delivery (action {})." msgstr "邮件已加入发送队列(操作 {})。" -#: ui/app.slint:537 +#: ui/app.slint:540 msgid "Sending message…" msgstr "正在发送邮件…" -#: ui/app.slint:538 +#: ui/app.slint:541 msgid "Message sent." msgstr "邮件已发送。" -#: ui/app.slint:539 +#: ui/app.slint:542 msgid "Message was not sent: {} Your draft is preserved." msgstr "邮件未发送:{} 草稿已保留。" -#: ui/app.slint:540 +#: ui/app.slint:543 msgid "Draft saved locally (#{})." msgstr "草稿已保存到本地(#{})。" -#: ui/app.slint:541 +#: ui/app.slint:544 msgid "Compose failed: {}" msgstr "撰写邮件失败:{}" -#: ui/app.slint:542 +#: ui/app.slint:545 msgid "Connect an account before managing email templates." msgstr "请先连接账户再管理邮件模板。" -#: ui/app.slint:543 +#: ui/app.slint:546 msgid "Could not load email templates: {}" msgstr "无法加载邮件模板:{}" -#: ui/app.slint:544 +#: ui/app.slint:547 msgid "Enter a template name." msgstr "请输入模板名称。" -#: ui/app.slint:545 +#: ui/app.slint:548 msgid "Add a subject or message to the template." msgstr "请为模板添加主题或正文。" -#: ui/app.slint:546 +#: ui/app.slint:549 msgid "Email template saved." msgstr "邮件模板已保存。" -#: ui/app.slint:547 +#: ui/app.slint:550 msgid "Could not save email template: {}" msgstr "无法保存邮件模板:{}" -#: ui/app.slint:548 +#: ui/app.slint:551 msgid "Email template deleted." msgstr "邮件模板已删除。" -#: ui/app.slint:549 +#: ui/app.slint:552 msgid "Could not delete email template: {}" msgstr "无法删除邮件模板:{}" -#: ui/app.slint:550 +#: ui/app.slint:553 msgid "Email template is no longer available." msgstr "邮件模板已不存在。" -#: ui/app.slint:551 +#: ui/app.slint:554 msgid "Email template inserted." msgstr "邮件模板已插入。" -#: ui/app.slint:552 +#: ui/app.slint:555 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "邮件模板已插入,但无法记录其使用情况:{}" -#: ui/app.slint:553 +#: ui/app.slint:556 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:557 msgid "IMAP port must be between 1 and 65535." msgstr "IMAP 端口必须在 1 到 65535 之间。" -#: ui/app.slint:555 +#: ui/app.slint:558 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:559 msgid "SMTP port must be between 1 and 65535." msgstr "SMTP 端口必须在 1 到 65535 之间。" -#: ui/app.slint:557 +#: ui/app.slint:560 msgid "Local mail data is unavailable. Retry startup." msgstr "本地邮件数据不可用,请重新启动。" -#: ui/app.slint:558 +#: ui/app.slint:561 msgid "Discovering JMAP and checking capabilities…" msgstr "正在发现 JMAP 并检查服务能力…" -#: ui/app.slint:559 +#: ui/app.slint:562 msgid "Certificate imported. Connect to verify the server." msgstr "证书已导入。请连接以验证服务器。" -#: ui/app.slint:560 +#: ui/app.slint:563 msgid "Could not load account preferences: {}" msgstr "无法加载账户偏好设置:{}" -#: ui/app.slint:561 +#: ui/app.slint:564 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." @@ -1627,161 +1639,161 @@ msgstr "" "您编辑过的签名已保留。插入其他签名前,请选择“不使用签名”,以便将其保留为邮件" "正文。" -#: ui/app.slint:562 +#: ui/app.slint:565 msgid "Certificate import failed: {}" msgstr "证书导入失败:{}" -#: ui/app.slint:563 +#: ui/app.slint:566 msgid "Testing IMAP and SMTP connections…" msgstr "正在测试 IMAP 和 SMTP 连接…" -#: ui/app.slint:564 +#: ui/app.slint:567 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:569 +#: ui/app.slint:572 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "已有另一项浏览器授权正在进行,请完成它或选择“取消”。" -#: ui/app.slint:570 ui/dialogs/settings-dialog.slint:1869 -#: ui/dialogs/settings-dialog.slint:1912 ui/views/onboarding-view.slint:161 +#: ui/app.slint:573 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:571 +#: ui/app.slint:574 msgid "Choose Gmail or Outlook OAuth." msgstr "请选择 Gmail 或 Outlook OAuth。" -#: ui/app.slint:572 +#: ui/app.slint:575 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "请在浏览器中完成登录,或在此处选择“取消”。" -#: ui/app.slint:573 +#: ui/app.slint:576 msgid "Cancelling browser sign-in…" msgstr "正在取消浏览器登录…" -#: ui/app.slint:574 +#: ui/app.slint:577 msgid "Finishing browser sign-in…" msgstr "正在完成浏览器登录…" -#: ui/app.slint:575 +#: ui/app.slint:578 msgid "Could not use that browser address: {}" msgstr "无法使用该浏览器地址:{}" -#: ui/app.slint:576 +#: ui/app.slint:579 msgid "Calendar core is unavailable." msgstr "日历核心不可用。" -#: ui/app.slint:577 +#: ui/app.slint:580 msgid "Account no longer exists." msgstr "账户已不存在。" -#: ui/app.slint:578 +#: ui/app.slint:581 msgid "Authorize calendar access in your browser." msgstr "请在浏览器中授权日历访问。" -#: ui/app.slint:579 +#: ui/app.slint:582 msgid "OAuth app keys saved." msgstr "OAuth 应用密钥已保存。" -#: ui/app.slint:580 +#: ui/app.slint:583 msgid "{} OAuth settings saved." msgstr "{} OAuth 设置已保存。" -#: ui/app.slint:581 +#: ui/app.slint:584 msgid "OAuth settings failed: {}" msgstr "OAuth 设置失败:{}" -#: ui/app.slint:582 +#: ui/app.slint:585 msgid "Mail refresh failed: {}" msgstr "邮件刷新失败:{}" -#: ui/app.slint:583 +#: ui/app.slint:586 msgid "Mail filter failed: {}" msgstr "邮件筛选失败:{}" -#: ui/app.slint:584 +#: ui/app.slint:587 msgid "Mail pagination failed: {}" msgstr "邮件分页失败:{}" -#: ui/app.slint:585 +#: ui/app.slint:588 msgid "Could not mark message as read: {}" msgstr "无法将邮件标记为已读:{}" -#: ui/app.slint:586 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:589 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "正在加载邮件…" -#: ui/app.slint:592 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:595 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1259 ui/app.slint:1272 +#: ui/app.slint:1265 ui/app.slint:1278 msgid "Global Labels (local only)" msgstr "全局标签(仅本地)" -#: ui/app.slint:2208 +#: ui/app.slint:2216 msgid "Empty Trash?" msgstr "清空回收站?" -#: ui/app.slint:2208 ui/views/files-view.slint:541 +#: ui/app.slint:2216 ui/views/files-view.slint:541 msgid "Delete permanently?" msgstr "永久删除?" -#: ui/app.slint:2212 +#: ui/app.slint:2220 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "永久删除每个已连接帐户的回收站中的所有邮件?" -#: ui/app.slint:2213 +#: ui/app.slint:2221 msgid "Permanently delete all messages in this account’s Trash?" msgstr "是否永久删除此帐户的回收站中的所有邮件?" -#: ui/app.slint:2215 +#: ui/app.slint:2223 msgid "Permanently delete the selected conversations from Trash?" msgstr "是否从回收站中永久删除选定的对话?" -#: ui/app.slint:2216 +#: ui/app.slint:2224 msgid "Permanently delete this conversation from Trash?" msgstr "是否从回收站中永久删除此对话?" -#: ui/app.slint:2217 ui/components/calendar.slint:947 +#: ui/app.slint:2225 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "此操作无法撤销。" -#: ui/app.slint:2218 +#: ui/app.slint:2226 msgid "Empty Trash" msgstr "清空回收站" -#: ui/app.slint:2218 ui/views/files-view.slint:623 +#: ui/app.slint:2226 ui/views/files-view.slint:623 msgid "Delete permanently" msgstr "永久删除" -#: ui/app.slint:2392 +#: ui/app.slint:2400 msgid "Mailbox startup failed" msgstr "邮箱启动失败" -#: ui/app.slint:2398 +#: ui/app.slint:2406 msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail 无法打开本地存储" -#: ui/app.slint:2411 +#: ui/app.slint:2419 msgid "Diagnostic ID: {}" msgstr "诊断 ID:{}" -#: ui/app.slint:2414 +#: ui/app.slint:2422 msgid "Diagnostic ID {}" msgstr "诊断 ID {}" -#: ui/app.slint:2419 +#: ui/app.slint:2427 msgid "Retry" msgstr "重试" -#: ui/app.slint:2427 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2435 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "复制诊断信息" @@ -1855,7 +1867,7 @@ msgid "Invitations for events you create here are sent from {}." msgstr "" #: ui/components/account-calendars.slint:264 -#: ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2783 msgid "Add CalDAV calendar" msgstr "" @@ -1983,7 +1995,7 @@ msgstr "" "显示它是否接受最后一条消息。" #: ui/components/account-mail-preferences.slint:171 -#: ui/dialogs/settings-dialog.slint:2938 ui/views/onboarding-view.slint:267 +#: ui/dialogs/settings-dialog.slint:2953 ui/views/onboarding-view.slint:267 msgid "Email address" msgstr "电子邮件地址" @@ -2017,7 +2029,7 @@ msgstr "添加发件人地址" #: ui/components/account-mail-preferences.slint:178 #: ui/dialogs/folder-dialog.slint:128 ui/dialogs/oauth-setup-dialog.slint:126 -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:3014 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:3029 #: ui/views/contacts-view.slint:604 ui/views/files-view.slint:622 msgid "Cancel" msgstr "取消" @@ -2217,7 +2229,7 @@ msgid "Export decrypted message" msgstr "导出解密后的邮件" #: ui/components/account-mail-preferences.slint:265 -#: ui/dialogs/settings-dialog.slint:2914 ui/views/files-view.slint:468 +#: ui/dialogs/settings-dialog.slint:2929 ui/views/files-view.slint:468 #: ui/views/files-view.slint:658 ui/window-chrome.slint:201 msgid "Close" msgstr "关闭" @@ -2265,7 +2277,7 @@ msgid "Show calendars" msgstr "显示日历" #: ui/components/calendar-agenda.slint:68 ui/components/theme-editor.slint:782 -#: ui/dialogs/settings-dialog.slint:1539 +#: ui/dialogs/settings-dialog.slint:1554 msgid "Reset" msgstr "重置" @@ -2662,7 +2674,7 @@ msgstr "确认" msgid "On" msgstr "开" -#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:652 +#: ui/components/controls.slint:185 ui/dialogs/settings-dialog.slint:654 msgid "Off" msgstr "关" @@ -3155,8 +3167,8 @@ msgstr[0] "" msgid "Files" msgstr "文件" -#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1564 -#: ui/dialogs/settings-dialog.slint:2630 ui/views/contacts-view.slint:249 +#: ui/components/tab-overview.slint:69 ui/dialogs/settings-dialog.slint:1579 +#: ui/dialogs/settings-dialog.slint:2645 ui/views/contacts-view.slint:249 msgid "Contacts" msgstr "联系人" @@ -3164,7 +3176,7 @@ msgstr "联系人" msgid "Settings" msgstr "设置" -#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2376 +#: ui/components/tab-overview.slint:71 ui/dialogs/settings-dialog.slint:2391 msgid "Mail" msgstr "邮件" @@ -3173,7 +3185,7 @@ msgid "Close tab" msgstr "关闭标签页" #: ui/components/tab-overview.slint:198 ui/components/tab-overview.slint:222 -#: ui/dialogs/settings-dialog.slint:2396 +#: ui/dialogs/settings-dialog.slint:2411 msgid "Tabs" msgstr "标签页" @@ -3358,7 +3370,7 @@ msgstr "" msgid "Close tabs to the right" msgstr "" -#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2392 +#: ui/components/zoom-controls.slint:20 ui/dialogs/settings-dialog.slint:2407 msgid "Zoom out" msgstr "缩小" @@ -3370,7 +3382,7 @@ msgstr "重置缩放({}%)" msgid "Zoom percentage" msgstr "缩放比例" -#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2391 +#: ui/components/zoom-controls.slint:39 ui/dialogs/settings-dialog.slint:2406 msgid "Zoom in" msgstr "放大" @@ -3703,11 +3715,11 @@ msgstr "将使用服务商的标准发件服务器代替 {}。" msgid "This account syncs with {} instead of downloading mail with POP3." msgstr "" -#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2095 +#: ui/dialogs/import-dialog.slint:156 ui/dialogs/settings-dialog.slint:2110 msgid "Mail is removed from the server once it's on this device." msgstr "" -#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2094 +#: ui/dialogs/import-dialog.slint:157 ui/dialogs/settings-dialog.slint:2109 msgid "Mail you delete here is removed from the server too." msgstr "" @@ -3876,7 +3888,7 @@ msgstr "" msgid "Continue in background" msgstr "" -#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1498 +#: ui/dialogs/import-dialog.slint:338 ui/dialogs/settings-dialog.slint:1513 msgid "Choose folder…" msgstr "选择文件夹…" @@ -3893,7 +3905,7 @@ msgid "Import one account" msgid_plural "Import {n} accounts" msgstr[0] "导入 {n} 个账户" -#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2301 +#: ui/dialogs/import-dialog.slint:375 ui/dialogs/settings-dialog.slint:2316 msgid "Import" msgstr "导入" @@ -4229,7 +4241,7 @@ msgstr "复制源码" msgid "Report issue" msgstr "报告问题" -#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2447 +#: ui/dialogs/settings-dialog.slint:69 ui/dialogs/settings-dialog.slint:2462 msgid "Sync" msgstr "同步" @@ -4321,455 +4333,465 @@ msgstr "即将推出" msgid "Learn more" msgstr "了解更多" -#: ui/dialogs/settings-dialog.slint:647 +#: ui/dialogs/settings-dialog.slint:649 msgid "Every minute" msgstr "每分钟" -#: ui/dialogs/settings-dialog.slint:648 +#: ui/dialogs/settings-dialog.slint:650 msgid "Every 5 minutes" msgstr "每 5 分钟" -#: ui/dialogs/settings-dialog.slint:649 +#: ui/dialogs/settings-dialog.slint:651 msgid "Every 15 minutes" msgstr "每 15 分钟" -#: ui/dialogs/settings-dialog.slint:653 +#: ui/dialogs/settings-dialog.slint:655 msgid "Important mail" msgstr "重要邮件" -#: ui/dialogs/settings-dialog.slint:654 +#: ui/dialogs/settings-dialog.slint:656 msgid "All new mail" msgstr "所有新邮件" -#: ui/dialogs/settings-dialog.slint:657 +#: ui/dialogs/settings-dialog.slint:659 msgid "1 month" msgstr "1 个月" -#: ui/dialogs/settings-dialog.slint:658 +#: ui/dialogs/settings-dialog.slint:660 msgid "3 months" msgstr "3 个月" -#: ui/dialogs/settings-dialog.slint:659 +#: ui/dialogs/settings-dialog.slint:661 msgid "6 months · Recommended" msgstr "6 个月 · 推荐" -#: ui/dialogs/settings-dialog.slint:660 +#: ui/dialogs/settings-dialog.slint:662 msgid "1 year" msgstr "1 年" -#: ui/dialogs/settings-dialog.slint:661 ui/views/mail-list-pane.slint:645 +#: ui/dialogs/settings-dialog.slint:663 ui/views/mail-list-pane.slint:645 msgid "All mail" msgstr "全部邮件" -#: ui/dialogs/settings-dialog.slint:664 +#: ui/dialogs/settings-dialog.slint:666 msgid "Always" msgstr "" -#: ui/dialogs/settings-dialog.slint:665 +#: ui/dialogs/settings-dialog.slint:667 msgid "Until deleted here" msgstr "" -#: ui/dialogs/settings-dialog.slint:666 +#: ui/dialogs/settings-dialog.slint:668 msgid "7 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:667 +#: ui/dialogs/settings-dialog.slint:669 msgid "14 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:668 +#: ui/dialogs/settings-dialog.slint:670 msgid "30 days" msgstr "" -#: ui/dialogs/settings-dialog.slint:669 +#: ui/dialogs/settings-dialog.slint:671 msgid "Until downloaded" msgstr "" -#: ui/dialogs/settings-dialog.slint:672 +#: ui/dialogs/settings-dialog.slint:674 msgid "System language" msgstr "跟随系统" -#: ui/dialogs/settings-dialog.slint:673 +#: ui/dialogs/settings-dialog.slint:675 msgid "English" msgstr "English" -#: ui/dialogs/settings-dialog.slint:674 +#: ui/dialogs/settings-dialog.slint:676 msgid "Spanish" msgstr "Español" -#: ui/dialogs/settings-dialog.slint:675 +#: ui/dialogs/settings-dialog.slint:677 msgid "Turkish" msgstr "Türkçe" -#: ui/dialogs/settings-dialog.slint:676 +#: ui/dialogs/settings-dialog.slint:678 msgid "Simplified Chinese" msgstr "简体中文" -#: ui/dialogs/settings-dialog.slint:677 +#: ui/dialogs/settings-dialog.slint:679 msgid "Russian" msgstr "俄语" -#: ui/dialogs/settings-dialog.slint:680 +#: ui/dialogs/settings-dialog.slint:682 msgid "Automatic" msgstr "自动" -#: ui/dialogs/settings-dialog.slint:681 +#: ui/dialogs/settings-dialog.slint:683 msgid "12-hour" msgstr "12 小时制" -#: ui/dialogs/settings-dialog.slint:682 +#: ui/dialogs/settings-dialog.slint:684 msgid "24-hour" msgstr "24 小时制" -#: ui/dialogs/settings-dialog.slint:713 +#: ui/dialogs/settings-dialog.slint:715 msgid "" "general theme appearance palette app icon dock taskbar launcher language " "time clock 12-hour 24-hour workspace layout window frameless title bar " "renderer privacy remote images sync group messages date inbox tray " "background startup sign in login download location folder attachments save " -"tabs" +"tabs conversations threads" msgstr "" -#: ui/dialogs/settings-dialog.slint:715 +#: ui/dialogs/settings-dialog.slint:717 msgid "" "accounts profiles personal work colors providers gmail outlook imap pop3 " "jmap caldav carddav mail history server oauth security signatures" msgstr "" -#: ui/dialogs/settings-dialog.slint:717 +#: ui/dialogs/settings-dialog.slint:719 msgid "" "contacts people suggestions autocomplete recipients senders address book " "privacy clear" msgstr "联系人 人员 推荐 自动补全 收件人 发件人 通讯录 隐私 清除" -#: ui/dialogs/settings-dialog.slint:719 +#: ui/dialogs/settings-dialog.slint:721 msgid "notifications alerts sounds desktop new mail" msgstr "通知 提醒 声音 桌面 新邮件" -#: ui/dialogs/settings-dialog.slint:721 +#: ui/dialogs/settings-dialog.slint:723 msgid "" "shortcuts keyboard keys compose search archive spam junk trash delete " "navigation messages reading find zoom caret tabs" msgstr "" -#: ui/dialogs/settings-dialog.slint:723 +#: ui/dialogs/settings-dialog.slint:725 msgid "" "storage data usage mail attachments files databases backup snapshot import " "export delete" msgstr "存储 数据 用量 邮件 附件 文件 数据库 备份 快照 导入 导出 删除" -#: ui/dialogs/settings-dialog.slint:725 +#: ui/dialogs/settings-dialog.slint:727 msgid "" "services flectar base account sign in subscription paid sync devices " "business email custom domain mailbox" msgstr "服务 Flectar 基础账户 登录 付费订阅 设备同步 企业邮箱 自定义域名 邮箱" -#: ui/dialogs/settings-dialog.slint:726 +#: ui/dialogs/settings-dialog.slint:728 msgid "about version credits contributors license flectar" msgstr "关于 版本 致谢 贡献者 许可 flectar" -#: ui/dialogs/settings-dialog.slint:1018 ui/dialogs/settings-dialog.slint:2696 +#: ui/dialogs/settings-dialog.slint:1020 ui/dialogs/settings-dialog.slint:2711 msgid "SETTINGS" msgstr "设置" -#: ui/dialogs/settings-dialog.slint:1021 ui/dialogs/settings-dialog.slint:2698 +#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:2713 msgid "No settings found" msgstr "未找到设置项" -#: ui/dialogs/settings-dialog.slint:1022 ui/dialogs/settings-dialog.slint:1052 -#: ui/dialogs/settings-dialog.slint:2699 +#: ui/dialogs/settings-dialog.slint:1024 ui/dialogs/settings-dialog.slint:1054 +#: ui/dialogs/settings-dialog.slint:2714 msgid "General" msgstr "常规" -#: ui/dialogs/settings-dialog.slint:1023 ui/dialogs/settings-dialog.slint:1714 -#: ui/dialogs/settings-dialog.slint:2700 ui/dialogs/settings-dialog.slint:3145 +#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:1729 +#: ui/dialogs/settings-dialog.slint:2715 ui/dialogs/settings-dialog.slint:3160 msgid "Accounts" msgstr "账户" -#: ui/dialogs/settings-dialog.slint:1025 ui/dialogs/settings-dialog.slint:2325 -#: ui/dialogs/settings-dialog.slint:2702 +#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2340 +#: ui/dialogs/settings-dialog.slint:2717 msgid "Notifications" msgstr "通知" -#: ui/dialogs/settings-dialog.slint:1026 ui/dialogs/settings-dialog.slint:2632 +#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2647 msgid "Shortcuts" msgstr "快捷键" -#: ui/dialogs/settings-dialog.slint:1027 ui/dialogs/settings-dialog.slint:2233 -#: ui/dialogs/settings-dialog.slint:2704 +#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2248 +#: ui/dialogs/settings-dialog.slint:2719 msgid "Storage" msgstr "存储" -#: ui/dialogs/settings-dialog.slint:1028 ui/dialogs/settings-dialog.slint:2422 -#: ui/dialogs/settings-dialog.slint:2705 +#: ui/dialogs/settings-dialog.slint:1030 ui/dialogs/settings-dialog.slint:2437 +#: ui/dialogs/settings-dialog.slint:2720 msgid "Services" msgstr "服务" -#: ui/dialogs/settings-dialog.slint:1029 ui/dialogs/settings-dialog.slint:2509 -#: ui/dialogs/settings-dialog.slint:2706 +#: ui/dialogs/settings-dialog.slint:1031 ui/dialogs/settings-dialog.slint:2524 +#: ui/dialogs/settings-dialog.slint:2721 msgid "About" msgstr "关于" -#: ui/dialogs/settings-dialog.slint:1053 +#: ui/dialogs/settings-dialog.slint:1055 msgid "Manage appearance, privacy, and synchronization." msgstr "管理外观、隐私和同步。" -#: ui/dialogs/settings-dialog.slint:1065 +#: ui/dialogs/settings-dialog.slint:1067 msgid "Message appearance" msgstr "消息外观" -#: ui/dialogs/settings-dialog.slint:1066 +#: ui/dialogs/settings-dialog.slint:1068 msgid "Choose the background and text colors used to read messages." msgstr "选择用于阅读消息的背景和文本颜色。" -#: ui/dialogs/settings-dialog.slint:1067 +#: ui/dialogs/settings-dialog.slint:1069 msgid "Follow app theme" msgstr "遵循应用主题" -#: ui/dialogs/settings-dialog.slint:1126 +#: ui/dialogs/settings-dialog.slint:1128 msgid "Interface" msgstr "界面" -#: ui/dialogs/settings-dialog.slint:1129 +#: ui/dialogs/settings-dialog.slint:1131 msgid "Monochrome sidebar icons" msgstr "单色侧边栏图标" -#: ui/dialogs/settings-dialog.slint:1130 +#: ui/dialogs/settings-dialog.slint:1132 msgid "Use one neutral color for mailbox and folder icons." msgstr "为邮箱和文件夹图标使用同一种中性色。" -#: ui/dialogs/settings-dialog.slint:1142 +#: ui/dialogs/settings-dialog.slint:1144 msgid "No avatars" msgstr "不显示头像" -#: ui/dialogs/settings-dialog.slint:1143 +#: ui/dialogs/settings-dialog.slint:1145 msgid "Hide sender images in the message list and reader." msgstr "在邮件列表和阅读窗格中隐藏发件人图片。" -#: ui/dialogs/settings-dialog.slint:1156 +#: ui/dialogs/settings-dialog.slint:1158 msgid "Keep several mailboxes, conversations and other places open in tabs." msgstr "" -#: ui/dialogs/settings-dialog.slint:1168 +#: ui/dialogs/settings-dialog.slint:1170 msgid "Frameless window" msgstr "无边框窗口" -#: ui/dialogs/settings-dialog.slint:1169 +#: ui/dialogs/settings-dialog.slint:1171 msgid "Replace the system title bar with window controls in the toolbar." msgstr "使用工具栏中的窗口控件替换系统标题栏。" -#: ui/dialogs/settings-dialog.slint:1176 +#: ui/dialogs/settings-dialog.slint:1178 msgid "Workspace layout" msgstr "工作区布局" -#: ui/dialogs/settings-dialog.slint:1188 +#: ui/dialogs/settings-dialog.slint:1190 msgid "Minimal" msgstr "极简" -#: ui/dialogs/settings-dialog.slint:1208 +#: ui/dialogs/settings-dialog.slint:1210 msgid "Language and time" msgstr "语言和时间" -#: ui/dialogs/settings-dialog.slint:1211 +#: ui/dialogs/settings-dialog.slint:1213 msgid "Display language" msgstr "显示语言" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Follow your device language when a translation is available." msgstr "有可用翻译时跟随设备语言。" -#: ui/dialogs/settings-dialog.slint:1212 +#: ui/dialogs/settings-dialog.slint:1214 msgid "Choose the language used throughout Flectar Mail." msgstr "选择 Flectar Mail 整体界面使用的语言。" -#: ui/dialogs/settings-dialog.slint:1222 +#: ui/dialogs/settings-dialog.slint:1224 msgid "Time format" msgstr "时间格式" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Follow your region, for example {}." msgstr "遵循所在地区的习惯,例如 {}。" -#: ui/dialogs/settings-dialog.slint:1223 +#: ui/dialogs/settings-dialog.slint:1225 msgid "Times appear as {}." msgstr "时间显示为 {}。" -#: ui/dialogs/settings-dialog.slint:1245 +#: ui/dialogs/settings-dialog.slint:1247 msgid "Inbox behavior" msgstr "收件箱行为" -#: ui/dialogs/settings-dialog.slint:1248 +#: ui/dialogs/settings-dialog.slint:1250 msgid "Unified Inbox" msgstr "统一收件箱" -#: ui/dialogs/settings-dialog.slint:1249 +#: ui/dialogs/settings-dialog.slint:1251 msgid "DEFAULT" msgstr "默认" -#: ui/dialogs/settings-dialog.slint:1251 +#: ui/dialogs/settings-dialog.slint:1253 msgid "Combines incoming messages from every connected account." msgstr "汇总所有已连接账户收到的邮件。" -#: ui/dialogs/settings-dialog.slint:1255 +#: ui/dialogs/settings-dialog.slint:1257 msgid "Group messages by date" msgstr "按日期对消息进行分组" -#: ui/dialogs/settings-dialog.slint:1256 +#: ui/dialogs/settings-dialog.slint:1258 msgid "Show collapsible date sections in the mail list." msgstr "在邮件列表中显示可折叠日期部分。" -#: ui/dialogs/settings-dialog.slint:1273 +#: ui/dialogs/settings-dialog.slint:1270 +msgid "Conversation view" +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1271 +msgid "" +"Group replies with the messages they answer. Turn this off to list, open and " +"act on each message on its own." +msgstr "" + +#: ui/dialogs/settings-dialog.slint:1288 msgid "Mark messages as read when opened" msgstr "打开邮件时标记为已读" -#: ui/dialogs/settings-dialog.slint:1274 +#: ui/dialogs/settings-dialog.slint:1289 msgid "Turn this off to keep unread status until you change it manually." msgstr "关闭后,邮件将保持未读状态,直到您手动更改。" -#: ui/dialogs/settings-dialog.slint:1301 +#: ui/dialogs/settings-dialog.slint:1316 msgid "Remote images" msgstr "远程图片" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Load sender favicons and images embedded in message bodies." msgstr "加载发件人网站图标和邮件正文中嵌入的图片。" -#: ui/dialogs/settings-dialog.slint:1302 +#: ui/dialogs/settings-dialog.slint:1317 msgid "Unavailable in this minimal build." msgstr "当前精简版本不支持。" -#: ui/dialogs/settings-dialog.slint:1303 +#: ui/dialogs/settings-dialog.slint:1318 msgid "Off by default to block tracking pixels and minimize memory use." msgstr "默认关闭,以阻止跟踪像素并减少内存占用。" -#: ui/dialogs/settings-dialog.slint:1329 +#: ui/dialogs/settings-dialog.slint:1344 msgid "Keep running in system tray" msgstr "在系统托盘中保持运行" -#: ui/dialogs/settings-dialog.slint:1330 +#: ui/dialogs/settings-dialog.slint:1345 msgid "Closing the window hides Flectar Mail while mail continues syncing." msgstr "关闭窗口会隐藏 Flectar Mail,邮件仍在后台同步。" -#: ui/dialogs/settings-dialog.slint:1331 +#: ui/dialogs/settings-dialog.slint:1346 msgid "Disabled by default; Quit from the tray menu stops the app." msgstr "默认关闭;从托盘菜单选择“退出”可停止应用。" -#: ui/dialogs/settings-dialog.slint:1357 +#: ui/dialogs/settings-dialog.slint:1372 msgid "Start automatically" msgstr "自动启动" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Starts Flectar Mail in the system tray when you sign in." msgstr "登录时在系统托盘中启动 Flectar Mail。" -#: ui/dialogs/settings-dialog.slint:1358 +#: ui/dialogs/settings-dialog.slint:1373 msgid "Opens Flectar Mail when you sign in." msgstr "登录时打开 Flectar Mail。" -#: ui/dialogs/settings-dialog.slint:1359 +#: ui/dialogs/settings-dialog.slint:1374 msgid "Disabled by default; also listed in your system's startup apps." msgstr "默认关闭;也会显示在系统的启动应用列表中。" -#: ui/dialogs/settings-dialog.slint:1383 +#: ui/dialogs/settings-dialog.slint:1398 msgid "Sync and notifications" msgstr "同步与通知" -#: ui/dialogs/settings-dialog.slint:1386 +#: ui/dialogs/settings-dialog.slint:1401 msgid "Check for new mail" msgstr "检查新邮件" -#: ui/dialogs/settings-dialog.slint:1387 +#: ui/dialogs/settings-dialog.slint:1402 msgid "How often to refresh when an instant provider update is unavailable." msgstr "服务商不支持即时推送时的刷新频率。" -#: ui/dialogs/settings-dialog.slint:1397 ui/dialogs/settings-dialog.slint:2342 +#: ui/dialogs/settings-dialog.slint:1412 ui/dialogs/settings-dialog.slint:2357 msgid "Desktop notifications" msgstr "桌面通知" -#: ui/dialogs/settings-dialog.slint:1398 ui/dialogs/settings-dialog.slint:2343 +#: ui/dialogs/settings-dialog.slint:1413 ui/dialogs/settings-dialog.slint:2358 msgid "Choose which incoming messages can alert you." msgstr "选择哪些收到的邮件会提醒您。" -#: ui/dialogs/settings-dialog.slint:1411 +#: ui/dialogs/settings-dialog.slint:1426 msgid "Provider synchronization is ready." msgstr "服务商同步已就绪。" -#: ui/dialogs/settings-dialog.slint:1419 ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:1434 ui/dialogs/settings-dialog.slint:2013 msgid "Syncing…" msgstr "正在同步…" -#: ui/dialogs/settings-dialog.slint:1419 +#: ui/dialogs/settings-dialog.slint:1434 msgid "Sync now" msgstr "立即同步" -#: ui/dialogs/settings-dialog.slint:1438 +#: ui/dialogs/settings-dialog.slint:1453 msgid "Renderer" msgstr "渲染器" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "Changes take effect after restarting Flectar Mail." msgstr "更改将在重启 Flectar Mail 后生效。" -#: ui/dialogs/settings-dialog.slint:1439 +#: ui/dialogs/settings-dialog.slint:1454 msgid "GPU mode is unavailable in this build." msgstr "当前版本不支持 GPU 模式。" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "CPU — Low Memory" msgstr "CPU — 低内存" -#: ui/dialogs/settings-dialog.slint:1440 +#: ui/dialogs/settings-dialog.slint:1455 msgid "GPU — WGPU" msgstr "GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "GPU — WGPU could not start, so CPU — Low Memory is active." msgstr "" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Restart required. Your current renderer is still active." msgstr "需要重启。当前渲染器仍在运行。" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: GPU — WGPU" msgstr "当前:GPU — WGPU" -#: ui/dialogs/settings-dialog.slint:1454 +#: ui/dialogs/settings-dialog.slint:1469 msgid "Active: CPU — Low Memory" msgstr "当前:CPU — 低内存" -#: ui/dialogs/settings-dialog.slint:1480 ui/dialogs/settings-dialog.slint:1513 +#: ui/dialogs/settings-dialog.slint:1495 ui/dialogs/settings-dialog.slint:1528 msgid "Download location" msgstr "" -#: ui/dialogs/settings-dialog.slint:1489 ui/dialogs/settings-dialog.slint:1522 +#: ui/dialogs/settings-dialog.slint:1504 ui/dialogs/settings-dialog.slint:1537 msgid "" "Saving an attachment asks where to put it, starting in the folder your " "system suggests." msgstr "" -#: ui/dialogs/settings-dialog.slint:1567 +#: ui/dialogs/settings-dialog.slint:1582 msgid "" "Keep your address book clean while still making frequent recipients easy to " "find." msgstr "让通讯录保持整洁,同时仍能快速找到常联系的收件人。" -#: ui/dialogs/settings-dialog.slint:1589 +#: ui/dialogs/settings-dialog.slint:1604 msgid "Remember people I email" msgstr "记住我发过邮件的人" -#: ui/dialogs/settings-dialog.slint:1590 +#: ui/dialogs/settings-dialog.slint:1605 msgid "" "While enabled, remember To, Cc, and Bcc recipients from new sends and synced " "Sent mail." msgstr "" "启用后,将记住新发送邮件以及已同步的“已发送”邮件中的收件人、抄送和密送地址。" -#: ui/dialogs/settings-dialog.slint:1605 +#: ui/dialogs/settings-dialog.slint:1620 msgid "Remember incoming senders" msgstr "记住来信的发件人" -#: ui/dialogs/settings-dialog.slint:1606 +#: ui/dialogs/settings-dialog.slint:1621 msgid "" "Remember human senders from new mail. Automated, spam, trash, and existing " "mail are excluded." @@ -4777,32 +4799,32 @@ msgstr "" "记住新邮件中的发件人(不含自动发送的地址)。垃圾邮件、废纸篓中的邮件以及已有" "邮件不在其列。" -#: ui/dialogs/settings-dialog.slint:1621 +#: ui/dialogs/settings-dialog.slint:1636 msgid "Use suggestions from all accounts" msgstr "汇总所有账户的推荐" -#: ui/dialogs/settings-dialog.slint:1622 +#: ui/dialogs/settings-dialog.slint:1637 msgid "" "Include people emailed from any connected account. Turn off to keep learned " "recipients account-specific." msgstr "纳入所有已连接账户中联系过的人。关闭后,已记住的收件人将按账户区分。" -#: ui/dialogs/settings-dialog.slint:1637 +#: ui/dialogs/settings-dialog.slint:1652 msgid "Use suggestions when composing" msgstr "撰写邮件时使用推荐" -#: ui/dialogs/settings-dialog.slint:1638 +#: ui/dialogs/settings-dialog.slint:1653 msgid "" "Include learned people in recipient autocomplete. Saved and CardDAV contacts " "are always available." msgstr "" "在收件人自动补全中纳入已记住的人。已保存的联系人和 CardDAV 联系人始终可用。" -#: ui/dialogs/settings-dialog.slint:1659 +#: ui/dialogs/settings-dialog.slint:1674 msgid "Suggested people" msgstr "推荐联系人" -#: ui/dialogs/settings-dialog.slint:1662 +#: ui/dialogs/settings-dialog.slint:1677 msgid "" "People you email remain available as local suggestions and never sync to " "CardDAV. Clear them any time to restart learning." @@ -4810,314 +4832,314 @@ msgstr "" "您联系过的人会作为本地推荐保留,且从不同步到 CardDAV。随时可以清除,清除后将" "重新开始积累。" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear now" msgstr "立即清除" -#: ui/dialogs/settings-dialog.slint:1680 +#: ui/dialogs/settings-dialog.slint:1695 msgid "Clear suggested people" msgstr "清除推荐联系人" -#: ui/dialogs/settings-dialog.slint:1715 +#: ui/dialogs/settings-dialog.slint:1730 msgid "" "Manage connected mailboxes and add providers. Drag an account to change its " "order everywhere." msgstr "管理已连接的邮箱并添加服务商。拖动账户可在所有位置调整其顺序。" -#: ui/dialogs/settings-dialog.slint:1742 +#: ui/dialogs/settings-dialog.slint:1757 msgid "" "Group accounts as Personal or Work and identify them by color in the mail " "list." msgstr "将账户归入“个人”或“工作”,并在邮件列表中用颜色加以区分。" -#: ui/dialogs/settings-dialog.slint:1751 ui/dialogs/settings-dialog.slint:1781 +#: ui/dialogs/settings-dialog.slint:1766 ui/dialogs/settings-dialog.slint:1796 msgid "Add profile" msgstr "添加分组" -#: ui/dialogs/settings-dialog.slint:1765 ui/dialogs/settings-dialog.slint:1773 +#: ui/dialogs/settings-dialog.slint:1780 ui/dialogs/settings-dialog.slint:1788 msgid "Show account color at the left edge of each message" msgstr "在每封邮件左侧显示账户颜色" -#: ui/dialogs/settings-dialog.slint:1795 +#: ui/dialogs/settings-dialog.slint:1810 msgid "" "No profiles yet. Accounts keep their individual or generated colors until " "you create one." msgstr "暂无分组。创建分组之前,账户将保持各自或自动生成的颜色。" -#: ui/dialogs/settings-dialog.slint:1840 ui/dialogs/settings-dialog.slint:3041 +#: ui/dialogs/settings-dialog.slint:1855 ui/dialogs/settings-dialog.slint:3056 msgid "Edit profile" msgstr "编辑分组" -#: ui/dialogs/settings-dialog.slint:1850 ui/dialogs/settings-dialog.slint:3296 +#: ui/dialogs/settings-dialog.slint:1865 ui/dialogs/settings-dialog.slint:3311 msgid "Delete profile" msgstr "删除分组" -#: ui/dialogs/settings-dialog.slint:1866 ui/dialogs/settings-dialog.slint:1912 +#: ui/dialogs/settings-dialog.slint:1881 ui/dialogs/settings-dialog.slint:1927 msgid "Add Gmail" msgstr "添加 Gmail" -#: ui/dialogs/settings-dialog.slint:1879 ui/dialogs/settings-dialog.slint:1913 +#: ui/dialogs/settings-dialog.slint:1894 ui/dialogs/settings-dialog.slint:1928 msgid "Add Outlook" msgstr "添加 Outlook" -#: ui/dialogs/settings-dialog.slint:1892 ui/dialogs/settings-dialog.slint:1914 +#: ui/dialogs/settings-dialog.slint:1907 ui/dialogs/settings-dialog.slint:1929 msgid "Add mail account" msgstr "添加邮件账户" -#: ui/dialogs/settings-dialog.slint:1905 ui/dialogs/settings-dialog.slint:1915 +#: ui/dialogs/settings-dialog.slint:1920 ui/dialogs/settings-dialog.slint:1930 msgid "Cancel sign-in" msgstr "取消登录" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · Gmail" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · JMAP" msgstr "已连接 · JMAP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · POP3 + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected without encryption · IMAP + SMTP" msgstr "" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Connected · IMAP + SMTP" msgstr "已连接 · IMAP + SMTP" -#: ui/dialogs/settings-dialog.slint:1998 +#: ui/dialogs/settings-dialog.slint:2013 msgid "Account status: {}" msgstr "账户状态:{}" -#: ui/dialogs/settings-dialog.slint:2001 ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2016 ui/dialogs/settings-dialog.slint:2229 msgid "Reconnect" msgstr "重新连接" -#: ui/dialogs/settings-dialog.slint:2027 ui/views/files-view.slint:467 +#: ui/dialogs/settings-dialog.slint:2042 ui/views/files-view.slint:467 msgid "Manage" msgstr "管理" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "Fix CardDAV" msgstr "修复 CardDAV" -#: ui/dialogs/settings-dialog.slint:2027 +#: ui/dialogs/settings-dialog.slint:2042 msgid "CardDAV" msgstr "CardDAV" -#: ui/dialogs/settings-dialog.slint:2042 +#: ui/dialogs/settings-dialog.slint:2057 msgid "Mail synchronization error: {}" msgstr "邮件同步错误:{}" -#: ui/dialogs/settings-dialog.slint:2058 +#: ui/dialogs/settings-dialog.slint:2073 msgid "Mail history" msgstr "邮件同步范围" -#: ui/dialogs/settings-dialog.slint:2061 +#: ui/dialogs/settings-dialog.slint:2076 msgid "" "Download the full mailbox. Large accounts can take considerable time and " "storage." msgstr "下载完整邮箱。大型账户可能需要较长时间和较多存储空间。" -#: ui/dialogs/settings-dialog.slint:2062 +#: ui/dialogs/settings-dialog.slint:2077 msgid "How far back to download. Mail already stored on this device is kept." msgstr "下载多久以前的邮件。已存储在本设备上的邮件会保留。" -#: ui/dialogs/settings-dialog.slint:2075 +#: ui/dialogs/settings-dialog.slint:2090 msgid "Sent copies" msgstr "已发送邮件副本" -#: ui/dialogs/settings-dialog.slint:2077 +#: ui/dialogs/settings-dialog.slint:2092 msgid "" "Choose who saves sent mail. Use Flectar if your server does not save a copy." msgstr "选择由谁保存已发送的邮件。如果服务器不保存副本,请使用 Flectar。" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Provider default" msgstr "服务商默认设置" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Server saves a copy" msgstr "由服务器保存副本" -#: ui/dialogs/settings-dialog.slint:2078 +#: ui/dialogs/settings-dialog.slint:2093 msgid "Flectar saves a copy" msgstr "由 Flectar 保存副本" -#: ui/dialogs/settings-dialog.slint:2092 +#: ui/dialogs/settings-dialog.slint:2107 msgid "Keep mail on the server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2096 +#: ui/dialogs/settings-dialog.slint:2111 msgid "Flectar Mail never removes mail from the server." msgstr "" -#: ui/dialogs/settings-dialog.slint:2097 +#: ui/dialogs/settings-dialog.slint:2112 msgid "Mail is removed after this time, or once deleted here." msgstr "" -#: ui/dialogs/settings-dialog.slint:2113 +#: ui/dialogs/settings-dialog.slint:2128 msgid "This server removes mail as soon as it's downloaded." msgstr "" -#: ui/dialogs/settings-dialog.slint:2114 +#: ui/dialogs/settings-dialog.slint:2129 msgid "This server removes downloaded mail after one day." msgid_plural "This server removes downloaded mail after {n} days." msgstr[0] "" -#: ui/dialogs/settings-dialog.slint:2125 +#: ui/dialogs/settings-dialog.slint:2140 msgid "" "Mail removed from the server is kept only on this device. Database snapshots " "in Storage include it." msgstr "" -#: ui/dialogs/settings-dialog.slint:2149 +#: ui/dialogs/settings-dialog.slint:2164 msgid "Uses the {} color in the mail list" msgstr "在邮件列表中使用 {} 颜色" -#: ui/dialogs/settings-dialog.slint:2151 +#: ui/dialogs/settings-dialog.slint:2166 msgid "Uses a custom account color" msgstr "使用自定义账户颜色" -#: ui/dialogs/settings-dialog.slint:2152 +#: ui/dialogs/settings-dialog.slint:2167 msgid "Uses a generated account color" msgstr "使用自动生成的账户颜色" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "OAuth app credentials" msgstr "OAuth 应用凭据" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Custom desktop app credentials are configured." msgstr "已配置自定义桌面应用凭据。" -#: ui/dialogs/settings-dialog.slint:2196 +#: ui/dialogs/settings-dialog.slint:2211 msgid "Advanced: use your own Gmail or Microsoft desktop app registration." msgstr "高级:使用您自己的 Gmail 或 Microsoft 桌面应用注册。" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Hide" msgstr "隐藏" -#: ui/dialogs/settings-dialog.slint:2197 +#: ui/dialogs/settings-dialog.slint:2212 msgid "Configure" msgstr "配置" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail desktop client ID" msgstr "Gmail 桌面客户端 ID" -#: ui/dialogs/settings-dialog.slint:2200 ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2215 ui/dialogs/settings-dialog.slint:2216 msgid "Gmail client secret (optional)" msgstr "Gmail 客户端密钥(可选)" -#: ui/dialogs/settings-dialog.slint:2200 +#: ui/dialogs/settings-dialog.slint:2215 msgid "Save Gmail" msgstr "保存 Gmail" -#: ui/dialogs/settings-dialog.slint:2201 +#: ui/dialogs/settings-dialog.slint:2216 msgid "Save Gmail settings" msgstr "保存 Gmail 设置" -#: ui/dialogs/settings-dialog.slint:2202 +#: ui/dialogs/settings-dialog.slint:2217 msgid "Save Outlook" msgstr "保存 Outlook" -#: ui/dialogs/settings-dialog.slint:2203 +#: ui/dialogs/settings-dialog.slint:2218 msgid "" "Outlook public desktop clients use PKCE and do not need a client secret." msgstr "Outlook 公共桌面客户端使用 PKCE,无需客户端密钥。" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Connect CardDAV" msgstr "连接 CardDAV" -#: ui/dialogs/settings-dialog.slint:2209 +#: ui/dialogs/settings-dialog.slint:2224 msgid "Sync contacts with a standards-compliant CardDAV server." msgstr "与符合标准的 CardDAV 服务器同步联系人。" -#: ui/dialogs/settings-dialog.slint:2212 +#: ui/dialogs/settings-dialog.slint:2227 msgid "https://contacts.example.com/" msgstr "https://contacts.example.com/" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2809 -#: ui/dialogs/settings-dialog.slint:2939 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2824 +#: ui/dialogs/settings-dialog.slint:2954 msgid "Username" msgstr "用户名" -#: ui/dialogs/settings-dialog.slint:2213 ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2228 ui/dialogs/settings-dialog.slint:2832 msgid "App password" msgstr "应用专用密码" -#: ui/dialogs/settings-dialog.slint:2214 +#: ui/dialogs/settings-dialog.slint:2229 msgid "Disconnect" msgstr "断开连接" -#: ui/dialogs/settings-dialog.slint:2214 ui/dialogs/settings-dialog.slint:2844 +#: ui/dialogs/settings-dialog.slint:2229 ui/dialogs/settings-dialog.slint:2859 msgid "Connect" msgstr "连接" -#: ui/dialogs/settings-dialog.slint:2236 +#: ui/dialogs/settings-dialog.slint:2251 msgid "" "See what Flectar Mail stores locally and manage the data on this device." msgstr "查看 Flectar Mail 在本地存储的内容,并管理本设备上的数据。" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "Mail on this device" msgstr "" -#: ui/dialogs/settings-dialog.slint:2262 +#: ui/dialogs/settings-dialog.slint:2277 msgid "" "Mail you imported. It is kept only here, so export it to keep a copy " "elsewhere." msgstr "" -#: ui/dialogs/settings-dialog.slint:2264 ui/dialogs/settings-dialog.slint:3245 +#: ui/dialogs/settings-dialog.slint:2279 ui/dialogs/settings-dialog.slint:3260 msgid "One message" msgid_plural "{} messages" msgstr[0] "" -#: ui/dialogs/settings-dialog.slint:2272 ui/dialogs/settings-dialog.slint:3225 -#: ui/dialogs/settings-dialog.slint:3273 +#: ui/dialogs/settings-dialog.slint:2287 ui/dialogs/settings-dialog.slint:3240 +#: ui/dialogs/settings-dialog.slint:3288 msgid "Export mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:2273 ui/views/files-view.slint:563 +#: ui/dialogs/settings-dialog.slint:2288 ui/views/files-view.slint:563 msgid "Delete…" msgstr "删除…" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "Database snapshot" msgstr "数据库快照" -#: ui/dialogs/settings-dialog.slint:2281 +#: ui/dialogs/settings-dialog.slint:2296 msgid "" "Export verified copies of the mail and calendar databases with their schema " "versions." msgstr "导出邮件和日历数据库的已验证副本及其架构版本。" -#: ui/dialogs/settings-dialog.slint:2283 +#: ui/dialogs/settings-dialog.slint:2298 msgid "" "The snapshot contains private local mail and settings, but not passwords or " "OAuth tokens. Store it securely." msgstr "快照包含本地私密邮件和设置,但不含密码或 OAuth 令牌。请妥善保管。" -#: ui/dialogs/settings-dialog.slint:2284 +#: ui/dialogs/settings-dialog.slint:2299 msgid "Export snapshot" msgstr "导出快照" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "Transfer account setup" msgstr "迁移账户配置" -#: ui/dialogs/settings-dialog.slint:2291 +#: ui/dialogs/settings-dialog.slint:2306 msgid "" "Import accounts and mail from Thunderbird, K-9 Mail, mail files, or a " "backup, or export one connected account and your preferences." @@ -5126,178 +5148,178 @@ msgid_plural "" "backup, or export {n} connected accounts and your preferences." msgstr[0] "" -#: ui/dialogs/settings-dialog.slint:2293 +#: ui/dialogs/settings-dialog.slint:2308 msgid "" "Passwords and OAuth tokens stay in the system keyring. A restored device " "asks you to sign in securely." msgstr "" "密码和 OAuth 令牌保存在系统密钥环中。在恢复的设备上,系统会要求您安全登录。" -#: ui/dialogs/settings-dialog.slint:2302 +#: ui/dialogs/settings-dialog.slint:2317 msgid "Export" msgstr "导出" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "Delete all local data" msgstr "删除全部本地数据" -#: ui/dialogs/settings-dialog.slint:2309 +#: ui/dialogs/settings-dialog.slint:2324 msgid "" "Remove accounts, downloaded mail, calendars, contacts, preferences, and " "credentials from this device." msgstr "从此设备移除账户、已下载的邮件、日历、联系人、偏好设置和凭据。" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device. Nothing is deleted from Gmail, Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "" "POP3 mail is stored only on this device. Nothing is deleted from Gmail, " "Outlook, or IMAP servers." msgstr "" -#: ui/dialogs/settings-dialog.slint:2311 +#: ui/dialogs/settings-dialog.slint:2326 msgid "This does not delete anything from Gmail, Outlook, or your IMAP server." msgstr "这不会删除 Gmail、Outlook 或 IMAP 服务器上的任何内容。" -#: ui/dialogs/settings-dialog.slint:2312 ui/dialogs/settings-dialog.slint:3229 +#: ui/dialogs/settings-dialog.slint:2327 ui/dialogs/settings-dialog.slint:3244 msgid "Delete everything" msgstr "全部删除" -#: ui/dialogs/settings-dialog.slint:2326 +#: ui/dialogs/settings-dialog.slint:2341 msgid "Choose how Flectar Mail gets your attention." msgstr "选择 Flectar Mail 提醒您的方式。" -#: ui/dialogs/settings-dialog.slint:2353 +#: ui/dialogs/settings-dialog.slint:2368 msgid "Notification sounds" msgstr "通知提示音" -#: ui/dialogs/settings-dialog.slint:2354 +#: ui/dialogs/settings-dialog.slint:2369 msgid "Play a sound for new mail and sent messages." msgstr "收到新邮件和邮件发送后播放提示音。" -#: ui/dialogs/settings-dialog.slint:2374 +#: ui/dialogs/settings-dialog.slint:2389 msgid "Keyboard shortcuts" msgstr "键盘快捷键" -#: ui/dialogs/settings-dialog.slint:2375 +#: ui/dialogs/settings-dialog.slint:2390 msgid "Move through mail without leaving the keyboard." msgstr "无需离开键盘即可操作邮件。" -#: ui/dialogs/settings-dialog.slint:2377 +#: ui/dialogs/settings-dialog.slint:2392 msgid "Compose a new message" msgstr "撰写新邮件" -#: ui/dialogs/settings-dialog.slint:2378 ui/views/mail-list-pane.slint:643 +#: ui/dialogs/settings-dialog.slint:2393 ui/views/mail-list-pane.slint:643 msgid "Search mail" msgstr "搜索邮件" #. Local mail has no archive or spam. -#: ui/dialogs/settings-dialog.slint:2379 ui/views/mail-list-pane.slint:1348 +#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-list-pane.slint:1348 #: ui/views/mail-reading-pane.slint:365 msgid "Archive" msgstr "归档" -#: ui/dialogs/settings-dialog.slint:2380 ui/views/mail-list-pane.slint:725 +#: ui/dialogs/settings-dialog.slint:2395 ui/views/mail-list-pane.slint:725 #: ui/views/mail-reading-pane.slint:349 ui/views/mail-reading-pane.slint:795 msgid "Move to spam" msgstr "移到垃圾邮件" -#: ui/dialogs/settings-dialog.slint:2381 ui/views/mail-list-pane.slint:734 +#: ui/dialogs/settings-dialog.slint:2396 ui/views/mail-list-pane.slint:734 #: ui/views/mail-reading-pane.slint:332 ui/views/mail-reading-pane.slint:367 #: ui/views/mail-reading-pane.slint:399 msgid "Move to trash" msgstr "移到废纸篓" -#: ui/dialogs/settings-dialog.slint:2383 +#: ui/dialogs/settings-dialog.slint:2398 msgid "Navigation" msgstr "" -#: ui/dialogs/settings-dialog.slint:2384 +#: ui/dialogs/settings-dialog.slint:2399 msgid "Move between messages" msgstr "" -#: ui/dialogs/settings-dialog.slint:2385 +#: ui/dialogs/settings-dialog.slint:2400 msgid "Open message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2386 +#: ui/dialogs/settings-dialog.slint:2401 msgid "Select message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2387 +#: ui/dialogs/settings-dialog.slint:2402 msgid "Switch between list and message" msgstr "" -#: ui/dialogs/settings-dialog.slint:2389 +#: ui/dialogs/settings-dialog.slint:2404 msgid "Reading" msgstr "" -#: ui/dialogs/settings-dialog.slint:2390 ui/views/mail-reading-pane.slint:1259 +#: ui/dialogs/settings-dialog.slint:2405 ui/views/mail-reading-pane.slint:1259 msgid "Find in message" msgstr "在邮件中查找" -#: ui/dialogs/settings-dialog.slint:2393 +#: ui/dialogs/settings-dialog.slint:2408 msgid "Reset zoom" msgstr "" -#: ui/dialogs/settings-dialog.slint:2394 ui/views/mail-reading-pane.slint:1588 +#: ui/dialogs/settings-dialog.slint:2409 ui/views/mail-reading-pane.slint:1588 msgid "Caret browsing" msgstr "光标浏览" -#: ui/dialogs/settings-dialog.slint:2400 +#: ui/dialogs/settings-dialog.slint:2415 msgid "Next tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2401 +#: ui/dialogs/settings-dialog.slint:2416 msgid "Previous tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2402 +#: ui/dialogs/settings-dialog.slint:2417 msgid "Go to tab 1–8" msgstr "" -#: ui/dialogs/settings-dialog.slint:2403 +#: ui/dialogs/settings-dialog.slint:2418 msgid "Go to last tab" msgstr "" -#: ui/dialogs/settings-dialog.slint:2423 +#: ui/dialogs/settings-dialog.slint:2438 msgid "" "Optional paid services from Flectar. Flectar Mail stays free and works " "without them." msgstr "" "来自 Flectar 的可选付费服务。Flectar Mail 保持免费,无需这些服务即可使用。" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Flectar account" msgstr "Flectar 账户" -#: ui/dialogs/settings-dialog.slint:2428 +#: ui/dialogs/settings-dialog.slint:2443 msgid "Not signed in" msgstr "未登录" -#: ui/dialogs/settings-dialog.slint:2430 +#: ui/dialogs/settings-dialog.slint:2445 msgid "" "A Flectar account is only needed for these optional services. Learn more at " "flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign in with Flectar" msgstr "使用 Flectar 登录" -#: ui/dialogs/settings-dialog.slint:2435 +#: ui/dialogs/settings-dialog.slint:2450 msgid "Sign-in coming soon" msgstr "登录功能即将上线" -#: ui/dialogs/settings-dialog.slint:2448 +#: ui/dialogs/settings-dialog.slint:2463 msgid "Your setup on every device" msgstr "您的每台设备上的设置" -#: ui/dialogs/settings-dialog.slint:2449 +#: ui/dialogs/settings-dialog.slint:2464 msgid "" "Sign in on a new phone or computer and your accounts, calendars, contacts, " "and preferences are ready without setting them up again." @@ -5305,268 +5327,268 @@ msgstr "" "在新手机或计算机上登录,您的账户、日历、联系人及偏好设置无需再次设置即可准备" "就绪。" -#: ui/dialogs/settings-dialog.slint:2451 +#: ui/dialogs/settings-dialog.slint:2466 msgid "Mail accounts, profiles, and signatures" msgstr "邮件账户、个人资料和签名" -#: ui/dialogs/settings-dialog.slint:2452 +#: ui/dialogs/settings-dialog.slint:2467 msgid "Calendar and contact connections" msgstr "日历与联系人连接" -#: ui/dialogs/settings-dialog.slint:2453 +#: ui/dialogs/settings-dialog.slint:2468 msgid "Themes, layout, and notification preferences" msgstr "主题、布局和通知偏好" -#: ui/dialogs/settings-dialog.slint:2454 +#: ui/dialogs/settings-dialog.slint:2469 msgid "Account credentials, encrypted on this device before upload" msgstr "账户凭据,上传前已在此设备上加密" -#: ui/dialogs/settings-dialog.slint:2456 +#: ui/dialogs/settings-dialog.slint:2471 msgid "" "Your messages stay with your mail provider. Sync only carries your Flectar " "Mail setup." msgstr "您的消息将保留在您的邮件服务商处。同步仅同步您的 Flectar Mail 配置。" -#: ui/dialogs/settings-dialog.slint:2471 +#: ui/dialogs/settings-dialog.slint:2486 msgid "Business email" msgstr "" -#: ui/dialogs/settings-dialog.slint:2472 +#: ui/dialogs/settings-dialog.slint:2487 msgid "Mailboxes on your own domain" msgstr "您自有域名上的邮箱" -#: ui/dialogs/settings-dialog.slint:2473 +#: ui/dialogs/settings-dialog.slint:2488 msgid "Professional addresses such as you@yourcompany.com, hosted by Flectar." msgstr "" -#: ui/dialogs/settings-dialog.slint:2475 +#: ui/dialogs/settings-dialog.slint:2490 msgid "Connect a domain you already own" msgstr "连接您已拥有的域名" -#: ui/dialogs/settings-dialog.slint:2476 +#: ui/dialogs/settings-dialog.slint:2491 msgid "Create and manage mailboxes for your team" msgstr "为您的团队创建和管理邮箱" -#: ui/dialogs/settings-dialog.slint:2477 +#: ui/dialogs/settings-dialog.slint:2492 msgid "New mailboxes appear in Flectar Mail automatically" msgstr "新邮箱将自动出现在 Flectar Mail 中" -#: ui/dialogs/settings-dialog.slint:2479 +#: ui/dialogs/settings-dialog.slint:2494 msgid "Billed per mailbox." msgstr "" -#: ui/dialogs/settings-dialog.slint:2491 +#: ui/dialogs/settings-dialog.slint:2506 msgid "" "These services are in development. Plans and availability will be announced " "on flectar.com/mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:2510 +#: ui/dialogs/settings-dialog.slint:2525 msgid "Flectar Mail, its makers, and its community." msgstr "Flectar Mail 及其开发者和社区。" -#: ui/dialogs/settings-dialog.slint:2526 ui/views/onboarding-view.slint:121 +#: ui/dialogs/settings-dialog.slint:2541 ui/views/onboarding-view.slint:121 msgid "Flectar Mail logo" msgstr "Flectar Mail 标志" -#: ui/dialogs/settings-dialog.slint:2546 +#: ui/dialogs/settings-dialog.slint:2561 msgid "A native mail client for a calm, private inbox." msgstr "一款原生邮件客户端,带来安静、私密的收件箱。" -#: ui/dialogs/settings-dialog.slint:2558 +#: ui/dialogs/settings-dialog.slint:2573 msgid "Version {}" msgstr "版本 {}" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Credits" msgstr "致谢" -#: ui/dialogs/settings-dialog.slint:2569 +#: ui/dialogs/settings-dialog.slint:2584 msgid "Built by Flectar with help from the open-source community." msgstr "由 Flectar 开发,并得到开源社区的帮助。" -#: ui/dialogs/settings-dialog.slint:2579 +#: ui/dialogs/settings-dialog.slint:2594 msgid "Flectar" msgstr "Flectar" -#: ui/dialogs/settings-dialog.slint:2580 +#: ui/dialogs/settings-dialog.slint:2595 msgid "Company website" msgstr "公司网站" -#: ui/dialogs/settings-dialog.slint:2590 +#: ui/dialogs/settings-dialog.slint:2605 msgid "Open-source contributors" msgstr "开源贡献者" -#: ui/dialogs/settings-dialog.slint:2591 +#: ui/dialogs/settings-dialog.slint:2606 msgid "Meet the people who have contributed on GitHub" msgstr "认识在 GitHub 上做出贡献的人们" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "License" msgstr "许可" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "AGPL-3.0-only." msgstr "AGPL-3.0-only。" -#: ui/dialogs/settings-dialog.slint:2604 +#: ui/dialogs/settings-dialog.slint:2619 msgid "" "Flectar Mail is released under the GNU Affero General Public License v3.0 " "only." msgstr "" "Flectar Mail 以 GNU Affero 通用公共许可证第 3 版(AGPL-3.0-only)发布。" -#: ui/dialogs/settings-dialog.slint:2610 +#: ui/dialogs/settings-dialog.slint:2625 msgid "Third-party components retain their own licenses and notices." msgstr "第三方组件保留其各自的许可证和声明。" -#: ui/dialogs/settings-dialog.slint:2637 +#: ui/dialogs/settings-dialog.slint:2652 msgid "Settings sections" msgstr "设置分区" -#: ui/dialogs/settings-dialog.slint:2649 +#: ui/dialogs/settings-dialog.slint:2664 msgid "Close settings" msgstr "关闭设置" -#: ui/dialogs/settings-dialog.slint:2671 +#: ui/dialogs/settings-dialog.slint:2686 msgid "Close settings sections" msgstr "关闭设置分区" -#: ui/dialogs/settings-dialog.slint:2719 ui/dialogs/settings-dialog.slint:2768 +#: ui/dialogs/settings-dialog.slint:2734 ui/dialogs/settings-dialog.slint:2783 msgid "CalDAV settings" msgstr "CalDAV 设置" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "Discover new calendars." msgstr "发现新日历。" -#: ui/dialogs/settings-dialog.slint:2769 +#: ui/dialogs/settings-dialog.slint:2784 msgid "" "Works with iCloud, Fastmail, Nextcloud, and standards-compliant CalDAV " "servers." msgstr "支持 iCloud、Fastmail、Nextcloud 以及符合标准的 CalDAV 服务器。" -#: ui/dialogs/settings-dialog.slint:2794 +#: ui/dialogs/settings-dialog.slint:2809 msgid "Server address" msgstr "服务器地址" -#: ui/dialogs/settings-dialog.slint:2796 +#: ui/dialogs/settings-dialog.slint:2811 msgid "https://calendar.example.com/" msgstr "https://calendar.example.com/" -#: ui/dialogs/settings-dialog.slint:2801 +#: ui/dialogs/settings-dialog.slint:2816 msgid "" "To sync one calendar, such as a shared mailbox's, enter that calendar's own " "address." msgstr "" -#: ui/dialogs/settings-dialog.slint:2811 ui/dialogs/settings-dialog.slint:2932 +#: ui/dialogs/settings-dialog.slint:2826 ui/dialogs/settings-dialog.slint:2947 msgid "Usually your email address" msgstr "通常是您的电子邮件地址" -#: ui/dialogs/settings-dialog.slint:2817 +#: ui/dialogs/settings-dialog.slint:2832 msgid "New app password · Optional" msgstr "新应用专用密码 · 可选" -#: ui/dialogs/settings-dialog.slint:2819 +#: ui/dialogs/settings-dialog.slint:2834 msgid "Leave blank to keep the current password" msgstr "留空则保留当前密码" -#: ui/dialogs/settings-dialog.slint:2819 ui/dialogs/settings-dialog.slint:2941 +#: ui/dialogs/settings-dialog.slint:2834 ui/dialogs/settings-dialog.slint:2956 msgid "Stored securely in your system keyring" msgstr "安全保存在系统密钥环中" -#: ui/dialogs/settings-dialog.slint:2844 ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:2859 ui/dialogs/settings-dialog.slint:3035 msgid "Connecting…" msgstr "正在连接…" -#: ui/dialogs/settings-dialog.slint:2862 +#: ui/dialogs/settings-dialog.slint:2877 msgid "Edit mail account" msgstr "编辑邮件账户" -#: ui/dialogs/settings-dialog.slint:2862 ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2877 ui/dialogs/settings-dialog.slint:2925 msgid "Connect a mail account" msgstr "连接邮件账户" -#: ui/dialogs/settings-dialog.slint:2910 +#: ui/dialogs/settings-dialog.slint:2925 msgid "Edit {}" msgstr "编辑 {}" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses JMAP for mail sync and sending, with automatic discovery." msgstr "使用 JMAP 收发和同步邮件,支持自动发现。" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "" "Downloads mail from a POP3 server to this device and sends through SMTP." msgstr "" -#: ui/dialogs/settings-dialog.slint:2911 +#: ui/dialogs/settings-dialog.slint:2926 msgid "Uses separate IMAP and SMTP servers for mail sync and sending." msgstr "使用独立的 IMAP 和 SMTP 服务器收发和同步邮件。" -#: ui/dialogs/settings-dialog.slint:2931 ui/dialogs/settings-dialog.slint:2938 +#: ui/dialogs/settings-dialog.slint:2946 ui/dialogs/settings-dialog.slint:2953 msgid "name@example.com" msgstr "name@example.com" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password, app password, or API token" msgstr "密码、应用专用密码或 API 令牌" -#: ui/dialogs/settings-dialog.slint:2941 ui/views/onboarding-view.slint:284 +#: ui/dialogs/settings-dialog.slint:2956 ui/views/onboarding-view.slint:284 msgid "Password or app password" msgstr "密码或应用专用密码" -#: ui/dialogs/settings-dialog.slint:2948 ui/views/onboarding-view.slint:297 +#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:297 msgid "IMAP" msgstr "" -#: ui/dialogs/settings-dialog.slint:2949 ui/views/onboarding-view.slint:305 +#: ui/dialogs/settings-dialog.slint:2964 ui/views/onboarding-view.slint:305 msgid "POP3" msgstr "" -#: ui/dialogs/settings-dialog.slint:2950 ui/views/onboarding-view.slint:313 +#: ui/dialogs/settings-dialog.slint:2965 ui/views/onboarding-view.slint:313 msgid "JMAP" msgstr "JMAP" -#: ui/dialogs/settings-dialog.slint:2954 +#: ui/dialogs/settings-dialog.slint:2969 msgid "Server address · Optional" msgstr "服务器地址 · 可选" -#: ui/dialogs/settings-dialog.slint:2956 +#: ui/dialogs/settings-dialog.slint:2971 msgid "Discovered from your email domain" msgstr "根据您的邮件域名自动发现" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "POP3 server" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 ui/views/onboarding-view.slint:337 +#: ui/dialogs/settings-dialog.slint:2978 ui/views/onboarding-view.slint:337 msgid "IMAP server" msgstr "IMAP 服务器" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "pop.example.com" msgstr "" -#: ui/dialogs/settings-dialog.slint:2963 +#: ui/dialogs/settings-dialog.slint:2978 msgid "imap.example.com" msgstr "imap.example.com" -#: ui/dialogs/settings-dialog.slint:2964 ui/dialogs/settings-dialog.slint:2971 +#: ui/dialogs/settings-dialog.slint:2979 ui/dialogs/settings-dialog.slint:2986 #: ui/views/onboarding-view.slint:367 msgid "Port" msgstr "端口" -#: ui/dialogs/settings-dialog.slint:2970 ui/views/onboarding-view.slint:359 +#: ui/dialogs/settings-dialog.slint:2985 ui/views/onboarding-view.slint:359 msgid "SMTP server" msgstr "SMTP 服务器" -#: ui/dialogs/settings-dialog.slint:2970 +#: ui/dialogs/settings-dialog.slint:2985 msgid "smtp.example.com" msgstr "smtp.example.com" -#: ui/dialogs/settings-dialog.slint:2974 ui/views/onboarding-view.slint:375 +#: ui/dialogs/settings-dialog.slint:2989 ui/views/onboarding-view.slint:375 msgid "" "Proton Bridge: use the local servers, ports and password shown in Bridge, " "and match its encryption settings." @@ -5574,56 +5596,56 @@ msgstr "" "Proton Bridge:请使用 Bridge 中显示的本地服务器、端口和密码,并与其加密设置保" "持一致。" -#: ui/dialogs/settings-dialog.slint:3020 +#: ui/dialogs/settings-dialog.slint:3035 msgid "Save account" msgstr "保存账户" -#: ui/dialogs/settings-dialog.slint:3020 ui/views/onboarding-view.slint:407 +#: ui/dialogs/settings-dialog.slint:3035 ui/views/onboarding-view.slint:407 msgid "Connect account" msgstr "连接账户" -#: ui/dialogs/settings-dialog.slint:3041 ui/dialogs/settings-dialog.slint:3097 +#: ui/dialogs/settings-dialog.slint:3056 ui/dialogs/settings-dialog.slint:3112 msgid "Create profile" msgstr "创建分组" -#: ui/dialogs/settings-dialog.slint:3098 +#: ui/dialogs/settings-dialog.slint:3113 msgid "" "Its color marks its accounts' mail, and choosing it shows only their mail." msgstr "" -#: ui/dialogs/settings-dialog.slint:3103 +#: ui/dialogs/settings-dialog.slint:3118 msgid "Profile name" msgstr "分组名称" -#: ui/dialogs/settings-dialog.slint:3105 +#: ui/dialogs/settings-dialog.slint:3120 msgid "Personal or Work" msgstr "个人或工作" -#: ui/dialogs/settings-dialog.slint:3111 ui/views/mail-reading-pane.slint:1991 +#: ui/dialogs/settings-dialog.slint:3126 ui/views/mail-reading-pane.slint:1991 msgid "Color" msgstr "颜色" -#: ui/dialogs/settings-dialog.slint:3120 +#: ui/dialogs/settings-dialog.slint:3135 msgid "Profile color {}" msgstr "分组颜色 {}" -#: ui/dialogs/settings-dialog.slint:3162 +#: ui/dialogs/settings-dialog.slint:3177 msgid "Save profile" msgstr "保存分组" -#: ui/dialogs/settings-dialog.slint:3170 +#: ui/dialogs/settings-dialog.slint:3185 msgid "Could not save this profile. Check the name and try again." msgstr "无法保存此分组。请检查名称后重试。" -#: ui/dialogs/settings-dialog.slint:3188 +#: ui/dialogs/settings-dialog.slint:3203 msgid "Choose a profile for {}" msgstr "为 {} 选择分组" -#: ui/dialogs/settings-dialog.slint:3218 +#: ui/dialogs/settings-dialog.slint:3233 msgid "Delete all local data?" msgstr "删除全部本地数据?" -#: ui/dialogs/settings-dialog.slint:3219 +#: ui/dialogs/settings-dialog.slint:3234 msgid "" "This removes every account, downloaded message, calendar, contact, " "preference, and credential stored by Flectar Mail on this device." @@ -5631,109 +5653,109 @@ msgstr "" "这将从此设备移除 Flectar Mail 存储的所有账户、已下载的邮件、日历、联系人、偏" "好设置和凭据。" -#: ui/dialogs/settings-dialog.slint:3221 +#: ui/dialogs/settings-dialog.slint:3236 msgid "" "Imported mail and the mail of any POP3 account are stored only on this " "device and will be deleted. Mail and events on Gmail, Outlook, and IMAP " "servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3223 +#: ui/dialogs/settings-dialog.slint:3238 msgid "" "POP3 mail is stored only on this device and will be deleted. Mail and events " "on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3224 +#: ui/dialogs/settings-dialog.slint:3239 msgid "" "Mail and events on Gmail, Outlook, and IMAP servers will not be deleted." msgstr "Gmail、Outlook 和 IMAP 服务器上的邮件和日程不会被删除。" -#: ui/dialogs/settings-dialog.slint:3225 +#: ui/dialogs/settings-dialog.slint:3240 msgid "Export POP3 mail…" msgstr "" -#: ui/dialogs/settings-dialog.slint:3230 +#: ui/dialogs/settings-dialog.slint:3245 msgid "Keep my data" msgstr "保留我的数据" -#: ui/dialogs/settings-dialog.slint:3244 +#: ui/dialogs/settings-dialog.slint:3259 msgid "Delete mail on this device?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3246 +#: ui/dialogs/settings-dialog.slint:3261 msgid "Delete the mail you imported and its folders from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3247 +#: ui/dialogs/settings-dialog.slint:3262 msgid "It exists only here. Export it first to keep a copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3252 +#: ui/dialogs/settings-dialog.slint:3267 msgid "Delete mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3253 +#: ui/dialogs/settings-dialog.slint:3268 msgid "Keep mail" msgstr "" -#: ui/dialogs/settings-dialog.slint:3267 +#: ui/dialogs/settings-dialog.slint:3282 msgid "Remove account?" msgstr "移除账户?" -#: ui/dialogs/settings-dialog.slint:3269 +#: ui/dialogs/settings-dialog.slint:3284 msgid "Remove this account and its downloaded mail from this device." msgstr "从此设备移除此账户及其已下载的邮件。" -#: ui/dialogs/settings-dialog.slint:3271 +#: ui/dialogs/settings-dialog.slint:3286 msgid "" "This account's mail is stored only on this device. Export it first to keep a " "copy." msgstr "" -#: ui/dialogs/settings-dialog.slint:3272 +#: ui/dialogs/settings-dialog.slint:3287 msgid "Messages on the mail server will not be deleted." msgstr "邮件服务器上的邮件不会被删除。" -#: ui/dialogs/settings-dialog.slint:3277 +#: ui/dialogs/settings-dialog.slint:3292 msgid "Remove account" msgstr "移除账户" -#: ui/dialogs/settings-dialog.slint:3278 +#: ui/dialogs/settings-dialog.slint:3293 msgid "Keep account" msgstr "保留账户" -#: ui/dialogs/settings-dialog.slint:3292 +#: ui/dialogs/settings-dialog.slint:3307 msgid "Delete profile?" msgstr "删除分组?" -#: ui/dialogs/settings-dialog.slint:3294 +#: ui/dialogs/settings-dialog.slint:3309 msgid "" "Accounts assigned to this profile will return to their individual or " "generated account colors." msgstr "归入此分组的账户将恢复为各自或自动生成的颜色。" -#: ui/dialogs/settings-dialog.slint:3295 +#: ui/dialogs/settings-dialog.slint:3310 msgid "Accounts and provider data are not changed." msgstr "账户和服务商数据不会改变。" -#: ui/dialogs/settings-dialog.slint:3297 +#: ui/dialogs/settings-dialog.slint:3312 msgid "Keep profile" msgstr "保留分组" -#: ui/dialogs/settings-dialog.slint:3311 +#: ui/dialogs/settings-dialog.slint:3326 msgid "Remove calendar?" msgstr "" -#: ui/dialogs/settings-dialog.slint:3313 +#: ui/dialogs/settings-dialog.slint:3328 msgid "Stop syncing it and remove its events from this device." msgstr "" -#: ui/dialogs/settings-dialog.slint:3314 +#: ui/dialogs/settings-dialog.slint:3329 msgid "Events on the server will not be deleted." msgstr "" -#: ui/dialogs/settings-dialog.slint:3316 +#: ui/dialogs/settings-dialog.slint:3331 msgid "Keep calendar" msgstr "" diff --git a/resources/benchmarks/warm-cache/warm-start-mailbox-v7.json b/resources/benchmarks/warm-cache/warm-start-mailbox-v7.json new file mode 100644 index 00000000..e44d6c5a --- /dev/null +++ b/resources/benchmarks/warm-cache/warm-start-mailbox-v7.json @@ -0,0 +1,136 @@ +{ + "format_version": 7, + "saved_at_ms": 1787961600000, + "scope": "Unified Inbox", + "inbox_count": 2, + "grouping": "conversations", + "next_cursor": null, + "accounts": [ + { + "id": 1, + "email": "alex@example.com", + "displayName": "Example account", + "avatarUrl": null, + "provider": "generic", + "authKind": "password", + "mailProtocol": "imap", + "syncState": "idle", + "syncError": null, + "canCreateTopLevelMailbox": true + } + ], + "messages": [ + { + "id": 101, + "thread_id": 101, + "account": "Example account", + "folder": "Inbox", + "sender": "Design team", + "address": "design@example.net", + "domain": "example.net", + "initials": "DT", + "subject": "Updated launch review", + "preview": "The latest native UI build is ready to review.", + "date_ms": 1787954400000, + "label": "UNREAD", + "unread": true, + "starred": true, + "has_attachments": false, + "has_replied": true, + "sender_verification": "" + }, + { + "id": 102, + "thread_id": 102, + "account": "Example account", + "folder": "Inbox", + "sender": "Build service", + "address": "builds@example.org", + "domain": "example.org", + "initials": "BS", + "subject": "Native checks completed", + "preview": "All desktop platform checks passed.", + "date_ms": 1787868000000, + "label": "UNREAD", + "unread": true, + "starred": false, + "has_attachments": true, + "has_replied": false, + "sender_verification": "domain" + }, + { + "id": 103, + "thread_id": 103, + "account": "Example account", + "folder": "Inbox", + "sender": "Product team", + "address": "product@example.com", + "domain": "example.com", + "initials": "PT", + "subject": "Mailbox startup notes", + "preview": "Here are the measurements from the latest run.", + "date_ms": 1787824800000, + "label": "MAIL", + "unread": false, + "starred": false, + "has_attachments": false, + "has_replied": false, + "sender_verification": "" + } + ], + "mailboxes": [ + { + "account_id": 1, + "label": "Example account", + "scope": null, + "context": "Example account", + "detail": "alex@example.com", + "avatar": "EA", + "is_account": true, + "can_create_children": true, + "count": "2" + }, + { + "account_id": 1, + "label": "Inbox", + "scope": "Account:1:Inbox", + "context": "Example account", + "detail": "", + "avatar": "", + "is_account": false, + "count": "2" + }, + { + "account_id": 1, + "label": "Starred", + "scope": "Account:1:Starred", + "context": "Example account", + "detail": "", + "avatar": "", + "is_account": false, + "count": "1" + } + ], + "unified_mailboxes": [ + { + "account_id": 0, + "label": "Starred", + "scope": "Unified Starred", + "context": "", + "detail": "", + "avatar": "", + "is_account": false, + "count": "1" + }, + { + "account_id": 0, + "label": "Sent", + "scope": "Unified Sent", + "context": "", + "detail": "", + "avatar": "", + "is_account": false, + "count": "" + } + ] +} diff --git a/src/account_mail_preferences.rs b/src/account_mail_preferences.rs index 1dd17b52..249629d3 100644 --- a/src/account_mail_preferences.rs +++ b/src/account_mail_preferences.rs @@ -817,12 +817,12 @@ fn register_keys_and_reader(app: &AppWindow, state: &Rc>, ta ui.on_read_message(move || { let Some(app) = weak.upgrade() else { return }; let Some(core) = core(&state) else { return }; - let Some((selected_id, thread_id)) = ({ + let Some((selected_id, target)) = ({ let state = state.borrow(); state .selected_id .and_then(|id| state.messages.iter().find(|m| m.id == id)) - .and_then(|m| m.thread_id.map(|thread| (m.id, thread))) + .and_then(|m| crate::mail::MailTarget::of(m).map(|target| (m.id, target))) }) else { return; }; @@ -842,11 +842,18 @@ fn register_keys_and_reader(app: &AppWindow, state: &Rc>, ta &app, true, async move { - let detail = core - .get_latest_thread_body(thread_id) - .await - .map_err(|e| e.to_string())?; - core.open_openpgp_message(detail.id) + // A conversation opens its newest message; a single message's + // row, that message. + let message_id = match target { + crate::mail::MailTarget::Message { id, .. } => id, + crate::mail::MailTarget::Thread(thread_id) => { + core.get_latest_thread_body(thread_id) + .await + .map_err(|e| e.to_string())? + .id + } + }; + core.open_openpgp_message(message_id) .await .map_err(|e| e.to_string()) }, diff --git a/src/compose_controller.rs b/src/compose_controller.rs index 8634daa1..610b7006 100644 --- a/src/compose_controller.rs +++ b/src/compose_controller.rs @@ -265,14 +265,14 @@ pub(super) fn perform_selected_action( _runtime: &tokio::runtime::Runtime, action: &str, ) -> Result<(), String> { - let (selected_id, thread_id, core, using_core) = { + let (selected_id, target, core, using_core) = { let state = state.borrow(); let selected = state .selected_id .and_then(|id| state.messages.iter().find(|message| message.id == id)); ( state.selected_id, - selected.and_then(|message| message.thread_id), + selected.and_then(MailTarget::of), state.core.clone(), state.using_core, ) @@ -281,13 +281,13 @@ pub(super) fn perform_selected_action( return Err("mail account is not ready".to_owned()); } let core = core.ok_or_else(|| "mail core is unavailable".to_owned())?; - let thread_id = thread_id.ok_or_else(|| "no message is selected".to_owned())?; + let target = target.ok_or_else(|| "no message is selected".to_owned())?; mail_work::enqueue( state, core, vec![( selected_id.unwrap(), - thread_id, + target, mail_work::Operation::Action(action.to_owned()), )], ) diff --git a/src/data_controller.rs b/src/data_controller.rs index 2f256eee..14a50242 100644 --- a/src/data_controller.rs +++ b/src/data_controller.rs @@ -420,6 +420,12 @@ pub(super) fn restore_account_backup( { settings.show_tabs = enabled; } + if let Some(enabled) = preferences + .get("conversationView") + .and_then(|value| value.as_bool()) + { + settings.conversation_view = enabled; + } if let Some(frame) = preferences .get("windowFrame") .and_then(|value| value.as_str()) @@ -638,6 +644,7 @@ pub(super) fn restore_account_backup( .set_preference(settings.message_appearance.as_str().into()); app.set_show_avatars(settings.show_avatars); app.set_show_tabs(settings.show_tabs); + apply_mail_grouping(app, state, runtime, settings.mail_grouping()); app.set_show_account_markers(settings.show_account_badges); crate::window_chrome::apply_preference( app, @@ -1308,6 +1315,7 @@ pub(super) fn register_data_management_callbacks( "messageAppearance": settings.message_appearance, "showAvatars": settings.show_avatars, "showTabs": settings.show_tabs, + "conversationView": settings.conversation_view, "workspaceLayout": settings.workspace_layout, "workspaceListPaneWidth": settings.workspace_list_pane_width, "monochromeSidebarIcons": settings.monochrome_sidebar_icons, @@ -1626,6 +1634,12 @@ pub(super) fn register_data_management_callbacks( crate::app_icon::apply(&app, Default::default()); app.set_show_avatars(true); app.set_show_tabs(true); + apply_mail_grouping( + &app, + &data_reset_state, + &data_reset_runtime, + MailGrouping::Conversations, + ); app.set_show_account_markers(false); app.set_workspace_layout("default".into()); app.set_workspace_list_pane_width(MIN_WORKSPACE_LIST_PANE_WIDTH as f32); diff --git a/src/mail.rs b/src/mail.rs index 0a507b6a..5c19c4a0 100644 --- a/src/mail.rs +++ b/src/mail.rs @@ -5,13 +5,14 @@ use flectar_mail_core::{ config::Paths, events::CoreEvent, models::{ - Account, AccountConfig, ActionKind, ActionParams, AddPasswordAccountArgs, Address, - CalendarConnection, CalendarEvent, CardDavConnection, ConnectCaldavArgs, + Account, AccountConfig, ActionKind, ActionParams, ActionTarget, AddPasswordAccountArgs, + Address, CalendarConnection, CalendarEvent, CardDavConnection, ConnectCaldavArgs, ConnectCardDavArgs, ContactRecordCursor, ContactRecordPage, CreateEventArgs, CustomTheme, - DraftAttachmentIn, FolderInfo, Label, MailHistory, MailProfile, MailProtocol, - MailboxBadgeCounts, MessageDetail, PerformActionArgs, PortableAccountConfig, Provider, - QueueSendArgs, QueueSendResult, SaveDraftArgs, SearchCursor, Settings, Snippet, - ThreadCursor, ThreadSummary, View, normalized_workspace_list_pane_width, + DraftAttachmentIn, FolderInfo, Label, MailGrouping, MailHistory, MailProfile, MailProtocol, + MailboxBadgeCounts, MessageCursor, MessageDetail, MessageSearchCursor, MessageSummary, + PerformActionArgs, PortableAccountConfig, Provider, QueueSendArgs, QueueSendResult, + SaveDraftArgs, SearchCursor, Settings, Snippet, ThreadCursor, ThreadSummary, View, + normalized_workspace_list_pane_width, }, }; #[cfg(test)] @@ -48,6 +49,9 @@ pub struct EmailFixture { pub struct MailMessage { pub id: i32, pub thread_id: Option, + /// The message this row shows on its own, in mail lists without + /// conversations; `None` for a conversation's row. + pub message_id: Option, pub account_id: i64, pub account: String, pub folder: String, @@ -94,6 +98,7 @@ impl MailMessage { Self { id: email.id, thread_id: None, + message_id: None, account_id: -1, account: email.account.to_owned(), folder: email.folder.to_owned(), @@ -200,6 +205,40 @@ pub struct MailPage { pub enum MailCursor { Thread(ThreadCursor), Search(SearchCursor), + Message(MessageCursor), + MessageSearch(MessageSearchCursor), +} + +/// What an action on a mail-list row applies to: its conversation, or the one +/// message the row shows. Tab routing and snooze are a conversation's either way. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] +pub enum MailTarget { + Thread(i64), + Message { id: i64, thread_id: i64 }, +} + +impl MailTarget { + /// The target of a row, when it is backed by the mail core. + pub fn of(row: &MailMessage) -> Option { + let thread_id = row.thread_id?; + Some(match row.message_id { + Some(id) => Self::Message { id, thread_id }, + None => Self::Thread(thread_id), + }) + } + + pub fn thread_id(self) -> i64 { + match self { + Self::Thread(thread_id) | Self::Message { thread_id, .. } => thread_id, + } + } + + fn action_target(self) -> ActionTarget { + match self { + Self::Thread(thread_id) => ActionTarget::Threads(vec![thread_id]), + Self::Message { id, .. } => ActionTarget::Messages(vec![id]), + } + } } #[derive(Clone, Debug)] @@ -297,6 +336,8 @@ pub struct CoreMailSource { /// The active profile's accounts, sorted; the mail view shows only these. /// `None` shows every account. profile_accounts: Arc>>>, + /// Whether mail lists show conversations or each message on its own. + grouping: Arc>, } pub struct AccountSnapshot { @@ -337,6 +378,34 @@ impl CoreMailSource { true } + /// Show conversations, or each message on its own. Returns whether that + /// changed; pages and counts loaded in the other grouping are then out of + /// date. + pub fn set_grouping(&self, grouping: MailGrouping) -> bool { + { + let mut current = self + .grouping + .lock() + .unwrap_or_else(std::sync::PoisonError::into_inner); + if *current == grouping { + return false; + } + *current = grouping; + } + // After the new grouping is in place: a load that reads the new + // revision also reads it. + self.account_revision + .fetch_add(1, std::sync::atomic::Ordering::AcqRel); + true + } + + pub fn grouping(&self) -> MailGrouping { + *self + .grouping + .lock() + .unwrap_or_else(std::sync::PoisonError::into_inner) + } + fn profile_accounts(&self) -> Option> { self.profile_accounts .lock() @@ -390,6 +459,7 @@ impl CoreMailSource { core: Arc::new(core), account_revision: Arc::default(), profile_accounts: Arc::default(), + grouping: Arc::default(), }) } @@ -535,7 +605,7 @@ impl CoreMailSource { ) -> Result { let mut badges = self .core - .mailbox_badge_counts() + .mailbox_badge_counts(self.grouping()) .await .map_err(|error| error.to_string())?; // Unified totals add up the shown accounts only. @@ -600,13 +670,34 @@ impl CoreMailSource { // accounts; an account's own mailboxes need no more than its id. let profile_accounts = profile.filter(|_| resolved.account_id.is_none()); + if self.grouping() == MailGrouping::Messages { + let (rows, next_cursor) = self + .load_message_rows(&resolved, profile_accounts, query, cursor, limit) + .await?; + let messages = rows + .into_iter() + .filter_map(|row| { + message_summary_to_message(row, accounts, resolved.title.as_str()) + }) + .collect(); + return Ok(MailPage { + account_revision: self.account_revision(), + messages, + labels, + mailboxes, + next_cursor, + account_count, + unified_mailboxes: metadata + .map(|metadata| metadata.unified_mailboxes) + .unwrap_or_default(), + }); + } + let (threads, next_cursor) = if query.trim().is_empty() { let cursor = match cursor { None => None, Some(MailCursor::Thread(cursor)) => Some(cursor), - Some(MailCursor::Search(_)) => { - return Err("search cursor used for a mailbox".into()); - } + Some(_) => return Err("this cursor belongs to another list".into()), }; let page = match profile_accounts { Some(accounts) => { @@ -643,7 +734,7 @@ impl CoreMailSource { let cursor = match cursor { None => None, Some(MailCursor::Search(cursor)) => Some(cursor), - Some(MailCursor::Thread(_)) => return Err("mailbox cursor used for search".into()), + Some(_) => return Err("this cursor belongs to another list".into()), }; let query = query.trim().to_owned(); let page = match profile_accounts { @@ -685,6 +776,77 @@ impl CoreMailSource { }) } + /// One page of the mailbox or search as single messages, for mail lists + /// without conversations. + async fn load_message_rows( + &self, + resolved: &ScopeResolution, + profile_accounts: Option<&[i64]>, + query: &str, + cursor: Option, + limit: i64, + ) -> Result<(Vec, Option), String> { + if query.trim().is_empty() { + let cursor = match cursor { + None => None, + Some(MailCursor::Message(cursor)) => Some(cursor), + Some(_) => return Err("this cursor belongs to another list".into()), + }; + let page = flectar_mail_core::MessagePageRequest { cursor, limit }; + let page = match profile_accounts { + Some(accounts) => { + self.core + .list_messages_for_accounts( + resolved.view, + resolved.split_id, + accounts.to_vec(), + resolved.label_id, + resolved.folder_id, + page, + ) + .await + } + None => { + self.core + .list_messages( + resolved.view, + resolved.split_id, + resolved.account_id, + resolved.label_id, + resolved.folder_id, + page, + ) + .await + } + } + .map_err(|error| error.to_string())?; + return Ok((page.messages, page.next_cursor.map(MailCursor::Message))); + } + let cursor = match cursor { + None => None, + Some(MailCursor::MessageSearch(cursor)) => Some(cursor), + Some(_) => return Err("this cursor belongs to another list".into()), + }; + let query = query.trim().to_owned(); + let page = match profile_accounts { + Some(accounts) => { + self.core + .search_messages_page_for_accounts(query, accounts.to_vec(), cursor, limit) + .await + } + None => { + self.core + .search_messages_page(query, resolved.account_id, cursor, limit) + .await + } + } + .map_err(|error| error.to_string())?; + Ok(( + page.messages, + page.next_cursor.map(MailCursor::MessageSearch), + )) + } + /// Load the selected thread as independent messages. Bodies are still /// fetched lazily by the core and the UI expands only one message at a /// time, so opening a long conversation does not create a renderer per @@ -694,6 +856,19 @@ impl CoreMailSource { row: &MailMessage, selected_message_id: Option, ) -> Result { + // A row of a list without conversations opens only its message. + if let Some(message_id) = row.message_id { + let message = self + .core + .get_body(message_id) + .await + .map_err(|error| error.to_string())?; + let message = detail_to_conversation_message(row, &message, true) + .ok_or_else(|| "message id is out of range".to_owned())?; + return Ok(MailConversation { + messages: vec![message], + }); + } let thread_id = row .thread_id .ok_or_else(|| "message is not backed by a core thread".to_owned())?; @@ -736,6 +911,8 @@ impl CoreMailSource { row: &MailMessage, message_id: Option, ) -> Result { + // A single message's row answers that message. + let message_id = message_id.or(row.message_id); let thread_id = row .thread_id .ok_or_else(|| "message is not backed by a core thread".to_owned())?; @@ -835,6 +1012,14 @@ impl CoreMailSource { } pub async fn load_draft(&self, row: &MailMessage) -> Result { + // A draft listed on its own is the one to edit. + if let Some(draft_id) = row.message_id { + return self + .core + .get_draft(draft_id) + .await + .map_err(|error| error.to_string()); + } let thread_id = row .thread_id .ok_or_else(|| "draft is not backed by a core thread".to_owned())?; @@ -1192,6 +1377,15 @@ impl CoreMailSource { .map_err(|error| error.to_string()) } + pub async fn set_conversation_view(&self, enabled: bool) -> Result<(), String> { + let mut settings = self.load_settings().await?; + settings.conversation_view = enabled; + self.core + .set_settings(settings) + .await + .map_err(|error| error.to_string()) + } + pub async fn set_group_mail_by_date(&self, enabled: bool) -> Result<(), String> { self.core .set_group_mail_by_date(enabled) @@ -1496,13 +1690,17 @@ impl CoreMailSource { .map_err(|error| error.to_string()) } - pub async fn perform_message_action(&self, thread_id: i64, action: &str) -> Result<(), String> { + pub async fn perform_message_action( + &self, + target: MailTarget, + action: &str, + ) -> Result<(), String> { let kind = ActionKind::parse(action) .ok_or_else(|| format!("unsupported message action: {action}"))?; self.core .perform_action(PerformActionArgs { kind, - thread_ids: vec![thread_id], + target: target.action_target(), params: None, }) .await @@ -1520,7 +1718,7 @@ impl CoreMailSource { pub async fn perform_label_action( &self, - thread_id: i64, + target: MailTarget, label_id: i64, add: bool, ) -> Result<(), String> { @@ -1531,7 +1729,7 @@ impl CoreMailSource { } else { ActionKind::RemoveLabel }, - thread_ids: vec![thread_id], + target: target.action_target(), params: Some(ActionParams { wake_at: None, target_folder_id: None, @@ -1543,15 +1741,15 @@ impl CoreMailSource { .map_err(|error| error.to_string()) } - pub async fn move_thread_to_folder( + pub async fn move_to_folder( &self, - thread_id: i64, + target: MailTarget, target_folder_id: i64, ) -> Result<(), String> { self.core .perform_action(PerformActionArgs { kind: ActionKind::Move, - thread_ids: vec![thread_id], + target: target.action_target(), params: Some(ActionParams { wake_at: None, target_folder_id: Some(target_folder_id), @@ -1563,9 +1761,10 @@ impl CoreMailSource { .map_err(|error| error.to_string()) } - pub async fn route_thread_to_tab(&self, thread_id: i64, target: String) -> Result<(), String> { + /// Inbox tabs route conversations, so a message's routes its conversation. + pub async fn route_to_tab(&self, target: MailTarget, tab: String) -> Result<(), String> { self.core - .route_thread_to_tab(thread_id, target) + .route_thread_to_tab(target.thread_id(), tab) .await .map_err(|error| error.to_string()) } @@ -2463,28 +2662,7 @@ fn summary_to_message( if display_participants.is_empty() { display_participants.extend(thread.participants.iter()); } - let participant = display_participants.first().copied(); - let address = participant - .map(|person| person.email.clone()) - .unwrap_or_default(); - fn display_name(person: &Address) -> &str { - person - .name - .as_deref() - .filter(|name| !name.trim().is_empty()) - .unwrap_or(&person.email) - } - let sender = match display_participants.as_slice() { - [] => address.clone(), - [only] => display_name(only).to_owned(), - [first, second] => format!("{}, {}", display_name(first), display_name(second)), - [first, second, rest @ ..] => format!( - "{}, {} +{}", - display_name(first), - display_name(second), - rest.len() - ), - }; + let (sender, address) = display_people(&display_participants); let thread_account = accounts .iter() .find(|account| account.id == thread.account_id); @@ -2497,6 +2675,7 @@ fn summary_to_message( Some(MailMessage { id, thread_id: Some(thread.id), + message_id: None, account_id: thread.account_id, account, folder: folder.to_owned(), @@ -2533,6 +2712,111 @@ fn summary_to_message( }) } +/// A row's people, named as "A", "A, B" or "A, B +N", and the first one's +/// address, which names the row's avatar. +fn display_people(people: &[&Address]) -> (String, String) { + fn display_name(person: &Address) -> &str { + person + .name + .as_deref() + .filter(|name| !name.trim().is_empty()) + .unwrap_or(&person.email) + } + let address = people + .first() + .map(|person| person.email.clone()) + .unwrap_or_default(); + let sender = match people { + [] => address.clone(), + [only] => display_name(only).to_owned(), + [first, second] => format!("{}, {}", display_name(first), display_name(second)), + [first, second, rest @ ..] => format!( + "{}, {} +{}", + display_name(first), + display_name(second), + rest.len() + ), + }; + (sender, address) +} + +/// One message as its own mail-list row. A row is named by the other side of +/// the exchange: the sender, or for mail sent from the account, its +/// recipients. The subject keeps its reply prefixes, which tell messages of a +/// conversation apart. +fn message_summary_to_message( + message: MessageSummary, + accounts: &[Account], + folder: &str, +) -> Option { + let id = i32::try_from(message.id).ok()?; + let own = |person: &Address| { + message + .account_addresses + .iter() + .any(|address| address.eq_ignore_ascii_case(&person.email)) + }; + let sent = message.is_outgoing || message.is_draft || own(&message.from); + let people = if sent && !message.to.is_empty() { + message.to.iter().collect::>() + } else { + vec![&message.from] + }; + let (sender, address) = display_people(&people); + let message_account = accounts + .iter() + .find(|account| account.id == message.account_id); + let account = message_account + .map(account_label) + .unwrap_or_else(|| message.account_email.clone().unwrap_or_default()); + let domain = domain_from_address(&address).unwrap_or_default(); + let initials = initials(&sender); + Some(MailMessage { + id, + thread_id: Some(message.thread_id), + message_id: Some(message.id), + account_id: message.account_id, + account, + folder: folder.to_owned(), + sender, + address, + domain, + initials, + subject: message.subject.trim().to_owned(), + preview: message.snippet, + date_ms: message.date, + to: message + .to + .first() + .map(|address| address.email.clone()) + .unwrap_or_default(), + label: if message.is_draft { + "DRAFT".to_owned() + } else if !message.is_read { + "UNREAD".to_owned() + } else { + "MAIL".to_owned() + }, + unread: !message.is_read && !message.is_draft, + starred: message.is_starred, + has_attachments: message.has_attachments, + message_count: 1, + attachments: Vec::new(), + has_replied: message.has_replied, + is_outgoing: message.is_outgoing, + labels: message.labels, + html: None, + text: None, + body_pending: true, + sender_verification: String::new(), + verification_code: message.verification_code, + account_uses_labels: message_account + .is_some_and(|account| account.mail_protocol == MailProtocol::Gmail), + first_attachment: message.first_attachment, + attachment_total: message.attachment_total, + }) +} + /// Keep the newest message's display casing and local prefixes while removing /// transport reply prefixes that belong to individual messages, not the /// conversation title. @@ -2590,6 +2874,7 @@ fn detail_to_message(row: &MailMessage, message: &MessageDetail, body_loaded: bo MailMessage { id: row.id, thread_id: row.thread_id, + message_id: row.message_id, account_id: row.account_id, account: row.account.clone(), folder: row.folder.clone(), @@ -2849,13 +3134,15 @@ pub fn fixtures() -> Vec { #[cfg(test)] mod tests { use super::{ - ComposeMessage, compose_args, display_thread_subject, mailbox_entries, markdown_to_html, - markdown_to_plain_text, readable_message_html, resolve_scope, summary_to_message, - validated_startup_scope, with_local_mail, + ComposeMessage, MailTarget, compose_args, display_thread_subject, mailbox_entries, + markdown_to_html, markdown_to_plain_text, message_summary_to_message, + readable_message_html, resolve_scope, summary_to_message, validated_startup_scope, + with_local_mail, }; use crate::mail_scope::{LabelKind, Scope, StandardMailbox}; use flectar_mail_core::models::{ - Account, Address, AuthKind, FolderInfo, Label, MailProtocol, Provider, ThreadSummary, View, + Account, ActionTarget, Address, AuthKind, FolderInfo, Label, MailProtocol, MessageSummary, + Provider, ThreadSummary, View, }; use std::sync::Arc; @@ -3001,6 +3288,81 @@ mod tests { assert_eq!(prepared.plain_text, text); } + fn message_summary(from: &str, to: &[&str], outgoing: bool) -> MessageSummary { + MessageSummary { + id: 41, + thread_id: 22, + account_id: 1, + account_email: Some("person@example.com".into()), + account_addresses: vec!["person@example.com".into()], + subject: "Re: Launch review".into(), + snippet: "Tuesday works.".into(), + from: Address { + name: None, + email: from.into(), + }, + to: to + .iter() + .map(|email| Address { + name: None, + email: (*email).into(), + }) + .collect(), + date: 5, + is_read: false, + is_starred: true, + is_draft: false, + is_outgoing: outgoing, + has_attachments: false, + has_replied: false, + snoozed_until: None, + labels: vec![3], + verification_code: None, + first_attachment: None, + attachment_total: 0, + } + } + + #[test] + fn a_message_row_shows_that_message_and_acts_on_it_alone() { + let row = message_summary_to_message( + message_summary("maya@example.com", &["person@example.com"], false), + &[test_account()], + "Inbox", + ) + .unwrap(); + assert_eq!(row.id, 41); + assert_eq!(row.message_id, Some(41)); + assert_eq!(row.thread_id, Some(22)); + assert_eq!(row.sender, "maya@example.com"); + // Reply prefixes tell the messages of a conversation apart. + assert_eq!(row.subject, "Re: Launch review"); + assert_eq!(row.message_count, 1); + assert!(row.unread && row.starred); + assert_eq!(row.labels, [3]); + assert_eq!( + MailTarget::of(&row), + Some(MailTarget::Message { + id: 41, + thread_id: 22 + }) + ); + assert_eq!( + MailTarget::of(&row).unwrap().action_target(), + ActionTarget::Messages(vec![41]) + ); + + // Mail the account sent is named by its recipients. + let sent = message_summary( + "person@example.com", + &["maya@example.com", "alex@example.com"], + true, + ); + let row = message_summary_to_message(sent, &[test_account()], "Sent").unwrap(); + assert_eq!(row.sender, "maya@example.com, alex@example.com"); + assert_eq!(row.address, "maya@example.com"); + } + #[test] fn thread_summary_projects_participants_and_message_count() { let thread = ThreadSummary { @@ -3050,6 +3412,7 @@ mod tests { assert_eq!(row.sender, "Maya, Alex +1"); assert_eq!(row.address, "maya@example.com"); + assert_eq!(MailTarget::of(&row), Some(MailTarget::Thread(22))); assert_eq!(row.subject, "Launch review"); assert_eq!(row.message_count, 4); assert_eq!(row.id, 22); diff --git a/src/mail_view_model.rs b/src/mail_view_model.rs index 40cbd973..514cc729 100644 --- a/src/mail_view_model.rs +++ b/src/mail_view_model.rs @@ -1785,6 +1785,7 @@ mod tests { MailMessage { id, thread_id: Some(i64::from(id)), + message_id: None, account_id: 1, account: String::new(), folder: String::new(), diff --git a/src/mail_work.rs b/src/mail_work.rs index 55807045..25b3c19a 100644 --- a/src/mail_work.rs +++ b/src/mail_work.rs @@ -66,22 +66,20 @@ impl Operation { _ => false, } } - async fn perform(&self, core: &CoreMailSource, thread: i64) -> Result<(), String> { + async fn perform(&self, core: &CoreMailSource, target: MailTarget) -> Result<(), String> { match self { - Self::Action(a) => core.perform_message_action(thread, a).await, + Self::Action(a) => core.perform_message_action(target, a).await, Self::EmptyTrash(account_id) => core.empty_trash(*account_id).await, - Self::Label(id, add) => core.perform_label_action(thread, *id, *add).await, + Self::Label(id, add) => core.perform_label_action(target, *id, *add).await, Self::Drop(MailDropDestination::Action(a)) => { - core.perform_message_action(thread, a).await - } - Self::Drop(MailDropDestination::Folder(id)) => { - core.move_thread_to_folder(thread, *id).await + core.perform_message_action(target, a).await } + Self::Drop(MailDropDestination::Folder(id)) => core.move_to_folder(target, *id).await, Self::Drop(MailDropDestination::Label(id)) => { - core.perform_label_action(thread, *id, true).await + core.perform_label_action(target, *id, true).await } Self::Drop(MailDropDestination::Route(tab)) => { - core.route_thread_to_tab(thread, tab.clone()).await + core.route_to_tab(target, tab.clone()).await } } } @@ -89,7 +87,7 @@ impl Operation { struct ActionRequest { core: CoreMailSource, epoch: u64, - operations: Vec<(i32, i64, Operation)>, + operations: Vec<(i32, MailTarget, Operation)>, } struct ActionResult { epoch: u64, @@ -138,9 +136,9 @@ pub(super) fn register( let result = collect_results( request.epoch, request.operations, - move |thread, operation| { + move |target, operation| { let core = core.clone(); - async move { operation.perform(&core, thread).await } + async move { operation.perform(&core, target).await } }, ) .await; @@ -372,7 +370,7 @@ fn load( pub(super) fn enqueue( state: &Rc>, core: CoreMailSource, - operations: Vec<(i32, i64, Operation)>, + operations: Vec<(i32, MailTarget, Operation)>, ) -> Result<(), String> { if operations.is_empty() { return Err("no message is selected".into()); @@ -435,11 +433,11 @@ pub(super) fn invalidate(state: &mut InboxState) { async fn collect_results( epoch: u64, - operations: Vec<(i32, i64, Operation)>, + operations: Vec<(i32, MailTarget, Operation)>, perform: F, ) -> ActionResult where - F: Fn(i64, Operation) -> Fut, + F: Fn(MailTarget, Operation) -> Fut, Fut: std::future::Future>, { let mut result = ActionResult { @@ -450,11 +448,11 @@ where error: None, deletion_queued: false, }; - for (id, thread, operation) in operations { + for (id, target, operation) in operations { let deletion = operation.queues_permanent_deletion(); result.ids.push(id); let moves = operation.moves(); - match perform(thread, operation).await { + match perform(target, operation).await { Ok(()) => { result.deletion_queued |= deletion; result.completed.push(id); @@ -527,14 +525,25 @@ mod tests { let result = collect_results( 7, vec![ - (1, 101, Operation::Action("archive".into())), - (2, 102, Operation::Action("trash".into())), - (3, 103, Operation::Action("star".into())), + ( + 1, + MailTarget::Thread(101), + Operation::Action("archive".into()), + ), + ( + 2, + MailTarget::Message { + id: 202, + thread_id: 102, + }, + Operation::Action("trash".into()), + ), + (3, MailTarget::Thread(103), Operation::Action("star".into())), ], - |thread, _| { - calls.borrow_mut().push(thread); + |target, _| { + calls.borrow_mut().push(target.thread_id()); async move { - if thread == 102 { + if target.thread_id() == 102 { Err("database busy".into()) } else { Ok(()) @@ -557,7 +566,11 @@ mod tests { let worker_gate = gate.clone(); let worker = tokio::spawn(collect_results( 0, - vec![(1, 101, Operation::Action("archive".into()))], + vec![( + 1, + MailTarget::Thread(101), + Operation::Action("archive".into()), + )], move |_, _| { let gate = worker_gate.clone(); async move { diff --git a/src/main.rs b/src/main.rs index 3eb65ae0..f2888820 100644 --- a/src/main.rs +++ b/src/main.rs @@ -98,14 +98,14 @@ use flectar_mail_core::models::ThreadCursor; use flectar_mail_core::models::{ Account, AccountConfig, AddPasswordAccountArgs, CalendarConnection, CardDavConnection, ConnectionSecurity, ContactRecord, ContactRecordCursor, ContactRecordPage, CreateEventArgs, - DraftAttachmentIn, Label, MailConnectionSettings, MailProfile, MailProtocol, Provider, - Settings, Snippet, UpdateEventArgs, + DraftAttachmentIn, Label, MailConnectionSettings, MailGrouping, MailProfile, MailProtocol, + Provider, Settings, Snippet, UpdateEventArgs, }; #[cfg(test)] use mail::fixture_messages; use mail::{ - ComposeMessage, ComposeSource, CoreMailSource, MailCursor, MailMessage, MailboxEntry, - display_preview, + ComposeMessage, ComposeSource, CoreMailSource, MailCursor, MailMessage, MailTarget, + MailboxEntry, display_preview, }; use mail_groups::{ MailGroupState, mail_group_key, mail_list_entry_key, project_mail_list, same_mail_list_entry, @@ -121,7 +121,7 @@ use sidebar_model::{SidebarAnimation, SidebarModel, refresh_sidebar, refresh_sid use slint::{DataTransfer, Image, Model, ModelRc, Rgba8Pixel, SharedPixelBuffer, Timer, VecModel}; use startup::{ PendingCoreUpdates, StartupCalendarSnapshot, StartupSnapshot, StartupUpdate, - WarmStartCacheWriter, WarmStartProjection, WarmStartSnapshot, apply_settings, + WarmStartCacheWriter, WarmStartCursor, WarmStartProjection, WarmStartSnapshot, apply_settings, apply_warm_start_snapshot, load_startup_calendar_snapshot, load_startup_mail_metadata, load_startup_snapshot, load_warm_start_snapshot, spawn_core_event_listener, }; @@ -681,6 +681,8 @@ struct InboxState { remote_images_enabled: bool, remote_images_override_id: Option, mark_read_on_open: bool, + /// Whether the mail list shows conversations or each message on its own. + grouping: MailGrouping, warm_start_cache: WarmStartCacheWriter, } @@ -746,7 +748,7 @@ fn resolve_single_mail_drop( target_scope: Scope, target_account_id: i32, target_folder_id: i32, -) -> Result<(i64, MailDropDestination), String> { +) -> Result<(MailTarget, MailDropDestination), String> { if !state.using_core || state.core.is_none() { return Err("mail account is not ready".to_owned()); } @@ -755,9 +757,8 @@ fn resolve_single_mail_drop( .iter() .find(|message| message.id == item.message_id) .ok_or_else(|| "message is no longer available".to_owned())?; - let thread_id = message - .thread_id - .ok_or_else(|| "message thread is unavailable".to_owned())?; + let target = + MailTarget::of(message).ok_or_else(|| "message thread is unavailable".to_owned())?; if message.account_id != i64::from(item.account_id) { return Err("dragged message account is stale".to_owned()); } @@ -877,7 +878,7 @@ fn resolve_single_mail_drop( } }; - Ok((thread_id, destination)) + Ok((target, destination)) } fn resolve_mail_drop( @@ -886,7 +887,7 @@ fn resolve_mail_drop( target_scope: Scope, target_account_id: i32, target_folder_id: i32, -) -> Result, String> { +) -> Result, String> { if payload.items.is_empty() { return Err("no messages were dragged".to_owned()); } @@ -901,7 +902,7 @@ fn resolve_mail_drop( target_account_id, target_folder_id, ) - .map(|(thread_id, destination)| (item.message_id, thread_id, destination)) + .map(|(target, destination)| (item.message_id, target, destination)) }) .collect() } @@ -938,11 +939,56 @@ fn perform_mail_drop( core, operations .into_iter() - .map(|(id, thread, destination)| (id, thread, mail_work::Operation::Drop(destination))) + .map(|(id, target, destination)| (id, target, mail_work::Operation::Drop(destination))) .collect(), ) } +/// Show conversations, or each message on its own. The list starts over like +/// a newly chosen mailbox, and tabs forget the conversations or messages they +/// had open, whose ids belong to the other grouping. Returns whether the +/// grouping changed. +fn apply_mail_grouping( + app: &AppWindow, + state: &Rc>, + runtime: &tokio::runtime::Runtime, + grouping: MailGrouping, +) -> bool { + app.set_conversation_view(grouping == MailGrouping::Conversations); + let core = state.borrow().core.clone(); + let changed = core.is_some_and(|core| core.set_grouping(grouping)); + if state.borrow().grouping == grouping && !changed { + return false; + } + { + let mut state = state.borrow_mut(); + state.grouping = grouping; + state.pending_selection = None; + state.pending_selection_opens = false; + state.restore_thread_message = None; + state.mail_groups.clear(); + state.page = 1; + state.next_cursor = None; + state.selected_id = None; + state.checked_ids.clear(); + state.preview_closed = true; + state.conversation_owner_id = None; + state.conversation_messages.clear(); + state.conversation_selected_index = 0; + } + let tabs = app.global::(); + tabs.set_list_offset(0.0); + tabs.set_list_restore(-1.0); + tabs.invoke_regroup(); + // Single-pane layouts go back to the list, as for a tab with nothing open. + tabs.set_shown_conversation(false); + tabs.set_shown(tabs.get_shown().wrapping_add(1)); + if changed && let Err(error) = refresh_from_source(app, state, runtime, false, &[]) { + app.set_render_status(UiMessage::detail("Mail refresh failed: {}", error)); + } + true +} + fn perform_mail_list_action( _app: &AppWindow, state: &Rc>, @@ -975,9 +1021,8 @@ fn perform_mail_list_action( return None; } Some( - message - .thread_id - .map(|thread_id| (id, thread_id)) + MailTarget::of(message) + .map(|target| (id, target)) .ok_or_else(|| "message thread is unavailable".to_owned()), ) }) @@ -996,7 +1041,7 @@ fn perform_mail_list_action( core, operations .into_iter() - .map(|(id, thread)| (id, thread, mail_work::Operation::Action(action.to_owned()))) + .map(|(id, target)| (id, target, mail_work::Operation::Action(action.to_owned()))) .collect(), ) } @@ -1154,6 +1199,7 @@ impl InboxState { remote_images_enabled, remote_images_override_id: None, mark_read_on_open: true, + grouping: MailGrouping::Conversations, warm_start_cache, } } @@ -1260,10 +1306,8 @@ impl InboxState { .save(WarmStartSnapshot::capture(WarmStartProjection { scope: self.scope, inbox_count: self.inbox_count, - next_cursor: self.next_cursor.and_then(|cursor| match cursor { - MailCursor::Thread(cursor) => Some(cursor), - MailCursor::Search(_) => None, - }), + grouping: self.grouping, + next_cursor: self.next_cursor.and_then(WarmStartCursor::of), accounts: &self.connected_accounts, profile_accounts: self.profile_accounts.as_deref(), messages: &self.messages, @@ -1424,7 +1468,11 @@ fn spawn_startup_load( } } } - let warm = load_warm_start_snapshot(&paths.warm_start_file()).await; + // Rows saved in the other grouping would be replaced at once. + let grouping = flectar_mail_core::startup_presentation(&paths).grouping; + let warm = load_warm_start_snapshot(&paths.warm_start_file()) + .await + .filter(|snapshot| snapshot.grouping == grouping); let preferred_scope = warm .as_ref() .map_or(Scope::UNIFIED_INBOX, |snapshot| snapshot.scope); @@ -4214,6 +4262,7 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> state.mark_read_on_open = settings .as_ref() .is_none_or(|settings| settings.mark_read_on_open); + state.grouping = core.grouping(); state.favicon_loader = if allow_remote_images { match FaviconLoader::new(&startup_paths_for_ui.cache_dir) { Ok(loader) => Some(loader), @@ -5559,9 +5608,19 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> let operations = match (account_id, &state.profile_accounts) { (None, Some(accounts)) => accounts .iter() - .map(|account| (-1, 0, mail_work::Operation::EmptyTrash(Some(*account)))) + .map(|account| { + ( + -1, + MailTarget::Thread(0), + mail_work::Operation::EmptyTrash(Some(*account)), + ) + }) .collect(), - (account_id, _) => vec![(-1, 0, mail_work::Operation::EmptyTrash(account_id))], + (account_id, _) => vec![( + -1, + MailTarget::Thread(0), + mail_work::Operation::EmptyTrash(account_id), + )], }; state.core.clone().map(|core| (core, operations)) }; @@ -5579,23 +5638,23 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> let Some(app) = app_weak.upgrade() else { return; }; - let (core, selected_id, thread_id) = { + let (core, selected_id, target) = { let state = state_for_label.borrow(); - let thread_id = state + let target = state .selected_id .and_then(|id| state.messages.iter().find(|message| message.id == id)) - .and_then(|message| message.thread_id); - (state.core.clone(), state.selected_id, thread_id) + .and_then(MailTarget::of); + (state.core.clone(), state.selected_id, target) }; let result = (|| { let core = core.ok_or_else(|| "mail core is unavailable".to_owned())?; - let thread_id = thread_id.ok_or_else(|| "no message is selected".to_owned())?; + let target = target.ok_or_else(|| "no message is selected".to_owned())?; mail_work::enqueue( &state_for_label, core, vec![( selected_id.unwrap(), - thread_id, + target, mail_work::Operation::Label(i64::from(label_id), applied), )], ) @@ -5613,14 +5672,14 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> let Some(app) = app_weak.upgrade() else { return; }; - let (core, thread_id, selected_account_id, parent_path) = { + let (core, target, selected_account_id, parent_path) = { let state = state_for_save_label.borrow(); let selected = state .selected_id .and_then(|id| state.messages.iter().find(|message| message.id == id)); ( state.core.clone(), - selected.and_then(|message| message.thread_id), + selected.and_then(MailTarget::of), selected.map(|message| message.account_id), if parent_label_id >= 0 { state @@ -5680,9 +5739,9 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> }, ))?; if existing_id.is_none() && owner_account_id < 0 { - let thread_id = thread_id.ok_or_else(|| "no message is selected".to_owned())?; + let target = target.ok_or_else(|| "no message is selected".to_owned())?; runtime_for_save_label - .block_on(core.perform_label_action(thread_id, label.id, true))?; + .block_on(core.perform_label_action(target, label.id, true))?; } refresh_from_source( &app, @@ -7875,16 +7934,19 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> // Automatic read marking must never wait for SQLite or a page refresh // inside the pointer callback. A bounded, serial worker preserves requests. - let (mark_read_tx, mut mark_read_rx) = tokio::sync::mpsc::channel::<(CoreMailSource, i64)>(64); - let (read_result_tx, read_result_rx) = bounded_ui_channel::<(i64, Result<(), String>)>(); + // A conversation's row marks the conversation read; a single message's + // row marks only that message. + let (mark_read_tx, mut mark_read_rx) = + tokio::sync::mpsc::channel::<(CoreMailSource, MailTarget)>(64); + let (read_result_tx, read_result_rx) = bounded_ui_channel::<(MailTarget, Result<(), String>)>(); let read_results = UiSender::new( read_result_tx, UiWake::new(app.as_weak(), |app| app.invoke_drain_read_updates()), ); runtime.spawn(async move { - while let Some((core, thread_id)) = mark_read_rx.recv().await { - let result = core.perform_message_action(thread_id, "mark_read").await; - let _ = read_results.send((thread_id, result)).await; + while let Some((core, target)) = mark_read_rx.recv().await { + let result = core.perform_message_action(target, "mark_read").await; + let _ = read_results.send((target, result)).await; } }); let pending_reads = Rc::new(RefCell::new(HashSet::new())); @@ -7892,8 +7954,8 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> let read_result_rx = Rc::new(RefCell::new(read_result_rx)); let read_app = app.as_weak(); app.on_drain_read_updates(move || { - while let Ok((thread_id, result)) = read_result_rx.borrow_mut().try_recv() { - pending_reads_for_results.borrow_mut().remove(&thread_id); + while let Ok((target, result)) = read_result_rx.borrow_mut().try_recv() { + pending_reads_for_results.borrow_mut().remove(&target); // Successful mutations publish CoreEvent updates, which use the // existing asynchronous list refresh and preserve the current selection. if let Err(error) = result @@ -7925,7 +7987,7 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> .messages .iter() .find(|row| row.id == id && row.unread) - .and_then(|row| row.thread_id), + .and_then(MailTarget::of), ) }; match select_message(&app, &state_for_selection, &runtime_for_selection, id) { @@ -7935,14 +7997,9 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> return; } }; - if let Some((core, thread_id)) = read_target - && ui_dispatch::enqueue_once( - &mark_read_tx, - &pending_reads, - thread_id, - (core, thread_id), - ) - .is_err() + if let Some((core, target)) = read_target + && ui_dispatch::enqueue_once(&mark_read_tx, &pending_reads, target, (core, target)) + .is_err() { app.set_render_status(UiMessage::detail( "Could not mark message as read: {}", diff --git a/src/settings_controller.rs b/src/settings_controller.rs index dfd3b70a..c2132f62 100644 --- a/src/settings_controller.rs +++ b/src/settings_controller.rs @@ -520,6 +520,42 @@ pub(super) fn register_settings_preference_callbacks( } }); + let app_weak = app.as_weak(); + let state_for_grouping = Rc::clone(state); + let runtime_for_grouping = Rc::clone(runtime); + app.on_save_conversation_view(move |enabled| { + let Some(app) = app_weak.upgrade() else { + return; + }; + let grouping = if enabled { + MailGrouping::Conversations + } else { + MailGrouping::Messages + }; + apply_mail_grouping(&app, &state_for_grouping, &runtime_for_grouping, grouping); + let Some(core) = state_for_grouping.borrow().core.clone() else { + app.set_sync_status(UiMessage::plain( + "Conversation view updated for this session.", + )); + return; + }; + match runtime_for_grouping.block_on(core.set_conversation_view(enabled)) { + Ok(()) => app.set_sync_status(UiMessage::plain("Conversation view preference saved.")), + Err(error) => { + let previous = if enabled { + MailGrouping::Messages + } else { + MailGrouping::Conversations + }; + apply_mail_grouping(&app, &state_for_grouping, &runtime_for_grouping, previous); + app.set_sync_status(UiMessage::detail( + "Could not save conversation view preference: {}", + error, + )); + } + } + }); + let app_weak = app.as_weak(); let state_for_date_groups = Rc::clone(state); let runtime_for_date_groups = Rc::clone(runtime); diff --git a/src/startup.rs b/src/startup.rs index 2956389a..0639763b 100644 --- a/src/startup.rs +++ b/src/startup.rs @@ -20,8 +20,8 @@ use flectar_mail_core::{ config::Paths, events::CoreEvent, models::{ - Account, AccountConfig, CalendarConnection, CardDavConnection, Settings, ThreadCursor, - normalized_workspace_list_pane_width, + Account, AccountConfig, CalendarConnection, CardDavConnection, MailGrouping, MessageCursor, + Settings, ThreadCursor, normalized_workspace_list_pane_width, }, }; use serde::{Deserialize, Serialize}; @@ -38,7 +38,8 @@ use tokio::io::AsyncReadExt; // Version 4 keys account mailboxes by id instead of display name. Version 5 // stores the provider and mail protocol names of the current account model. // Version 6 keeps message dates as timestamps instead of English text. -const WARM_START_FORMAT_VERSION: u32 = 6; +// Version 7 records whether the rows are conversations or single messages. +const WARM_START_FORMAT_VERSION: u32 = 7; const MAX_WARM_START_BYTES: u64 = 2 * 1024 * 1024; const MAX_WARM_START_ACCOUNTS: usize = 64; const MAX_WARM_START_MESSAGES: usize = 25; @@ -48,6 +49,8 @@ const MAX_WARM_START_MAILBOXES: usize = 512; pub(crate) struct WarmStartMessage { pub(crate) id: i32, pub(crate) thread_id: Option, + #[serde(default)] + pub(crate) message_id: Option, #[serde(default = "missing_folder_id")] pub(crate) account_id: i64, pub(crate) account: String, @@ -82,6 +85,7 @@ impl From<&mail::MailMessage> for WarmStartMessage { Self { id: message.id, thread_id: message.thread_id, + message_id: message.message_id, account_id: message.account_id, account: message.account.clone(), folder: message.folder.clone(), @@ -110,6 +114,7 @@ impl From for mail::MailMessage { Self { id: message.id, thread_id: message.thread_id, + message_id: message.message_id, account_id: message.account_id, account: message.account, folder: message.folder, @@ -234,13 +239,42 @@ impl From for mail::MailboxEntry { } } +/// Where the saved rows' mailbox continues: after a conversation, or after a +/// message in lists without conversations. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub(crate) enum WarmStartCursor { + Thread(ThreadCursor), + Message(MessageCursor), +} + +impl WarmStartCursor { + /// Search results are not saved, so neither is a search cursor. + pub(crate) fn of(cursor: MailCursor) -> Option { + match cursor { + MailCursor::Thread(cursor) => Some(Self::Thread(cursor)), + MailCursor::Message(cursor) => Some(Self::Message(cursor)), + MailCursor::Search(_) | MailCursor::MessageSearch(_) => None, + } + } + + fn mail_cursor(self) -> MailCursor { + match self { + Self::Thread(cursor) => MailCursor::Thread(cursor), + Self::Message(cursor) => MailCursor::Message(cursor), + } + } +} + #[derive(Clone, Debug, Serialize, Deserialize)] pub(crate) struct WarmStartSnapshot { format_version: u32, pub(crate) saved_at_ms: i64, pub(crate) scope: Scope, pub(crate) inbox_count: usize, - pub(crate) next_cursor: Option, + /// Whether the saved rows are conversations or single messages. + pub(crate) grouping: MailGrouping, + pub(crate) next_cursor: Option, pub(crate) accounts: Vec, /// The active profile's accounts, which the saved rows show. #[serde(default)] @@ -253,7 +287,8 @@ pub(crate) struct WarmStartSnapshot { pub(crate) struct WarmStartProjection<'a> { pub(crate) scope: Scope, pub(crate) inbox_count: usize, - pub(crate) next_cursor: Option, + pub(crate) grouping: MailGrouping, + pub(crate) next_cursor: Option, pub(crate) accounts: &'a [Account], pub(crate) profile_accounts: Option<&'a [i64]>, pub(crate) messages: &'a [mail::MailMessage], @@ -275,6 +310,7 @@ impl WarmStartSnapshot { saved_at_ms: chrono::Utc::now().timestamp_millis(), scope: projection.scope, inbox_count: projection.inbox_count, + grouping: projection.grouping, next_cursor: projection.next_cursor, accounts: projection .accounts @@ -359,7 +395,8 @@ pub(crate) fn apply_warm_start_snapshot( let _ = state.set_connected_accounts(snapshot.accounts); state.set_scope(snapshot.scope); state.inbox_count = snapshot.inbox_count; - state.next_cursor = snapshot.next_cursor.map(MailCursor::Thread); + state.grouping = snapshot.grouping; + state.next_cursor = snapshot.next_cursor.map(WarmStartCursor::mail_cursor); state.messages = snapshot .messages .into_iter() @@ -578,6 +615,12 @@ pub(crate) async fn load_startup_snapshot( metrics.emit("core_opened", serde_json::Value::Null); // The first page shows only the active profile's accounts. let settings = core.load_settings().await.ok(); + // The first page is listed the way the saved preference groups mail. + let _ = core.set_grouping( + settings + .as_ref() + .map_or(MailGrouping::Conversations, Settings::mail_grouping), + ); let _ = core.set_profile_accounts(settings.as_ref().and_then(|settings| { AccountPresentationSettings::from_settings(settings).active_profile_accounts() })); @@ -773,6 +816,7 @@ pub(crate) fn apply_settings(app: &AppWindow, settings: &Settings) { app.set_show_avatars(settings.show_avatars); app.set_group_mail_by_date(settings.group_mail_by_date); app.set_show_tabs(settings.show_tabs); + app.set_conversation_view(settings.conversation_view); app.set_show_account_markers(settings.show_account_badges); app.set_workspace_layout( match settings.workspace_layout.as_str() { @@ -981,6 +1025,7 @@ mod warm_start_tests { WarmStartSnapshot::capture(WarmStartProjection { scope: Scope::UNIFIED_INBOX, inbox_count: 3, + grouping: MailGrouping::Conversations, next_cursor: None, accounts: &[account()], profile_accounts: None, @@ -1136,6 +1181,7 @@ mod warm_start_tests { mail::MailMessage { id: 9, thread_id: Some(19), + message_id: None, account_id: 7, account: "Person".into(), folder: "Inbox".into(), @@ -1205,10 +1251,11 @@ mod warm_start_tests { let snapshot = WarmStartSnapshot::capture(WarmStartProjection { scope: PERSON_INBOX, inbox_count: 3, - next_cursor: Some(ThreadCursor { - last_message_at: 123, - thread_id: 7, - }), + grouping: MailGrouping::Messages, + next_cursor: Some(WarmStartCursor::Message(MessageCursor { + date: 123, + message_id: 9, + })), accounts: &accounts, profile_accounts: Some(&[7]), messages: &messages, @@ -1226,6 +1273,14 @@ mod warm_start_tests { let restored = load_warm_start_snapshot(&path).await.unwrap(); assert_eq!(restored.scope, PERSON_INBOX); + assert_eq!(restored.grouping, MailGrouping::Messages); + assert_eq!( + restored.next_cursor, + Some(WarmStartCursor::Message(MessageCursor { + date: 123, + message_id: 9, + })) + ); assert_eq!(restored.profile_accounts, Some(vec![7])); assert_eq!(restored.messages.len(), 1); let restored_message = mail::MailMessage::from(restored.messages[0].clone()); @@ -1278,6 +1333,7 @@ mod warm_start_tests { let snapshot = WarmStartSnapshot::capture(WarmStartProjection { scope: Scope::UNIFIED_INBOX, inbox_count: messages.len(), + grouping: MailGrouping::Conversations, next_cursor: None, accounts: &accounts, profile_accounts: None, @@ -1292,7 +1348,7 @@ mod warm_start_tests { #[test] fn benchmark_warm_cache_fixture_matches_the_current_format() { let snapshot: WarmStartSnapshot = serde_json::from_str(include_str!( - "../resources/benchmarks/warm-cache/warm-start-mailbox-v6.json" + "../resources/benchmarks/warm-cache/warm-start-mailbox-v7.json" )) .unwrap(); @@ -1300,5 +1356,6 @@ mod warm_start_tests { assert_eq!(snapshot.messages.len(), 3); // Caches written before profiles filtered mail show every account. assert_eq!(snapshot.profile_accounts, None); + assert_eq!(snapshot.grouping, MailGrouping::Conversations); } } diff --git a/src/tabs.rs b/src/tabs.rs index b1e27aff..ba1c5ea1 100644 --- a/src/tabs.rs +++ b/src/tabs.rs @@ -680,6 +680,8 @@ pub(crate) fn register(app: &AppWindow, context: TabContext) { } }); let owner = Rc::clone(&tabs); + global.on_regroup(move || owner.regroup()); + let owner = Rc::clone(&tabs); global.on_navigated(move || { if owner.restored.get() { owner.schedule_save(); @@ -1443,6 +1445,39 @@ impl Tabs { self.changed(); } + /// Mail is grouped differently: an open conversation's id, a message's + /// in lists without conversations, and the rows and positions tabs kept + /// all belong to the old grouping. Tabs keep their mailboxes and searches, + /// and are written at once, so no old id is ever read in the new grouping. + fn regroup(&self) { + fn forget_open(place: &mut Place, title: &mut String) { + if let Location::Mail { conversation, .. } = &mut place.location + && conversation.take().is_some() + { + title.clear(); + } + place.thread_message = None; + place.account = None; + place.scroll = Scroll::default(); + place.unseen = false; + } + self.reader_timer.stop(); + self.reader_restore.set(None); + { + let mut strip = self.strip.borrow_mut(); + for tab in &mut strip.tabs { + forget_open(&mut tab.place, &mut tab.title); + tab.rows = None; + } + for closed in &mut strip.closed { + forget_open(&mut closed.place, &mut closed.title); + } + } + self.publish(); + self.save_timer.stop(); + self.save(true); + } + /// Publish rows, then save once the tab strip has been quiet briefly. fn changed(&self) { self.publish(); @@ -2443,6 +2478,58 @@ mod tests { ); } + /// Ids of open conversations and of single messages are different ids: + /// after mail is grouped differently, no tab may reopen one by the other. + #[test] + fn regrouping_mail_forgets_what_tabs_had_open_and_saves_at_once() { + let (app, context, _dir, _) = headless(); + let path = context.path.clone(); + let tabs = Tabs::new(&app, context); + tabs.strip.borrow_mut().open( + Place { + location: Location::Mail { + scope: Scope::UNIFIED_INBOX, + query: "plans".into(), + filter: default_filter(), + conversation: Some(42), + }, + thread_message: Some(420), + account: Some(1), + scroll: Scroll { + list: 300.0, + reader: 80.0, + }, + unseen: true, + ..Place::default() + }, + "Plans".into(), + None, + ); + + tabs.regroup(); + + let strip = tabs.strip.borrow(); + let place = &strip.tabs[1].place; + assert_eq!(place.conversation(), None); + assert_eq!(place.thread_message, None); + assert_eq!(place.account, None); + assert_eq!(place.scroll, Scroll::default()); + assert!(!place.unseen); + assert!(strip.tabs[1].title.is_empty()); + assert!( + matches!(&place.location, Location::Mail { query, .. } if query == "plans"), + "the tab keeps its search" + ); + let saved = read_file(&path).expect("written at once"); + assert!(saved.tabs.iter().all(|tab| !matches!( + tab.location, + Location::Mail { + conversation: Some(_), + .. + } + ))); + } + #[test] fn a_removed_account_leaves_no_subject_in_the_tabs() { let (app, context, _dir, _) = headless(); diff --git a/src/ui_dispatch.rs b/src/ui_dispatch.rs index a47bc284..0adab6ea 100644 --- a/src/ui_dispatch.rs +++ b/src/ui_dispatch.rs @@ -83,10 +83,10 @@ impl UiSender { /// Enqueue UI-triggered work without blocking, deduplicating outstanding IDs. /// The caller removes IDs when completions arrive; rejection releases them here. -pub(crate) fn enqueue_once( +pub(crate) fn enqueue_once( sender: &mpsc::Sender, - pending: &std::cell::RefCell>, - id: i64, + pending: &std::cell::RefCell>, + id: K, request: T, ) -> Result<(), ()> { if !pending.borrow_mut().insert(id) { diff --git a/ui/app.slint b/ui/app.slint index 5ef526e8..6b196867 100644 --- a/ui/app.slint +++ b/ui/app.slint @@ -275,6 +275,9 @@ export global I18n { if (key == "Mail grouping is active for this session.") { return @tr("Mail grouping is active for this session."); } if (key == "Mail grouping preference saved.") { return @tr("Mail grouping preference saved."); } if (key == "Could not save mail grouping preference: {}") { return @tr("Could not save mail grouping preference: {}", argument); } + if (key == "Conversation view updated for this session.") { return @tr("Conversation view updated for this session."); } + if (key == "Conversation view preference saved.") { return @tr("Conversation view preference saved."); } + if (key == "Could not save conversation view preference: {}") { return @tr("Could not save conversation view preference: {}", argument); } if (key == "Profile changes require local mail data.") { return @tr("Profile changes require local mail data."); } if (key == "Profile saved.") { return @tr("Profile saved."); } if (key == "Could not save profile: {}") { return @tr("Could not save profile: {}", argument); } @@ -638,6 +641,7 @@ export component AppWindow inherits Window { callback save_custom_theme(color, color, color, color, color, color, color, color, color, color) -> bool; callback save_avatar_visibility(bool); callback save_show_tabs(bool); + callback save_conversation_view(bool); callback save_group_mail_by_date(bool); callback choose_download_directory(); callback clear_download_directory(); @@ -989,6 +993,8 @@ export component AppWindow inherits Window { // Show tabs: the desktop tab strip, or the compact tab switcher. in-out property show_tabs: true; in-out property group_mail_by_date: true; + // Group replies into conversations; off lists each message on its own. + in-out property conversation_view: true; in-out property show_account_markers: false; in-out property workspace_layout: "default"; in-out property workspace_list_pane_width: LayoutMetrics.list-pane-width; @@ -1931,6 +1937,7 @@ export component AppWindow inherits Window { show_avatars <=> root.show_avatars; show_tabs <=> root.show_tabs; group_mail_by_date <=> root.group_mail_by_date; + conversation_view <=> root.conversation_view; show_account_markers <=> root.show_account_markers; workspace_layout <=> root.workspace_layout; language_mode <=> root.language_mode; @@ -2043,6 +2050,7 @@ export component AppWindow inherits Window { save_sync_interval(minutes) => { root.save_sync_interval(minutes); } save_mark_read_on_open(enabled) => { root.save_mark_read_on_open(enabled); } save_group_mail_by_date(enabled) => { root.save_group_mail_by_date(enabled); } + save_conversation_view(enabled) => { root.save_conversation_view(enabled); } save_contact_discovery_settings(outgoing, incoming, all-accounts, suggest) => { root.save_contact_discovery_settings(outgoing, incoming, all-accounts, suggest); } diff --git a/ui/components/tabs-ui.slint b/ui/components/tabs-ui.slint index d20ac112..bea79a89 100644 --- a/ui/components/tabs-ui.slint +++ b/ui/components/tabs-ui.slint @@ -61,6 +61,9 @@ export global TabsUi { callback reset(); // An account was removed: tabs forget its mailboxes and conversations. callback account-removed(string); + // Mail is grouped differently now: tabs forget the conversations or + // messages they had open, whose ids belong to the old grouping. + callback regroup(); // Save every tab now, before the application exits. callback flush(); } diff --git a/ui/dialogs/settings-dialog.slint b/ui/dialogs/settings-dialog.slint index de00c573..34d0ea76 100644 --- a/ui/dialogs/settings-dialog.slint +++ b/ui/dialogs/settings-dialog.slint @@ -481,6 +481,7 @@ export component SettingsDialog inherits Rectangle { in-out property show_avatars: true; in-out property show_tabs: true; in-out property group_mail_by_date: true; + in-out property conversation_view: true; in-out property show_account_markers: false; in-out property workspace_layout: "default"; in-out property language_mode: "system"; @@ -582,6 +583,7 @@ export component SettingsDialog inherits Rectangle { callback save_avatar_visibility(bool); callback save_show_tabs(bool); callback save_group_mail_by_date(bool); + callback save_conversation_view(bool); callback choose_download_directory(); callback clear_download_directory(); // Save a profile's name and color, and make the checked accounts of @@ -710,7 +712,7 @@ export component SettingsDialog inherits Rectangle { pure function settings-section-visible(section: string) -> bool { if root.settings-search-query == "" { return true; } let terms = section == "General" - ? @tr("general theme appearance palette app icon dock taskbar launcher language time clock 12-hour 24-hour workspace layout window frameless title bar renderer privacy remote images sync group messages date inbox tray background startup sign in login download location folder attachments save tabs") + ? @tr("general theme appearance palette app icon dock taskbar launcher language time clock 12-hour 24-hour workspace layout window frameless title bar renderer privacy remote images sync group messages date inbox tray background startup sign in login download location folder attachments save tabs conversations threads") : section == "Accounts" ? @tr("accounts profiles personal work colors providers gmail outlook imap pop3 jmap caldav carddav mail history server oauth security signatures") : section == "Contacts" @@ -1231,7 +1233,7 @@ export component SettingsDialog inherits Rectangle { } Rectangle { - height: max(root.compact ? 324px : 262px, self.preferred-height); + height: max(root.compact ? 413px : 321px, self.preferred-height); background: root.surface; border-radius: 8px; border-width: 1px; @@ -1263,6 +1265,19 @@ export component SettingsDialog inherits Rectangle { } } Rectangle { height: 1px; background: root.border-subtle; } + SettingsSwitchRow { + compact: root.compact; + title: @tr("Conversation view"); + description: @tr("Group replies with the messages they answer. Turn this off to list, open and act on each message on its own."); + checked: root.conversation_view; + title-color: root.body-text; + description-color: root.faint-text; + toggled(checked) => { + root.conversation_view = checked; + root.save_conversation_view(checked); + } + } + Rectangle { height: 1px; background: root.border-subtle; } HorizontalBox { height: (root.compact ? 16px : 13px) + mark-read-title.height + mark-read-description.height; spacing: 16px;