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

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

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

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

No files matched your search

+100 -1
View File
@@ -14,7 +14,7 @@ use pdfs_core::cache::ContentCache;
use pdfs_core::config::AppDirs; use pdfs_core::config::AppDirs;
use pdfs_core::control::{ use pdfs_core::control::{
ConflictKeep, ErrorKind, MountKind, RefreshScope, Request as CtlRequest, ConflictKeep, ErrorKind, MountKind, RefreshScope, Request as CtlRequest,
Response as CtlResponse, RestoreItem as CtlRestoreItem, ShareEntryKind, SyncPhase, Response as CtlResponse, RestoreItem as CtlRestoreItem, ShareEntryKind, SyncIssue, SyncPhase,
pending_summary, pending_summary,
}; };
use pdfs_core::db::Db; use pdfs_core::db::Db;
@@ -677,6 +677,15 @@ enum SyncCmd {
}, },
/// List uploads and changes not yet on Proton Drive. /// List uploads and changes not yet on Proton Drive.
Queue, Queue,
/// List queued changes Proton Drive refused or that keep failing, and what to do.
Issues,
/// Save the content of a queued upload (by id from `sync queue`) to a file.
Export {
/// Queue id.
id: i64,
/// Where to save it: a new file, or an existing folder to save it in.
dest: PathBuf,
},
/// Retry a queued operation now (by id from `sync queue`), or every failed one. /// Retry a queued operation now (by id from `sync queue`), or every failed one.
Retry { Retry {
/// Queue id; omit to retry every failed operation. /// Queue id; omit to retry every failed operation.
@@ -1028,6 +1037,8 @@ fn cmd_sync(action: SyncCmd) -> Result<()> {
})?)? })?)?
} }
SyncCmd::Queue => return cmd_sync_queue(), SyncCmd::Queue => return cmd_sync_queue(),
SyncCmd::Issues => return cmd_sync_issues(),
SyncCmd::Export { id, dest } => return cmd_sync_export(id, &dest),
SyncCmd::Limit { up, down } => return cmd_sync_limit(up, down), SyncCmd::Limit { up, down } => return cmd_sync_limit(up, down),
SyncCmd::Retry { id } => ok_or_bail(control_request(CtlRequest::RetryPendingOp { id })?)?, SyncCmd::Retry { id } => ok_or_bail(control_request(CtlRequest::RetryPendingOp { id })?)?,
SyncCmd::Resume { folder: None } => { SyncCmd::Resume { folder: None } => {
@@ -1106,6 +1117,9 @@ fn cmd_sync_queue() -> Result<()> {
(false, _) => "due now".to_string(), (false, _) => "due now".to_string(),
}; };
println!("[{}] {} {} ({state})", op.id, op.kind, op.path); println!("[{}] {} {} ({state})", op.id, op.kind, op.path);
if let Some(issue) = op.issue {
println!(" needs attention: {}", issue_text(issue));
}
if let Some(error) = &op.last_error { if let Some(error) = &op.last_error {
println!(" failed {} time(s): {error}", op.attempts); println!(" failed {} time(s): {error}", op.attempts);
} }
@@ -1117,6 +1131,91 @@ fn cmd_sync_queue() -> Result<()> {
Ok(()) Ok(())
} }
/// `pdfs sync issues`: the queued changes that need the user, and what to do.
fn cmd_sync_issues() -> Result<()> {
let response = control_request(CtlRequest::ListPendingOps)?;
let items = match response {
CtlResponse::PendingOps { items } => items,
CtlResponse::Error { message, kind } => bail!("{}", cli_error(kind, &message)),
other => bail!("unexpected response: {other:?}"),
};
let issues: Vec<_> = items.into_iter().filter(|op| op.failing).collect();
if json_enabled() {
println!("{}", serde_json::to_string_pretty(&issues)?);
return Ok(());
}
if issues.is_empty() {
println!("No sync issues.");
return Ok(());
}
for op in issues {
println!("[{}] {} {}", op.id, op.kind, op.path);
match op.issue {
Some(issue) => println!(" {}", issue_text(issue)),
None => println!(" keeps failing; it is retried."),
}
if let Some(error) = &op.last_error {
println!(" last error: {error}");
}
if op.exportable {
println!(
" save a copy: pdfs sync export {} <file or folder>",
op.id
);
}
}
Ok(())
}
/// What a sync issue means, and what the user can do about it.
fn issue_text(issue: SyncIssue) -> &'static str {
match issue {
SyncIssue::Quota => {
"Proton Drive storage is full. Free up space or upgrade; the change is retried."
}
SyncIssue::Access => {
"you can no longer change this on Proton Drive, for example because a share was \
revoked. Save a copy to keep the content."
}
SyncIssue::Missing => {
"the file or its folder is gone from Proton Drive. Save a copy to keep the content."
}
SyncIssue::Limit => {
"the folder holds too many items or is nested too deep. Move the file to another \
folder."
}
SyncIssue::Rejected => {
"Proton Drive rejected the change, for example the name. Rename the file."
}
SyncIssue::Unknown => "Proton Drive refused the change.",
}
}
/// `pdfs sync export`: save a queued upload's content. A folder as `dest`
/// gets the file under its own name.
fn cmd_sync_export(id: i64, dest: &Path) -> Result<()> {
let mut dest =
std::path::absolute(dest).with_context(|| format!("resolving {}", dest.display()))?;
if dest.is_dir() {
let items = match control_request(CtlRequest::ListPendingOps)? {
CtlResponse::PendingOps { items } => items,
CtlResponse::Error { message, kind } => bail!("{}", cli_error(kind, &message)),
other => bail!("unexpected response: {other:?}"),
};
let Some(op) = items.iter().find(|op| op.id == id) else {
bail!("no queued change {id}; see `pdfs sync queue`");
};
let name = Path::new(&op.path)
.file_name()
.with_context(|| format!("{} has no file name", op.path))?;
dest.push(name);
}
ok_or_bail(control_request(CtlRequest::ExportPendingOp {
id,
dest: dest.display().to_string(),
})?)
}
/// `pdfs sync restore`: list what this machine's device holds, confirm where /// `pdfs sync restore`: list what this machine's device holds, confirm where
/// each folder should land, then hand the mapping to the daemon. /// each folder should land, then hand the mapping to the daemon.
/// ///
+83
View File
@@ -477,6 +477,10 @@ pub enum Request {
/// Retry a backed-off queued op now instead of waiting out its backoff; /// Retry a backed-off queued op now instead of waiting out its backoff;
/// every failed op when `id` is `None`. Replies with [`Response::Ok`]. /// every failed op when `id` is `None`. Replies with [`Response::Ok`].
RetryPendingOp { id: Option<i64> }, RetryPendingOp { id: Option<i64> },
/// Copy the content of a queued upload (`id` from
/// [`Request::ListPendingOps`]) to `dest`, an absolute path that must not
/// exist yet. The op stays queued. Replies with [`Response::Ok`].
ExportPendingOp { id: i64, dest: String },
/// List the `(sync-conflict …)` copies under My Files and in synced /// List the `(sync-conflict …)` copies under My Files and in synced
/// folders. Replies with /// folders. Replies with
/// [`Response::Conflicts`]. /// [`Response::Conflicts`].
@@ -880,6 +884,59 @@ pub struct PendingOpInfo {
pub parked: bool, pub parked: bool,
/// Failed often enough to count as stuck. /// Failed often enough to count as stuck.
pub failing: bool, pub failing: bool,
/// Why Drive refused it, when it did; such an op needs attention at once.
#[serde(default)]
pub issue: Option<SyncIssue>,
/// Carries file content that [`Request::ExportPendingOp`] can save.
#[serde(default)]
pub exportable: bool,
}
/// Why Drive refused a queued change (in [`PendingOpInfo`]). The change stays
/// queued and keeps being retried; nothing is deleted.
#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq)]
#[serde(rename_all = "snake_case")]
pub enum SyncIssue {
/// The account's storage is full.
Quota,
/// The account may no longer change the file or its folder, for example
/// because a share was revoked.
Access,
/// The file or the folder it goes into is gone from Drive.
Missing,
/// The folder holds too many items, or is nested too deep.
Limit,
/// Drive rejected the change, for example a name it does not accept.
Rejected,
/// An issue from a newer daemon.
#[serde(other)]
Unknown,
}
impl SyncIssue {
/// The name stored in the database and sent on the wire.
pub fn as_str(self) -> &'static str {
match self {
SyncIssue::Quota => "quota",
SyncIssue::Access => "access",
SyncIssue::Missing => "missing",
SyncIssue::Limit => "limit",
SyncIssue::Rejected => "rejected",
SyncIssue::Unknown => "unknown",
}
}
/// The issue stored as `name`.
pub fn parse(name: &str) -> Self {
match name {
"quota" => SyncIssue::Quota,
"access" => SyncIssue::Access,
"missing" => SyncIssue::Missing,
"limit" => SyncIssue::Limit,
"rejected" => SyncIssue::Rejected,
_ => SyncIssue::Unknown,
}
}
} }
/// One synced local folder on this machine's device (in [`Response::SyncFolders`]). /// One synced local folder on this machine's device (in [`Response::SyncFolders`]).
@@ -3290,6 +3347,13 @@ mod tests {
}, },
r#"{"SaveRevisionAsByUid":{"uid":"vol~link","revision_id":"rev-3","dest":"/tmp/out.bin"}}"#, r#"{"SaveRevisionAsByUid":{"uid":"vol~link","revision_id":"rev-3","dest":"/tmp/out.bin"}}"#,
), ),
(
Request::ExportPendingOp {
id: 7,
dest: "/tmp/out.bin".into(),
},
r#"{"ExportPendingOp":{"id":7,"dest":"/tmp/out.bin"}}"#,
),
]; ];
for (request, wire) in cases { for (request, wire) in cases {
assert_eq!(serde_json::to_string(&request).unwrap(), wire); assert_eq!(serde_json::to_string(&request).unwrap(), wire);
@@ -3298,6 +3362,25 @@ mod tests {
} }
} }
/// A daemon that predates sync issues sends neither field, and a newer one
/// may send an issue this build does not know.
#[test]
fn a_queued_op_from_another_daemon_version_still_decodes() {
let old = r#"{"id":1,"kind":"create","path":"a.txt","attempts":0,"last_error":null,
"queued_at":5,"next_attempt_at":5,"parked":false,"failing":false}"#;
let op: PendingOpInfo = serde_json::from_str(old).unwrap();
assert_eq!(op.issue, None);
assert!(!op.exportable);
let newer = old.replace(r#""failing":false"#, r#""failing":true,"issue":"embargo""#);
let op: PendingOpInfo = serde_json::from_str(&newer).unwrap();
assert_eq!(op.issue, Some(SyncIssue::Unknown));
assert_eq!(
SyncIssue::parse(SyncIssue::Quota.as_str()),
SyncIssue::Quota
);
}
/// A front-end that predates the favorites filter sends no `favorites` /// A front-end that predates the favorites filter sends no `favorites`
/// field, and must keep getting the whole timeline rather than an empty page. /// field, and must keep getting the whole timeline rather than an empty page.
#[test] #[test]
+23 -1
View File
@@ -11,7 +11,7 @@ use super::Db;
use crate::Result; use crate::Result;
/// Current schema version. Bump on every forward migration added below. /// Current schema version. Bump on every forward migration added below.
pub(super) const SCHEMA_VERSION: i64 = 37; pub(super) const SCHEMA_VERSION: i64 = 38;
impl Db { impl Db {
pub(super) fn migrate(&self) -> Result<()> { pub(super) fn migrate(&self) -> Result<()> {
@@ -363,6 +363,22 @@ impl Db {
tx.execute_batch(MIGRATION_V37)?; tx.execute_batch(MIGRATION_V37)?;
} }
} }
if current < 38 {
// Same guards as V26-V37.
let has_column: bool = tx.query_row(
"SELECT COUNT(*) FROM pragma_table_info('pending_op') WHERE name = 'issue'",
[],
|row| row.get::<_, i64>(0),
)? > 0;
let has_ops: bool = tx.query_row(
"SELECT COUNT(*) FROM sqlite_master WHERE type = 'table' AND name = 'pending_op'",
[],
|row| row.get::<_, i64>(0),
)? > 0;
if has_ops && !has_column {
tx.execute_batch(MIGRATION_V38)?;
}
}
tx.execute( tx.execute(
"INSERT INTO sync_state (key, value) VALUES ('schema_version', ?1) "INSERT INTO sync_state (key, value) VALUES ('schema_version', ?1)
ON CONFLICT(key) DO UPDATE SET value = excluded.value", ON CONFLICT(key) DO UPDATE SET value = excluded.value",
@@ -1164,3 +1180,9 @@ CREATE INDEX pending_op_parent ON pending_op(parent_uid);
CREATE INDEX idx_pending_op_claimed CREATE INDEX idx_pending_op_claimed
ON pending_op(uid) WHERE claimed_at <> 0; ON pending_op(uid) WHERE claimed_at <> 0;
"; ";
/// Schema v38: why Drive refused a queued op, when it did (a sync issue).
/// `NULL` for an op that has not been refused, which is every op migrated.
const MIGRATION_V38: &str = "
ALTER TABLE pending_op ADD COLUMN issue TEXT;
";
+27 -4
View File
@@ -2,6 +2,8 @@
//! the remote has not yet seen. Rebuilt into memory on mount and drained in row //! the remote has not yet seen. Rebuilt into memory on mount and drained in row
//! order, so a child never drains before the parent that gives it a real uid. //! order, so a child never drains before the parent that gives it a real uid.
use std::collections::HashMap;
use rusqlite::{OptionalExtension, params}; use rusqlite::{OptionalExtension, params};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
@@ -257,7 +259,8 @@ pub struct PendingCounts {
/// never drain on their own, so counting them as "waiting to upload" would /// never drain on their own, so counting them as "waiting to upload" would
/// have the front-end promise progress that is not coming. /// have the front-end promise progress that is not coming.
pub parked: i64, pub parked: i64,
/// Ops that have failed at least [`FAILING_ATTEMPTS`] times. A permanently /// Ops that have failed at least [`FAILING_ATTEMPTS`] times, or that Drive
/// refused ([`Db::set_op_issue`]). A permanently
/// failing op never wedges the queue — the backoff sees to that — which is /// failing op never wedges the queue — the backoff sees to that — which is
/// exactly why it needs surfacing: it retries forever, invisibly. /// exactly why it needs surfacing: it retries forever, invisibly.
pub failing: i64, pub failing: i64,
@@ -1028,15 +1031,15 @@ impl Db {
|r| r.get(0), |r| r.get(0),
)?; )?;
let failing = conn.query_row( let failing = conn.query_row(
"SELECT COUNT(*) FROM pending_op WHERE attempts >= ?1", "SELECT COUNT(*) FROM pending_op WHERE attempts >= ?1 OR issue IS NOT NULL",
params![FAILING_ATTEMPTS], params![FAILING_ATTEMPTS],
|r| r.get(0), |r| r.get(0),
)?; )?;
let last_error = conn let last_error = conn
.query_row( .query_row(
"SELECT last_error FROM pending_op "SELECT last_error FROM pending_op
WHERE attempts >= ?1 AND last_error IS NOT NULL WHERE (attempts >= ?1 OR issue IS NOT NULL) AND last_error IS NOT NULL
ORDER BY attempts DESC LIMIT 1", ORDER BY issue IS NULL, attempts DESC LIMIT 1",
params![FAILING_ATTEMPTS], params![FAILING_ATTEMPTS],
|r| r.get::<_, Option<String>>(0), |r| r.get::<_, Option<String>>(0),
) )
@@ -1132,6 +1135,26 @@ impl Db {
Ok(()) Ok(())
} }
/// Record why Drive refused op `id`, or that the latest failure was not a
/// refusal (`None`). An op with an issue counts as failing at once.
pub fn set_op_issue(&self, id: i64, issue: Option<&str>) -> Result<()> {
self.conn.lock().execute(
"UPDATE pending_op SET issue = ?2 WHERE id = ?1",
params![id, issue],
)?;
Ok(())
}
/// The issue of every op Drive refused, by op id.
pub fn op_issues(&self) -> Result<HashMap<i64, String>> {
let conn = self.read();
let mut stmt = conn.prepare("SELECT id, issue FROM pending_op WHERE issue IS NOT NULL")?;
let rows = stmt
.query_map([], |r| Ok((r.get(0)?, r.get(1)?)))?
.collect::<rusqlite::Result<_>>()?;
Ok(rows)
}
/// Make a create due again if it was renamed or moved /// Make a create due again if it was renamed or moved
/// ([`Db::rewrite_op_target`]) while the attempt that just failed was on /// ([`Db::rewrite_op_target`]) while the attempt that just failed was on
/// the wire, `parent_uid` and `name` being what that attempt sent. What it /// the wire, `parent_uid` and `name` being what that attempt sent. What it
+27
View File
@@ -6138,6 +6138,33 @@ fn retry_now_makes_a_backed_off_op_due_but_leaves_parked_ops_parked() {
assert_eq!(due(parked), ops::PARK_UNTIL); assert_eq!(due(parked), ops::PARK_UNTIL);
} }
/// A change Drive refused needs the user now, not after six more failures, and
/// its refusal is the error the status leads with.
#[test]
fn an_op_with_an_issue_counts_as_failing_at_once() {
let db = Db::open_in_memory().unwrap();
queued_op(&db, "vol~a", 1, 90_000);
let refused = queued_op(&db, "vol~b", 1, 90_000);
assert_eq!(db.pending_op_counts().unwrap().failing, 0);
db.record_op_failure(refused, "storage quota exceeded", 90_000)
.unwrap();
db.set_op_issue(refused, Some("quota")).unwrap();
let counts = db.pending_op_counts().unwrap();
assert_eq!(counts.failing, 1);
assert_eq!(counts.last_error.as_deref(), Some("storage quota exceeded"));
assert_eq!(
db.op_issues().unwrap(),
std::collections::HashMap::from([(refused, "quota".to_string())])
);
// The op stays queued with its bytes; clearing the issue is all it takes.
db.set_op_issue(refused, None).unwrap();
assert_eq!(db.pending_op_counts().unwrap().failing, 0);
assert!(db.op_issues().unwrap().is_empty());
assert_eq!(db.pending_ops().unwrap().len(), 2);
}
#[test] #[test]
fn retry_all_touches_only_ops_that_have_failed() { fn retry_all_touches_only_ops_that_have_failed() {
let db = Db::open_in_memory().unwrap(); let db = Db::open_in_memory().unwrap();
+8
View File
@@ -1404,6 +1404,14 @@ fn handle_control_conn(core: &Core, username: &str, mountpoint: &Path, stream: U
Ok(items) => CtlResponse::PendingOps { items }, Ok(items) => CtlResponse::PendingOps { items },
Err(e) => CtlResponse::error(e), Err(e) => CtlResponse::error(e),
}, },
Ok(CtlRequest::ExportPendingOp { id, dest }) => {
match core.export_pending_op(id, Path::new(&dest)) {
Ok(written) => CtlResponse::Ok {
message: format!("wrote {} to {dest}", human_bytes(written)),
},
Err(e) => CtlResponse::error(e),
}
}
Ok(CtlRequest::RetryPendingOp { id }) => match core.retry_pending_ops(id) { Ok(CtlRequest::RetryPendingOp { id }) => match core.retry_pending_ops(id) {
Ok(0) if id.is_some() => CtlResponse::Ok { Ok(0) if id.is_some() => CtlResponse::Ok {
message: "nothing to retry: the operation is already due or waiting for a rename" message: "nothing to retry: the operation is already due or waiting for a rename"
+95 -1
View File
@@ -31,7 +31,7 @@ use parking_lot::Mutex;
use pdfs_core::batch; use pdfs_core::batch;
use pdfs_core::cache::{Baseline, StagedWrite}; use pdfs_core::cache::{Baseline, StagedWrite};
use pdfs_core::control::{ActivityKind, TransferDirection}; use pdfs_core::control::{ActivityKind, SyncIssue, TransferDirection};
use pdfs_core::db::{ use pdfs_core::db::{
CreateLanding, CreateRetired, OP_CREATE, OP_MKDIR, OP_RENAME, OP_REVISION, OP_TRASH, CreateLanding, CreateRetired, OP_CREATE, OP_MKDIR, OP_RENAME, OP_REVISION, OP_TRASH,
PARK_EXPIRY_MS, PendingOp, RenameMeta, PARK_EXPIRY_MS, PendingOp, RenameMeta,
@@ -40,6 +40,7 @@ use proton_drive_rs::proton_sdk::ids::NodeUid;
use proton_drive_rs::{Node, NodeKind}; use proton_drive_rs::{Node, NodeKind};
use tracing::{debug, error, info, warn}; use tracing::{debug, error, info, warn};
use super::link::is_network_error;
use super::state::{Intervals, PendingRevision}; use super::state::{Intervals, PendingRevision};
use super::transfers::CountingReader; use super::transfers::CountingReader;
use super::{ use super::{
@@ -48,6 +49,8 @@ use super::{
is_already_exists, is_gone, is_local_uid_str, media_type_for, node_revision_id, node_size, is_already_exists, is_gone, is_local_uid_str, media_type_for, node_revision_id, node_size,
now_millis, now_secs, parse_node_uid, now_millis, now_secs, parse_node_uid,
}; };
use proton_drive_rs::proton_sdk::api::ResponseCode;
use proton_drive_rs::proton_sdk::error::ProtonError;
const DRAIN_ACCESS_RECHECK: Duration = Duration::from_secs(5); const DRAIN_ACCESS_RECHECK: Duration = Duration::from_secs(5);
@@ -383,6 +386,11 @@ impl Core {
self.wait_for_drain_work(); self.wait_for_drain_work();
continue; continue;
} }
// A failure to reach Drive says nothing about an earlier refusal,
// so it keeps the issue that refusal recorded.
if let Some(issue) = refusal(e.as_ref()) {
self.record_issue(&op, issue);
}
match self.db.retry_if_retargeted( match self.db.retry_if_retargeted(
op.id, op.id,
op.parent_uid.as_deref(), op.parent_uid.as_deref(),
@@ -464,6 +472,9 @@ impl Core {
{ {
error!(uid = %op.uid, %error, "recording an access-deferral failure failed"); error!(uid = %op.uid, %error, "recording an access-deferral failure failed");
} }
if reason != AccessDeferral::RemoteUnreachable {
self.record_issue(op, Some(SyncIssue::Access));
}
} else { } else {
debug!( debug!(
uid = %op.uid, uid = %op.uid,
@@ -525,6 +536,7 @@ impl Core {
) { ) {
error!(uid = %op.uid, %error, "recording a missing-authority failure failed"); error!(uid = %op.uid, %error, "recording a missing-authority failure failed");
} }
self.record_issue(op, Some(SyncIssue::Missing));
self.release_claim(op); self.release_claim(op);
} }
Err(error) => { Err(error) => {
@@ -535,6 +547,13 @@ impl Core {
} }
} }
/// Store why Drive refused `op`, or that its latest failure was no refusal.
fn record_issue(&self, op: &PendingOp, issue: Option<SyncIssue>) {
if let Err(error) = self.db.set_op_issue(op.id, issue.map(SyncIssue::as_str)) {
error!(uid = %op.uid, %error, "recording a sync issue failed");
}
}
/// Hand a claimed op back to the queue, logging rather than propagating — /// Hand a claimed op back to the queue, logging rather than propagating —
/// there is no caller left to propagate to, and the drain must not stop. /// there is no caller left to propagate to, and the drain must not stop.
fn release_claim(&self, op: &PendingOp) { fn release_claim(&self, op: &PendingOp) {
@@ -2217,6 +2236,30 @@ fn moved_elsewhere(meta: &RenameMeta, node: &Node, parent: &NodeUid, name: &str)
!at(&meta.original_parent_uid, original_name) && !at(&parent.to_string(), name) !at(&meta.original_parent_uid, original_name) && !at(&parent.to_string(), name)
} }
/// What a failed attempt says about its op's sync issue: `None` when Drive
/// could not be reached, which says nothing; otherwise the issue Drive's answer
/// is, or `Some(None)` for a failure that is not a refusal.
fn refusal(e: &(dyn std::error::Error + 'static)) -> Option<Option<SyncIssue>> {
let proton = std::iter::successors(Some(e), |e| e.source())
.find_map(|e| e.downcast_ref::<ProtonError>())?;
if is_network_error(proton) {
return None;
}
let ProtonError::Api(api) = proton else {
return Some(None);
};
Some(match api.code {
ResponseCode::InsufficientQuota
| ResponseCode::InsufficientSpace
| ResponseCode::InsufficientVolumeQuota => Some(SyncIssue::Quota),
ResponseCode::Forbidden | ResponseCode::NotEnoughPermissions => Some(SyncIssue::Access),
ResponseCode::DoesNotExist => Some(SyncIssue::Missing),
ResponseCode::TooManyChildren | ResponseCode::NestingTooDeep => Some(SyncIssue::Limit),
ResponseCode::InvalidValue | ResponseCode::IncompatibleState => Some(SyncIssue::Rejected),
_ => None,
})
}
/// What the park sweep does with one parked create. /// What the park sweep does with one parked create.
#[derive(Debug, PartialEq, Eq)] #[derive(Debug, PartialEq, Eq)]
enum ParkVerdict { enum ParkVerdict {
@@ -2348,6 +2391,57 @@ mod tests {
/// A transient create is queued a moment before its node is written. A /// A transient create is queued a moment before its node is written. A
/// sweep in between dropped it, and the rename to the finished name then /// sweep in between dropped it, and the rename to the finished name then
/// failed with `EBUSY` (B145). /// failed with `EBUSY` (B145).
#[test]
fn a_refusal_from_drive_is_sorted_into_an_issue_and_the_network_is_not() {
use proton_drive_rs::proton_sdk::error::ProtonApiError;
let api = |code, http_status| {
ProtonError::Api(ProtonApiError {
code,
http_status,
message: String::new(),
details: None,
})
};
let issue = |e: ProtonError| refusal(&e);
assert_eq!(
issue(api(ResponseCode::InsufficientQuota, 422)),
Some(Some(SyncIssue::Quota))
);
assert_eq!(
issue(api(ResponseCode::NotEnoughPermissions, 403)),
Some(Some(SyncIssue::Access))
);
assert_eq!(
issue(api(ResponseCode::DoesNotExist, 404)),
Some(Some(SyncIssue::Missing))
);
assert_eq!(
issue(api(ResponseCode::TooManyChildren, 422)),
Some(Some(SyncIssue::Limit))
);
// A refusal nobody sorted clears an earlier issue; the network keeps it.
assert_eq!(issue(api(ResponseCode::AlreadyExists, 422)), Some(None));
assert_eq!(issue(api(ResponseCode::RequestTimeout, 408)), None);
// An error that is no refusal from Drive at all is no issue either.
assert_eq!(refusal(&std::io::Error::other("disk")), None);
// The drain sees Drive's error wrapped by whatever called it.
#[derive(Debug)]
struct Wrapped(ProtonError);
impl std::fmt::Display for Wrapped {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str("uploading")
}
}
impl std::error::Error for Wrapped {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
Some(&self.0)
}
}
let wrapped = Wrapped(api(ResponseCode::InsufficientSpace, 422));
assert_eq!(refusal(&wrapped), Some(Some(SyncIssue::Quota)));
}
#[test] #[test]
fn a_parked_create_is_dropped_only_once_its_file_is_gone_and_closed() { fn a_parked_create_is_dropped_only_once_its_file_is_gone_and_closed() {
let now = PARK_EXPIRY_MS * 10; let now = PARK_EXPIRY_MS * 10;
+117 -5
View File
@@ -1,12 +1,14 @@
//! The user's view of the pending-op queue: what has not reached the remote //! The user's view of the pending-op queue: what has not reached the remote
//! yet, why, and a way to stop waiting out a backoff. //! yet, why, and a way to stop waiting out a backoff.
//! //!
//! Read-only apart from "retry now", which only moves a row's next-attempt time. //! Read-only apart from "retry now", which only moves a row's next-attempt time,
//! Nothing here drops a queued op: its staged blob is the only copy of the //! and "export", which copies a staged blob out. Nothing here drops a queued op:
//! user's write (see `docs/RECOVERY.md`). //! its staged blob is the only copy of the user's write (see `docs/RECOVERY.md`).
use super::*; use super::*;
use pdfs_core::control::PendingOpInfo; use std::io::Write;
use pdfs_core::control::{PendingOpInfo, SyncIssue};
use pdfs_core::db::{FAILING_ATTEMPTS, PARK_UNTIL}; use pdfs_core::db::{FAILING_ATTEMPTS, PARK_UNTIL};
impl Core { impl Core {
@@ -16,10 +18,15 @@ impl Core {
.db .db
.pending_ops() .pending_ops()
.map_err(|e| CoreError::internal(format!("listing the queue: {e}")))?; .map_err(|e| CoreError::internal(format!("listing the queue: {e}")))?;
let issues = self
.db
.op_issues()
.map_err(|e| CoreError::internal(format!("listing sync issues: {e}")))?;
Ok(ops Ok(ops
.into_iter() .into_iter()
.map(|op| { .map(|op| {
let parked = op.next_attempt_at >= PARK_UNTIL; let parked = op.next_attempt_at >= PARK_UNTIL;
let exportable = exportable(&op).is_some();
let path = self let path = self
.db .db
.node_path(&op.uid) .node_path(&op.uid)
@@ -37,7 +44,9 @@ impl Core {
queued_at: op.created_at / 1000, queued_at: op.created_at / 1000,
next_attempt_at: (!parked).then_some(op.next_attempt_at / 1000), next_attempt_at: (!parked).then_some(op.next_attempt_at / 1000),
parked, parked,
failing: op.attempts >= FAILING_ATTEMPTS, failing: op.attempts >= FAILING_ATTEMPTS || issues.contains_key(&op.id),
issue: issues.get(&op.id).map(|issue| SyncIssue::parse(issue)),
exportable,
} }
}) })
.collect()) .collect())
@@ -57,4 +66,107 @@ impl Core {
} }
Ok(moved) Ok(moved)
} }
/// Copy the content of queued op `id` to `dest`, which must not exist yet.
/// The op stays queued. Returns the bytes written.
pub(crate) fn export_pending_op(&self, id: i64, dest: &Path) -> CoreResult<u64> {
if !dest.is_absolute() {
return Err(CoreError::invalid(format!(
"destination must be an absolute path: {}",
dest.display()
)));
}
let ops = self
.db
.pending_ops()
.map_err(|e| CoreError::internal(format!("listing the queue: {e}")))?;
let op = ops
.iter()
.find(|op| op.id == id)
.ok_or_else(|| CoreError::not_found(format!("no queued change {id}")))?;
let blob = exportable(op).ok_or_else(|| {
CoreError::invalid(format!("queued change {id} carries no file content"))
})?;
let written = copy_to_new_file(blob, dest)?;
info!(id, dest = %dest.display(), written, "exported a queued change's content");
Ok(written)
}
}
/// Copy `blob` to `dest`, which must not exist: never replace something the
/// user already has.
fn copy_to_new_file(blob: &Path, dest: &Path) -> CoreResult<u64> {
let mut source = File::open(blob)
.map_err(|e| CoreError::internal(format!("open {}: {e}", blob.display())))?;
let mut out = std::fs::OpenOptions::new()
.write(true)
.create_new(true)
.open(dest)
.map_err(|e| match e.kind() {
std::io::ErrorKind::AlreadyExists => {
CoreError::invalid(format!("{} already exists", dest.display()))
}
_ => CoreError::internal(format!("create {}: {e}", dest.display())),
})?;
std::io::copy(&mut source, &mut out)
.and_then(|written| out.flush().and(out.sync_all()).map(|()| written))
.map_err(|e| CoreError::internal(format!("write {}: {e}", dest.display())))
}
/// The staged blob of an op that carries file content.
fn exportable(op: &PendingOp) -> Option<&Path> {
matches!(op.kind.as_str(), OP_CREATE | OP_REVISION)
.then_some(op.blob_path.as_deref())
.flatten()
.map(Path::new)
}
#[cfg(test)]
mod tests {
use super::*;
fn op(kind: &str, blob: Option<&str>) -> PendingOp {
PendingOp {
id: 1,
kind: kind.to_string(),
uid: "vol~a".to_string(),
parent_uid: None,
name: None,
blob_path: blob.map(str::to_string),
meta_json: None,
created_at: 0,
attempts: 0,
last_error: None,
next_attempt_at: 0,
}
}
#[test]
fn only_a_change_that_carries_file_content_can_be_exported() {
assert!(exportable(&op(OP_CREATE, Some("/staging/a"))).is_some());
assert!(exportable(&op(OP_REVISION, Some("/staging/a"))).is_some());
assert!(exportable(&op(OP_CREATE, None)).is_none());
assert!(exportable(&op(OP_RENAME, None)).is_none());
assert!(exportable(&op(OP_TRASH, None)).is_none());
}
#[test]
fn an_export_copies_the_bytes_and_never_replaces_a_file() {
let dir = std::env::temp_dir().join(format!("pdfs-export-{}", std::process::id()));
std::fs::create_dir_all(&dir).unwrap();
let blob = dir.join("blob");
std::fs::write(&blob, b"queued bytes").unwrap();
let dest = dir.join("copy.txt");
assert_eq!(copy_to_new_file(&blob, &dest).unwrap(), 12);
assert_eq!(std::fs::read(&dest).unwrap(), b"queued bytes");
std::fs::write(&dest, b"the user's own").unwrap();
assert!(copy_to_new_file(&blob, &dest).is_err());
assert_eq!(std::fs::read(&dest).unwrap(), b"the user's own");
// The staged blob is the only copy of the change: an export leaves it.
assert_eq!(std::fs::read(&blob).unwrap(), b"queued bytes");
let _ = std::fs::remove_dir_all(&dir);
}
} }
+2 -2
View File
@@ -75,8 +75,8 @@ use pdfs_core::control::{
DirEntry, ErrorKind, ImportSummary, InvitationInfo, JobItem, MappingProgress, PendingOpInfo, DirEntry, ErrorKind, ImportSummary, InvitationInfo, JobItem, MappingProgress, PendingOpInfo,
PhotoItem, PhotoKind, PhotoMonth, PlaceInfo, PublicLinkInfo, RefreshScope, Request, Response, PhotoItem, PhotoKind, PhotoMonth, PlaceInfo, PublicLinkInfo, RefreshScope, Request, Response,
RestorableFolder, RestoreItem, RevisionInfo, SearchHit, ShareEntry, ShareEntryKind, SharedItem, RestorableFolder, RestoreItem, RevisionInfo, SearchHit, ShareEntry, ShareEntryKind, SharedItem,
SyncFolderInfo, SyncPhase, SyncProgress, ThumbnailBuildStatus, Topic, TransferDirection, SyncFolderInfo, SyncIssue, SyncPhase, SyncProgress, ThumbnailBuildStatus, Topic,
TransferItem, send, TransferDirection, TransferItem, send,
}; };
use pdfs_core::mounts::{MountAccess, MountKind, MountMode, MountSpec}; use pdfs_core::mounts::{MountAccess, MountKind, MountMode, MountSpec};
+87 -4
View File
@@ -70,8 +70,9 @@ pub(crate) struct LocationRow {
progress: gtk4::ProgressBar, progress: gtk4::ProgressBar,
} }
/// What a queue row shows that can change: id, attempts, next attempt, parked. /// What a queue row shows that can change: id, attempts, next attempt, parked,
pub(crate) type QueueKey = (i64, i64, Option<i64>, bool); /// issue.
pub(crate) type QueueKey = (i64, i64, Option<i64>, bool, Option<SyncIssue>);
/// The "Waiting to Upload" list: the daemon's pending-op queue. /// The "Waiting to Upload" list: the daemon's pending-op queue.
pub(crate) struct QueueState { pub(crate) struct QueueState {
@@ -591,7 +592,7 @@ fn repaint_queue(ui: &Rc<Ui>, items: &[PendingOpInfo]) {
items.sort_by_key(|op| (!op.failing, op.attempts == 0, op.id)); items.sort_by_key(|op| (!op.failing, op.attempts == 0, op.id));
let key: Vec<QueueKey> = items let key: Vec<QueueKey> = items
.iter() .iter()
.map(|op| (op.id, op.attempts, op.next_attempt_at, op.parked)) .map(|op| (op.id, op.attempts, op.next_attempt_at, op.parked, op.issue))
.collect(); .collect();
if *queue.painted.borrow() == key { if *queue.painted.borrow() == key {
return; return;
@@ -648,6 +649,10 @@ fn queue_row(ui: &Rc<Ui>, op: &PendingOpInfo, now: i64) -> adw::ActionRow {
"{action} · {state}", "{action} · {state}",
&[("action", &action), ("state", &state)], &[("action", &action), ("state", &state)],
); );
if let Some(issue) = op.issue {
subtitle.push('\n');
subtitle.push_str(&issue_text(issue));
}
if let Some(error) = &op.last_error { if let Some(error) = &op.last_error {
subtitle.push('\n'); subtitle.push('\n');
// Translators: {n} is how many attempts failed, {error} the last error message. // Translators: {n} is how many attempts failed, {error} the last error message.
@@ -662,7 +667,7 @@ fn queue_row(ui: &Rc<Ui>, op: &PendingOpInfo, now: i64) -> adw::ActionRow {
.title(glib::markup_escape_text(&op.path).as_str()) .title(glib::markup_escape_text(&op.path).as_str())
.subtitle(glib::markup_escape_text(&subtitle).as_str()) .subtitle(glib::markup_escape_text(&subtitle).as_str())
.title_lines(1) .title_lines(1)
.subtitle_lines(3) .subtitle_lines(if op.issue.is_some() { 5 } else { 3 })
.tooltip_text(&op.path) .tooltip_text(&op.path)
.build(); .build();
let image = gtk4::Image::from_icon_name(if op.failing { let image = gtk4::Image::from_icon_name(if op.failing {
@@ -687,9 +692,87 @@ fn queue_row(ui: &Rc<Ui>, op: &PendingOpInfo, now: i64) -> adw::ActionRow {
retry.connect_clicked(move |_| retry_queued(&ui, Some(id))); retry.connect_clicked(move |_| retry_queued(&ui, Some(id)));
row.add_suffix(&retry); row.add_suffix(&retry);
} }
if op.failing && op.exportable {
let export = gtk4::Button::builder()
.label(gettext("Export"))
.tooltip_text(gettext("Save a copy of this file's content elsewhere"))
.valign(gtk4::Align::Center)
.build();
export.add_css_class("flat");
let ui = ui.clone();
let id = op.id;
let name = Path::new(&op.path)
.file_name()
.map(|name| name.to_string_lossy().into_owned())
.unwrap_or_default();
export.connect_clicked(move |_| prompt_export_queued(&ui, id, &name));
row.add_suffix(&export);
}
row row
} }
/// What a sync issue means and what the user can do about it. The change stays
/// queued either way.
fn issue_text(issue: SyncIssue) -> String {
match issue {
SyncIssue::Quota => gettext(
"Your Proton Drive storage is full. Free up space or upgrade your plan, and this change uploads on its own.",
),
SyncIssue::Access => gettext(
"You can no longer change this on Proton Drive. Ask the owner for edit access, or export the file to keep your version.",
),
SyncIssue::Missing => gettext(
"The folder this change belongs in is gone from Proton Drive. Export the file to keep your version.",
),
SyncIssue::Limit => gettext(
"Proton Drive's limit on items in a folder or on folder depth is reached. Make room in the folder, then retry.",
),
SyncIssue::Rejected | SyncIssue::Unknown => {
gettext("Proton Drive refused this change. It stays queued and is tried again.")
}
}
}
/// Ask where to save a copy of a queued file's content, then have the daemon
/// write it there. The change itself stays queued.
fn prompt_export_queued(ui: &Rc<Ui>, id: i64, name: &str) {
let window = ui_window(ui);
let dialog = gtk4::FileDialog::builder()
.title(gettext("Export File"))
.initial_name(name)
.build();
let ui = ui.clone();
dialog.save(window.as_ref(), gio::Cancellable::NONE, move |res| {
let Ok(file) = res else { return };
let Some(dest) = file.path().and_then(|p| p.to_str().map(str::to_string)) else {
toast_error(
&ui,
&gettext("Couldn't export the file"),
&gettext("That location isn't a local file."),
);
return;
};
let rx = spawn_request(
ui.dirs.control_socket(),
Request::ExportPendingOp { id, dest },
);
let ui = ui.clone();
glib::spawn_future_local(async move {
match rx.recv().await {
Ok(Ok(Response::Ok { .. })) => toast(&ui, &gettext("File exported")),
Ok(Ok(Response::Error { message, kind })) => {
toast_failure(&ui, &gettext("Couldn't export the file"), &message, kind)
}
_ => toast_error(
&ui,
&gettext("Couldn't export the file"),
&gettext("The Proton Drive service didn't respond."),
),
}
});
});
}
/// Ask the daemon to stop waiting out one op's backoff, or every failed op's. /// Ask the daemon to stop waiting out one op's backoff, or every failed op's.
fn retry_queued(ui: &Rc<Ui>, id: Option<i64>) { fn retry_queued(ui: &Rc<Ui>, id: Option<i64>) {
let rx = spawn_request(ui.dirs.control_socket(), Request::RetryPendingOp { id }); let rx = spawn_request(ui.dirs.control_socket(), Request::RetryPendingOp { id });
+12 -2
View File
@@ -11,8 +11,18 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
## [Unreleased] ## [Unreleased]
Schema: **37**. The queue table is rebuilt so an id is never given out twice; queued changes Schema: **38**. The queue table is rebuilt so an id is never given out twice; queued changes
are kept. are kept. Queued changes get a column for the reason Drive refused them.
### Added
- **Sync issues.** A change Drive refuses because the storage is full, access was taken away,
its folder is gone, a folder limit is reached or Drive rejected it shows up at once as needing
attention, with what it means and what to do, instead of after six failed attempts. The
change stays queued and is still retried.
- **Export a queued file.** The Sync page's Export button and `pdfs sync export <id> <dest>`
save a copy of a queued upload's content. The upload stays queued.
- **`pdfs sync issues`** lists the changes that need attention; `pdfs sync queue` shows the
issue next to each change.
### Changed ### Changed
- **Making, renaming and deleting through the mount no longer waits for Drive.** A new folder, - **Making, renaming and deleting through the mount no longer waits for Drive.** A new folder,
+52
View File
@@ -0,0 +1,52 @@
# 3.0.0: what is done and what is left
Tracks `docs/MILESTONE-3.0.0.md`. Update it with every commit that moves a phase.
## Done
- **Phase 0**: fake Drive, simulation runs, CI job (2.9.0).
- **Phase 1**: queued-op preconditions and own sealed revisions in the database (2.9.0).
- **Phase 2**: local ids, inode = local id, one tree for every mount (2.10.0).
- **Phase 3, first part**: mkdir, create, rename, unlink and rmdir on the mount are recorded
locally and sent from the queue; `"local_first": false` brings back the old path (5e0f30c).
- Fixes from the simulation and account runs since then: B141 to B147.
- **Sync issues, first cut** (§6.2): refusals sorted into issues, shown at once in the app,
tray and CLI; Export button and `pdfs sync export`; `pdfs sync issues`.
## Phase 3: left for 3.0.0
1. **Sync issues (§6.2)**: first cut done.
- [x] The drain sorts a refusal from Drive into an issue kind (quota, access, missing,
limit, rejected) and stores it on the queued op (schema 38).
- [x] An op with an issue counts as "needs attention" at once, not after six failures.
- [x] The queue listing carries the issue kind and whether its content can be exported.
- [x] Export a queued file's content (control request, `pdfs sync export`).
- [x] `pdfs sync issues`, and the issue shown in `pdfs sync queue`.
- [x] The app's Sync page shows each issue with what the user can do; Export and Retry
buttons; translated in every catalog.
- [ ] Discard an issue on purpose (after export, or for a change with no content), and
undo the local change it stood for. Not in the first cut.
- [ ] Show the issue on the node itself (file browser emblem or status). Not in the first
cut.
2. **Planner and executor (§5.4, §5.5)**: ops keyed by local id; remove `mint_local_uid`,
`finish_create` and `adopt_real_uid`; a landing create sets `remote_uid` on its row.
3. **Speed (§7)**: run independent ops in parallel, batch trashes and moves; measure 1,000 files
and 100 folders on Wi-Fi against LAN (target: within 10 %).
4. **Done-when checks**:
- [ ] Simulation passes on the Wi-Fi profile.
- [ ] Known-bug list in `sim/run.rs` is empty: B125 and B130 open; B129 and B132 fixed but
unconfirmed.
- [ ] A clean account run. The last one (2026-10-04) failed on B70 (fixed as B145) and
mirror/mirror "busy syncing" (the script now retries); not confirmed yet.
5. **Release**: the 2.9.0 and 2.10.0 tags still wait for the user's go-ahead.
## After 3.0.0
- Remove the old online path in `filesystem.rs` and the `local_first` switch (the release after
3.0.0).
- **Phase 4**: one applier for remote changes.
- **Phase 5**: mirror folders on the same planner and executor.
- **Any time**: `Size` and block geometry as types; a `Deadline` on every remote call.
- Open questions in §12 of the milestone.
- `PLAN.md`: the acceptance script notices network drops and reports `interrupted` instead of
TIMEOUT.
+181 -119
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-29 00:18+0200\n" "POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: German\n" "Language-Team: German\n"
@@ -64,7 +64,7 @@ msgstr "%A, %-d. %B %Y, %H:%M"
#: crates/pdfs-gui/src/app/pages/browser.rs:1217 #: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090 #: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167 #: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471 #: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171 #: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files" msgid "My files"
@@ -271,9 +271,9 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:979 #: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031 #: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075 #: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:860 #: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1335 #: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1385 #: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312 #: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055 #: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946 #: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -477,8 +477,8 @@ msgstr "Nichts im aktuellen Protokoll entspricht diesem Filter."
#: crates/pdfs-gui/src/app/pages/activity.rs:186 #: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281 #: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114 #: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183 #: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:680 #: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465 #: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183 #: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -516,8 +516,8 @@ msgstr "Ansichtsoptionen"
#: crates/pdfs-gui/src/app/pages/browser.rs:2635 #: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639 #: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325 #: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191 #: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:970 #: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422 #: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284 #: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -1020,7 +1020,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from. #. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346 #: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795 #: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format #, rust-format
msgid "Differs from {name}" msgid "Differs from {name}"
msgstr "Unterscheidet sich von {name}" msgstr "Unterscheidet sich von {name}"
@@ -1207,11 +1207,12 @@ msgstr "Alben konnten nicht geladen werden"
#: crates/pdfs-gui/src/app/pages/devices.rs:884 #: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120 #: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220 #: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535 #: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:710 #: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:929 #: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1427 #: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1447 #: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425 #: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420 #: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140 #: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2159,7 +2160,7 @@ msgid "Add Folder to Sync"
msgstr "Ordner zur Synchronisierung hinzufügen" msgstr "Ordner zur Synchronisierung hinzufügen"
#: crates/pdfs-gui/src/app/pages/devices.rs:686 #: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440 #: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…" msgid "Syncing folder…"
msgstr "Ordner wird synchronisiert …" msgstr "Ordner wird synchronisiert …"
@@ -2524,19 +2525,19 @@ msgstr[1] "{n} Fotos in den Papierkorb verschieben"
msgid "Keep" msgid "Keep"
msgstr "Behalten" msgstr "Behalten"
#: crates/pdfs-gui/src/app/pages/locations.rs:125 #: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder" msgid "Add Folder"
msgstr "Ordner hinzufügen" msgstr "Ordner hinzufügen"
#: crates/pdfs-gui/src/app/pages/locations.rs:130 #: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device" msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "Einen lokalen Ordner im Proton-Drive-Gerät dieses Computers sichern" msgstr "Einen lokalen Ordner im Proton-Drive-Gerät dieses Computers sichern"
#: crates/pdfs-gui/src/app/pages/locations.rs:140 #: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts" msgid "Conflicts"
msgstr "Konflikte" msgstr "Konflikte"
#: crates/pdfs-gui/src/app/pages/locations.rs:142 #: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid "" msgid ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
@@ -2544,7 +2545,7 @@ msgstr ""
"Dateien wurden gleichzeitig an zwei Stellen geändert. Beide Versionen wurden " "Dateien wurden gleichzeitig an zwei Stellen geändert. Beide Versionen wurden "
"behalten; bitte auswählen, welche bleiben soll." "behalten; bitte auswählen, welche bleiben soll."
#: crates/pdfs-gui/src/app/pages/locations.rs:158 #: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid "" msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
@@ -2552,138 +2553,138 @@ msgstr ""
"Synchronisierte Ordner behalten eine vollständige Kopie auf diesem Computer. " "Synchronisierte Ordner behalten eine vollständige Kopie auf diesem Computer. "
"Ordner mit „Nur online“ laden jede Datei erst beim Öffnen." "Ordner mit „Nur online“ laden jede Datei erst beim Öffnen."
#: crates/pdfs-gui/src/app/pages/locations.rs:169 #: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes" msgid "About Sync Modes"
msgstr "Über Synchronisierungsarten" msgstr "Über Synchronisierungsarten"
#: crates/pdfs-gui/src/app/pages/locations.rs:178 #: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65 #: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders" msgid "Folders"
msgstr "Ordner" msgstr "Ordner"
#: crates/pdfs-gui/src/app/pages/locations.rs:213 #: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view" msgctxt "sync view"
msgid "Overview" msgid "Overview"
msgstr "Übersicht" msgstr "Übersicht"
#: crates/pdfs-gui/src/app/pages/locations.rs:219 #: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view" msgctxt "sync view"
msgid "Folders" msgid "Folders"
msgstr "Ordner" msgstr "Ordner"
#: crates/pdfs-gui/src/app/pages/locations.rs:225 #: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view" msgctxt "sync view"
msgid "History" msgid "History"
msgstr "Verlauf" msgstr "Verlauf"
#: crates/pdfs-gui/src/app/pages/locations.rs:232 #: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210 #: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review" msgid "Review"
msgstr "Ansehen" msgstr "Ansehen"
#: crates/pdfs-gui/src/app/pages/locations.rs:363 #: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format #, rust-format
msgid "{n} change couldn't be uploaded" msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded" msgid_plural "{n} changes couldn't be uploaded"
msgstr[0] "{n} Änderung konnte nicht hochgeladen werden" msgstr[0] "{n} Änderung konnte nicht hochgeladen werden"
msgstr[1] "{n} Änderungen konnten nicht hochgeladen werden" msgstr[1] "{n} Änderungen konnten nicht hochgeladen werden"
#: crates/pdfs-gui/src/app/pages/locations.rs:369 #: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format #, rust-format
msgid "{n} file was changed in two places at once" msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once" msgid_plural "{n} files were changed in two places at once"
msgstr[0] "{n} Datei wurde an zwei Stellen gleichzeitig geändert" msgstr[0] "{n} Datei wurde an zwei Stellen gleichzeitig geändert"
msgstr[1] "{n} Dateien wurden an zwei Stellen gleichzeitig geändert" msgstr[1] "{n} Dateien wurden an zwei Stellen gleichzeitig geändert"
#: crates/pdfs-gui/src/app/pages/locations.rs:374 #: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention" msgid "Some files need your attention"
msgstr "Einige Dateien erfordern Aufmerksamkeit" msgstr "Einige Dateien erfordern Aufmerksamkeit"
#: crates/pdfs-gui/src/app/pages/locations.rs:391 #: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…" msgid "Checking…"
msgstr "Wird geprüft …" msgstr "Wird geprüft …"
#: crates/pdfs-gui/src/app/pages/locations.rs:419 #: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour" msgid "Pause for 1 Hour"
msgstr "Für 1 Stunde pausieren" msgstr "Für 1 Stunde pausieren"
#: crates/pdfs-gui/src/app/pages/locations.rs:423 #: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours" msgid "Pause for 8 Hours"
msgstr "Für 8 Stunden pausieren" msgstr "Für 8 Stunden pausieren"
#: crates/pdfs-gui/src/app/pages/locations.rs:427 #: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours" msgid "Pause for 24 Hours"
msgstr "Für 24 Stunden pausieren" msgstr "Für 24 Stunden pausieren"
#: crates/pdfs-gui/src/app/pages/locations.rs:431 #: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:467 #: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb" msgctxt "verb"
msgid "Pause" msgid "Pause"
msgstr "Pausieren" msgstr "Pausieren"
#: crates/pdfs-gui/src/app/pages/locations.rs:435 #: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:472 #: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual." msgid "Stop uploading until you resume. Files still open as usual."
msgstr "" msgstr ""
"Hochladen bis zur Fortsetzung anhalten. Dateien lassen sich weiterhin wie " "Hochladen bis zur Fortsetzung anhalten. Dateien lassen sich weiterhin wie "
"gewohnt öffnen." "gewohnt öffnen."
#: crates/pdfs-gui/src/app/pages/locations.rs:437 #: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while" msgid "Pause for a while"
msgstr "Eine Weile pausieren" msgstr "Eine Weile pausieren"
#: crates/pdfs-gui/src/app/pages/locations.rs:465 #: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb" msgctxt "verb"
msgid "Resume" msgid "Resume"
msgstr "Fortsetzen" msgstr "Fortsetzen"
#: crates/pdfs-gui/src/app/pages/locations.rs:470 #: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused" msgid "Upload everything that waited while sync was paused"
msgstr "" msgstr ""
"Alles hochladen, was während der pausierten Synchronisierung gewartet hat" "Alles hochladen, was während der pausierten Synchronisierung gewartet hat"
#: crates/pdfs-gui/src/app/pages/locations.rs:518 #: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync" msgid "Couldn't pause sync"
msgstr "Synchronisierung konnte nicht pausiert werden" msgstr "Synchronisierung konnte nicht pausiert werden"
#: crates/pdfs-gui/src/app/pages/locations.rs:520 #: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync" msgid "Couldn't resume sync"
msgstr "Synchronisierung konnte nicht fortgesetzt werden" msgstr "Synchronisierung konnte nicht fortgesetzt werden"
#: crates/pdfs-gui/src/app/pages/locations.rs:526 #: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed" msgid "Sync resumed"
msgstr "Synchronisierung fortgesetzt" msgstr "Synchronisierung fortgesetzt"
#: crates/pdfs-gui/src/app/pages/locations.rs:527 #: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume" msgid "Sync paused until you resume"
msgstr "Synchronisierung bis zur Fortsetzung pausiert" msgstr "Synchronisierung bis zur Fortsetzung pausiert"
#: crates/pdfs-gui/src/app/pages/locations.rs:528 #: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237 #: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused" msgid "Sync paused"
msgstr "Synchronisierung pausiert" msgstr "Synchronisierung pausiert"
#: crates/pdfs-gui/src/app/pages/locations.rs:546 #: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All" msgid "Retry All"
msgstr "Alle erneut versuchen" msgstr "Alle erneut versuchen"
#: crates/pdfs-gui/src/app/pages/locations.rs:548 #: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now" msgid "Try every failed change again now"
msgstr "Alle fehlgeschlagenen Änderungen jetzt erneut versuchen" msgstr "Alle fehlgeschlagenen Änderungen jetzt erneut versuchen"
#: crates/pdfs-gui/src/app/pages/locations.rs:553 #: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload" msgid "Waiting to Upload"
msgstr "Warten auf Hochladen" msgstr "Warten auf Hochladen"
#: crates/pdfs-gui/src/app/pages/locations.rs:555 #: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:614 #: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet." msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "" msgstr ""
"Auf diesem Computer vorgenommene Änderungen, die noch nicht in Proton Drive " "Auf diesem Computer vorgenommene Änderungen, die noch nicht in Proton Drive "
"sind." "sind."
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes. #. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612 #: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format #, rust-format
msgid "" msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2698,89 +2699,154 @@ msgstr[1] ""
"Auf diesem Computer vorgenommene Änderungen, die noch nicht in Proton Drive " "Auf diesem Computer vorgenommene Änderungen, die noch nicht in Proton Drive "
"sind. Die ersten {shown} von {n} werden angezeigt." "sind. Die ersten {shown} von {n} werden angezeigt."
#: crates/pdfs-gui/src/app/pages/locations.rs:629 #: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes" msgid "Upload changes"
msgstr "Änderungen hochladen" msgstr "Änderungen hochladen"
#: crates/pdfs-gui/src/app/pages/locations.rs:630 #: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file" msgid "Upload new file"
msgstr "Neue Datei hochladen" msgstr "Neue Datei hochladen"
#: crates/pdfs-gui/src/app/pages/locations.rs:631 #: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder" msgid "Create folder"
msgstr "Ordner erstellen" msgstr "Ordner erstellen"
#: crates/pdfs-gui/src/app/pages/locations.rs:632 #: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move" msgid "Rename or move"
msgstr "Umbenennen oder verschieben" msgstr "Umbenennen oder verschieben"
#: crates/pdfs-gui/src/app/pages/locations.rs:633 #: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash" msgid "Move to trash"
msgstr "In den Papierkorb verschieben" msgstr "In den Papierkorb verschieben"
#. Translators: a queued change of an unknown kind. #. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635 #: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun" msgctxt "noun"
msgid "Change" msgid "Change"
msgstr "Änderung" msgstr "Änderung"
#: crates/pdfs-gui/src/app/pages/locations.rs:638 #: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish" msgid "waiting for the app writing it to finish"
msgstr "wartet, bis die schreibende Anwendung fertig ist" msgstr "wartet, bis die schreibende Anwendung fertig ist"
#. Translators: {time} is when the next attempt happens, such as "14:30". #. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641 #: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format #, rust-format
msgid "retrying {time}" msgid "retrying {time}"
msgstr "erneuter Versuch {time}" msgstr "erneuter Versuch {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:643 #: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume" msgid "waiting for sync to resume"
msgstr "wartet auf Fortsetzung der Synchronisierung" msgstr "wartet auf Fortsetzung der Synchronisierung"
#: crates/pdfs-gui/src/app/pages/locations.rs:644 #: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next" msgid "up next"
msgstr "als Nächstes" msgstr "als Nächstes"
#: crates/pdfs-gui/src/app/pages/locations.rs:648 #: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format #, rust-format
msgid "{action} · {state}" msgid "{action} · {state}"
msgstr "{action} · {state}" msgstr "{action} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:655 #: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format #, rust-format
msgid "Failed {n} time: {error}" msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}" msgid_plural "Failed {n} times: {error}"
msgstr[0] "{n}-mal fehlgeschlagen: {error}" msgstr[0] "{n}-mal fehlgeschlagen: {error}"
msgstr[1] "{n}-mal fehlgeschlagen: {error}" msgstr[1] "{n}-mal fehlgeschlagen: {error}"
#: crates/pdfs-gui/src/app/pages/locations.rs:681 #: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now" msgid "Retry now"
msgstr "Jetzt erneut versuchen" msgstr "Jetzt erneut versuchen"
#: crates/pdfs-gui/src/app/pages/locations.rs:700 #: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr "Exportieren"
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr "Eine Kopie des Dateiinhalts an einem anderen Ort speichern"
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
"Dein Proton-Drive-Speicher ist voll. Gib Speicherplatz frei oder wechsle zu "
"einem größeren Tarif, dann wird diese Änderung von selbst hochgeladen."
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
"Du kannst das auf Proton Drive nicht mehr ändern. Bitte den Eigentümer um "
"Bearbeitungsrechte oder exportiere die Datei, um deine Version zu behalten."
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
"Der Ordner, zu dem diese Änderung gehört, ist nicht mehr auf Proton Drive. "
"Exportiere die Datei, um deine Version zu behalten."
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
"Proton Drive erlaubt nicht mehr Elemente in einem Ordner oder keine tiefere "
"Verschachtelung. Schaffe Platz im Ordner und versuche es dann erneut."
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr ""
"Proton Drive hat diese Änderung abgelehnt. Sie bleibt in der Warteschlange "
"und wird erneut versucht."
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr "Datei exportieren"
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr "Die Datei konnte nicht exportiert werden"
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Dieser Ort ist keine lokale Datei."
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr "Datei exportiert"
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…" msgid "Retrying now…"
msgstr "Wird erneut versucht …" msgstr "Wird erneut versucht …"
#: crates/pdfs-gui/src/app/pages/locations.rs:705 #: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:709 #: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry" msgid "Couldn't retry"
msgstr "Erneuter Versuch fehlgeschlagen" msgstr "Erneuter Versuch fehlgeschlagen"
#: crates/pdfs-gui/src/app/pages/locations.rs:779 #: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format #, rust-format
msgid "{size}, changed {time}" msgid "{size}, changed {time}"
msgstr "{size}, geändert {time}" msgstr "{size}, geändert {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:789 #: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left" msgid "The original is gone; only this copy is left"
msgstr "Das Original ist weg; nur diese Kopie ist übrig" msgstr "Das Original ist weg; nur diese Kopie ist übrig"
#: crates/pdfs-gui/src/app/pages/locations.rs:791 #: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original" msgid "Same content as the original"
msgstr "Gleicher Inhalt wie das Original" msgstr "Gleicher Inhalt wie das Original"
#: crates/pdfs-gui/src/app/pages/locations.rs:832 #: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format #, rust-format
msgid "" msgid ""
"“{name}” was changed here and elsewhere at the same time.\n" "“{name}” was changed here and elsewhere at the same time.\n"
@@ -2798,7 +2864,7 @@ msgstr ""
"Was nicht behalten wird, kommt in den Papierkorb und kann dort " "Was nicht behalten wird, kommt in den Papierkorb und kann dort "
"wiederhergestellt werden." "wiederhergestellt werden."
#: crates/pdfs-gui/src/app/pages/locations.rs:844 #: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format #, rust-format
msgid "" msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n" "The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2810,113 +2876,113 @@ msgstr ""
"\n" "\n"
"Die Kopie behalten, um ihr den ursprünglichen Namen zurückzugeben." "Die Kopie behalten, um ihr den ursprünglichen Namen zurückzugeben."
#: crates/pdfs-gui/src/app/pages/locations.rs:850 #: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict" msgid "Resolve Conflict"
msgstr "Konflikt lösen" msgstr "Konflikt lösen"
#: crates/pdfs-gui/src/app/pages/locations.rs:855 #: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both" msgid "Name for the copy, if keeping both"
msgstr "Name für die Kopie, falls beide behalten werden" msgstr "Name für die Kopie, falls beide behalten werden"
#: crates/pdfs-gui/src/app/pages/locations.rs:862 #: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original" msgid "Keep Original"
msgstr "Original behalten" msgstr "Original behalten"
#: crates/pdfs-gui/src/app/pages/locations.rs:863 #: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both" msgid "Keep Both"
msgstr "Beide behalten" msgstr "Beide behalten"
#: crates/pdfs-gui/src/app/pages/locations.rs:865 #: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy" msgid "Keep Copy"
msgstr "Kopie behalten" msgstr "Kopie behalten"
#: crates/pdfs-gui/src/app/pages/locations.rs:922 #: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:928 #: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict" msgid "Couldn't resolve the conflict"
msgstr "Der Konflikt konnte nicht gelöst werden" msgstr "Der Konflikt konnte nicht gelöst werden"
#: crates/pdfs-gui/src/app/pages/locations.rs:971 #: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations." msgid "Reading this computer's Proton Drive locations."
msgstr "Proton-Drive-Orte dieses Computers werden gelesen." msgstr "Proton-Drive-Orte dieses Computers werden gelesen."
#: crates/pdfs-gui/src/app/pages/locations.rs:992 #: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable" msgid "Unavailable"
msgstr "Nicht verfügbar" msgstr "Nicht verfügbar"
#: crates/pdfs-gui/src/app/pages/locations.rs:1075 #: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet" msgid "No folders yet"
msgstr "Noch keine Ordner" msgstr "Noch keine Ordner"
#: crates/pdfs-gui/src/app/pages/locations.rs:1077 #: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet." msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "Der Proton-Drive-Dienst hat seinen Ordner noch nicht gemeldet." msgstr "Der Proton-Drive-Dienst hat seinen Ordner noch nicht gemeldet."
#: crates/pdfs-gui/src/app/pages/locations.rs:1100 #: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format #, rust-format
msgid "{path} · {state}" msgid "{path} · {state}"
msgstr "{path} · {state}" msgstr "{path} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:1143 #: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only" msgid "Read-only"
msgstr "Schreibgeschützt" msgstr "Schreibgeschützt"
#: crates/pdfs-gui/src/app/pages/locations.rs:1159 #: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files" msgid "Open in Files"
msgstr "In Dateien öffnen" msgstr "In Dateien öffnen"
#: crates/pdfs-gui/src/app/pages/locations.rs:1164 #: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…" msgid "Change Location…"
msgstr "Ort ändern …" msgstr "Ort ändern …"
#: crates/pdfs-gui/src/app/pages/locations.rs:1216 #: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer" msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "" msgstr ""
"Auswählen, ob dieser Ordner eine vollständige Kopie auf diesem Computer " "Auswählen, ob dieser Ordner eine vollständige Kopie auf diesem Computer "
"behält" "behält"
#: crates/pdfs-gui/src/app/pages/locations.rs:1232 #: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive." msgid "Keep every file on this computer and in Proton Drive."
msgstr "Jede Datei auf diesem Computer und in Proton Drive behalten." msgstr "Jede Datei auf diesem Computer und in Proton Drive behalten."
#: crates/pdfs-gui/src/app/pages/locations.rs:1237 #: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it." msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "" msgstr ""
"Dateien in Proton Drive behalten und jede erst beim Öffnen herunterladen." "Dateien in Proton Drive behalten und jede erst beim Öffnen herunterladen."
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened. #. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291 #: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode" msgctxt "folder mode"
msgid "Online only" msgid "Online only"
msgstr "Nur online" msgstr "Nur online"
#. Translators: a folder mode: a full copy is kept on this computer. #. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294 #: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode" msgctxt "folder mode"
msgid "Synced" msgid "Synced"
msgstr "Synchronisiert" msgstr "Synchronisiert"
#: crates/pdfs-gui/src/app/pages/locations.rs:1305 #: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now" msgid "Sync Now"
msgstr "Jetzt synchronisieren" msgstr "Jetzt synchronisieren"
#: crates/pdfs-gui/src/app/pages/locations.rs:1309 #: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing" msgid "Resume Syncing"
msgstr "Synchronisierung fortsetzen" msgstr "Synchronisierung fortsetzen"
#: crates/pdfs-gui/src/app/pages/locations.rs:1311 #: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing" msgid "Pause Syncing"
msgstr "Synchronisierung pausieren" msgstr "Synchronisierung pausieren"
#: crates/pdfs-gui/src/app/pages/locations.rs:1322 #: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…" msgid "Stop Syncing…"
msgstr "Synchronisierung beenden …" msgstr "Synchronisierung beenden …"
#: crates/pdfs-gui/src/app/pages/locations.rs:1331 #: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?" msgid "Make Folder Online Only?"
msgstr "Ordner auf „Nur online“ umstellen?" msgstr "Ordner auf „Nur online“ umstellen?"
#. Translators: {path} is a local folder path. #. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333 #: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format #, rust-format
msgid "" msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
@@ -2925,11 +2991,11 @@ msgstr ""
"Dateien in {path} werden von diesem Computer entfernt und nur in Proton " "Dateien in {path} werden von diesem Computer entfernt und nur in Proton "
"Drive behalten. Jede Datei wird beim Öffnen erneut heruntergeladen." "Drive behalten. Jede Datei wird beim Öffnen erneut heruntergeladen."
#: crates/pdfs-gui/src/app/pages/locations.rs:1336 #: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only" msgid "Make Online Only"
msgstr "Nur online verfügbar machen" msgstr "Nur online verfügbar machen"
#: crates/pdfs-gui/src/app/pages/locations.rs:1372 #: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format #, rust-format
msgid "" msgid ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
@@ -2938,61 +3004,61 @@ msgstr ""
"Jede Datei in {path} wird auf diesen Computer heruntergeladen und bleibt " "Jede Datei in {path} wird auf diesen Computer heruntergeladen und bleibt "
"synchronisiert. Auf diesem Datenträger sind {free} frei." "synchronisiert. Auf diesem Datenträger sind {free} frei."
#: crates/pdfs-gui/src/app/pages/locations.rs:1377 #: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format #, rust-format
msgid "Every file in {path} will download to this computer and stay synced." msgid "Every file in {path} will download to this computer and stay synced."
msgstr "" msgstr ""
"Jede Datei in {path} wird auf diesen Computer heruntergeladen und bleibt " "Jede Datei in {path} wird auf diesen Computer heruntergeladen und bleibt "
"synchronisiert." "synchronisiert."
#: crates/pdfs-gui/src/app/pages/locations.rs:1382 #: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?" msgid "Download Folder?"
msgstr "Ordner herunterladen?" msgstr "Ordner herunterladen?"
#: crates/pdfs-gui/src/app/pages/locations.rs:1386 #: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download" msgid "Download"
msgstr "Herunterladen" msgstr "Herunterladen"
#: crates/pdfs-gui/src/app/pages/locations.rs:1410 #: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder" msgid "Couldn't pause the folder"
msgstr "Der Ordner konnte nicht pausiert werden" msgstr "Der Ordner konnte nicht pausiert werden"
#: crates/pdfs-gui/src/app/pages/locations.rs:1411 #: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder" msgid "Couldn't resume the folder"
msgstr "Der Ordner konnte nicht fortgesetzt werden" msgstr "Der Ordner konnte nicht fortgesetzt werden"
#: crates/pdfs-gui/src/app/pages/locations.rs:1417 #: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused" msgid "Folder paused"
msgstr "Ordner pausiert" msgstr "Ordner pausiert"
#: crates/pdfs-gui/src/app/pages/locations.rs:1418 #: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed" msgid "Folder resumed"
msgstr "Ordner fortgesetzt" msgstr "Ordner fortgesetzt"
#: crates/pdfs-gui/src/app/pages/locations.rs:1442 #: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1446 #: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync" msgid "Couldn't sync"
msgstr "Synchronisieren fehlgeschlagen" msgstr "Synchronisieren fehlgeschlagen"
#: crates/pdfs-gui/src/app/pages/locations.rs:1472 #: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder" msgid "Shared folder"
msgstr "Geteilter Ordner" msgstr "Geteilter Ordner"
#: crates/pdfs-gui/src/app/pages/locations.rs:1474 #: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only" msgid "Going online only"
msgstr "Wird auf „Nur online“ umgestellt" msgstr "Wird auf „Nur online“ umgestellt"
#: crates/pdfs-gui/src/app/pages/locations.rs:1475 #: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced" msgid "Switching to synced"
msgstr "Wird auf synchronisiert umgestellt" msgstr "Wird auf synchronisiert umgestellt"
#: crates/pdfs-gui/src/app/pages/locations.rs:1485 #: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state" msgctxt "state"
msgid "paused" msgid "paused"
msgstr "pausiert" msgstr "pausiert"
#. Translators: a folder's files can't be opened right now. #. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496 #: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available" msgid "not available"
msgstr "nicht verfügbar" msgstr "nicht verfügbar"
@@ -5506,10 +5572,6 @@ msgstr "Version speichern"
msgid "Couldn't save that version" msgid "Couldn't save that version"
msgstr "Diese Version konnte nicht gespeichert werden" msgstr "Diese Version konnte nicht gespeichert werden"
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Dieser Ort ist keine lokale Datei."
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358 #: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved" msgid "Version saved"
msgstr "Version gespeichert" msgstr "Version gespeichert"
+179 -119
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-29 00:18+0200\n" "POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: English (United Kingdom)\n" "Language-Team: English (United Kingdom)\n"
@@ -64,7 +64,7 @@ msgstr "%A %-d %B %Y, %H:%M"
#: crates/pdfs-gui/src/app/pages/browser.rs:1217 #: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090 #: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167 #: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471 #: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171 #: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files" msgid "My files"
@@ -267,9 +267,9 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:979 #: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031 #: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075 #: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:860 #: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1335 #: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1385 #: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312 #: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055 #: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946 #: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -473,8 +473,8 @@ msgstr "Nothing in the recent log fits this filter."
#: crates/pdfs-gui/src/app/pages/activity.rs:186 #: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281 #: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114 #: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183 #: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:680 #: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465 #: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183 #: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -510,8 +510,8 @@ msgstr "View Options"
#: crates/pdfs-gui/src/app/pages/browser.rs:2635 #: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639 #: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325 #: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191 #: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:970 #: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422 #: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284 #: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -1013,7 +1013,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from. #. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346 #: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795 #: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format #, rust-format
msgid "Differs from {name}" msgid "Differs from {name}"
msgstr "Differs from {name}" msgstr "Differs from {name}"
@@ -1200,11 +1200,12 @@ msgstr "Couldn't load albums"
#: crates/pdfs-gui/src/app/pages/devices.rs:884 #: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120 #: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220 #: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535 #: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:710 #: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:929 #: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1427 #: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1447 #: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425 #: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420 #: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140 #: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2141,7 +2142,7 @@ msgid "Add Folder to Sync"
msgstr "Add Folder to Sync" msgstr "Add Folder to Sync"
#: crates/pdfs-gui/src/app/pages/devices.rs:686 #: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440 #: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…" msgid "Syncing folder…"
msgstr "Syncing folder…" msgstr "Syncing folder…"
@@ -2494,19 +2495,19 @@ msgstr[1] "Move {n} photos to Trash"
msgid "Keep" msgid "Keep"
msgstr "Keep" msgstr "Keep"
#: crates/pdfs-gui/src/app/pages/locations.rs:125 #: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder" msgid "Add Folder"
msgstr "Add Folder" msgstr "Add Folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:130 #: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device" msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "Back a local folder up to this computer's Proton Drive device" msgstr "Back a local folder up to this computer's Proton Drive device"
#: crates/pdfs-gui/src/app/pages/locations.rs:140 #: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts" msgid "Conflicts"
msgstr "Conflicts" msgstr "Conflicts"
#: crates/pdfs-gui/src/app/pages/locations.rs:142 #: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid "" msgid ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
@@ -2514,7 +2515,7 @@ msgstr ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
#: crates/pdfs-gui/src/app/pages/locations.rs:158 #: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid "" msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
@@ -2522,133 +2523,133 @@ msgstr ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
#: crates/pdfs-gui/src/app/pages/locations.rs:169 #: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes" msgid "About Sync Modes"
msgstr "About Sync Modes" msgstr "About Sync Modes"
#: crates/pdfs-gui/src/app/pages/locations.rs:178 #: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65 #: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders" msgid "Folders"
msgstr "Folders" msgstr "Folders"
#: crates/pdfs-gui/src/app/pages/locations.rs:213 #: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view" msgctxt "sync view"
msgid "Overview" msgid "Overview"
msgstr "Overview" msgstr "Overview"
#: crates/pdfs-gui/src/app/pages/locations.rs:219 #: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view" msgctxt "sync view"
msgid "Folders" msgid "Folders"
msgstr "Folders" msgstr "Folders"
#: crates/pdfs-gui/src/app/pages/locations.rs:225 #: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view" msgctxt "sync view"
msgid "History" msgid "History"
msgstr "History" msgstr "History"
#: crates/pdfs-gui/src/app/pages/locations.rs:232 #: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210 #: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review" msgid "Review"
msgstr "Review" msgstr "Review"
#: crates/pdfs-gui/src/app/pages/locations.rs:363 #: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format #, rust-format
msgid "{n} change couldn't be uploaded" msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded" msgid_plural "{n} changes couldn't be uploaded"
msgstr[0] "{n} change couldn't be uploaded" msgstr[0] "{n} change couldn't be uploaded"
msgstr[1] "{n} changes couldn't be uploaded" msgstr[1] "{n} changes couldn't be uploaded"
#: crates/pdfs-gui/src/app/pages/locations.rs:369 #: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format #, rust-format
msgid "{n} file was changed in two places at once" msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once" msgid_plural "{n} files were changed in two places at once"
msgstr[0] "{n} file was changed in two places at once" msgstr[0] "{n} file was changed in two places at once"
msgstr[1] "{n} files were changed in two places at once" msgstr[1] "{n} files were changed in two places at once"
#: crates/pdfs-gui/src/app/pages/locations.rs:374 #: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention" msgid "Some files need your attention"
msgstr "Some files need your attention" msgstr "Some files need your attention"
#: crates/pdfs-gui/src/app/pages/locations.rs:391 #: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…" msgid "Checking…"
msgstr "Checking…" msgstr "Checking…"
#: crates/pdfs-gui/src/app/pages/locations.rs:419 #: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour" msgid "Pause for 1 Hour"
msgstr "Pause for 1 Hour" msgstr "Pause for 1 Hour"
#: crates/pdfs-gui/src/app/pages/locations.rs:423 #: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours" msgid "Pause for 8 Hours"
msgstr "Pause for 8 Hours" msgstr "Pause for 8 Hours"
#: crates/pdfs-gui/src/app/pages/locations.rs:427 #: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours" msgid "Pause for 24 Hours"
msgstr "Pause for 24 Hours" msgstr "Pause for 24 Hours"
#: crates/pdfs-gui/src/app/pages/locations.rs:431 #: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:467 #: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb" msgctxt "verb"
msgid "Pause" msgid "Pause"
msgstr "Pause" msgstr "Pause"
#: crates/pdfs-gui/src/app/pages/locations.rs:435 #: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:472 #: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual." msgid "Stop uploading until you resume. Files still open as usual."
msgstr "Stop uploading until you resume. Files still open as usual." msgstr "Stop uploading until you resume. Files still open as usual."
#: crates/pdfs-gui/src/app/pages/locations.rs:437 #: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while" msgid "Pause for a while"
msgstr "Pause for a while" msgstr "Pause for a while"
#: crates/pdfs-gui/src/app/pages/locations.rs:465 #: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb" msgctxt "verb"
msgid "Resume" msgid "Resume"
msgstr "Resume" msgstr "Resume"
#: crates/pdfs-gui/src/app/pages/locations.rs:470 #: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused" msgid "Upload everything that waited while sync was paused"
msgstr "Upload everything that waited while sync was paused" msgstr "Upload everything that waited while sync was paused"
#: crates/pdfs-gui/src/app/pages/locations.rs:518 #: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync" msgid "Couldn't pause sync"
msgstr "Couldn't pause sync" msgstr "Couldn't pause sync"
#: crates/pdfs-gui/src/app/pages/locations.rs:520 #: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync" msgid "Couldn't resume sync"
msgstr "Couldn't resume sync" msgstr "Couldn't resume sync"
#: crates/pdfs-gui/src/app/pages/locations.rs:526 #: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed" msgid "Sync resumed"
msgstr "Sync resumed" msgstr "Sync resumed"
#: crates/pdfs-gui/src/app/pages/locations.rs:527 #: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume" msgid "Sync paused until you resume"
msgstr "Sync paused until you resume" msgstr "Sync paused until you resume"
#: crates/pdfs-gui/src/app/pages/locations.rs:528 #: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237 #: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused" msgid "Sync paused"
msgstr "Sync paused" msgstr "Sync paused"
#: crates/pdfs-gui/src/app/pages/locations.rs:546 #: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All" msgid "Retry All"
msgstr "Retry All" msgstr "Retry All"
#: crates/pdfs-gui/src/app/pages/locations.rs:548 #: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now" msgid "Try every failed change again now"
msgstr "Try every failed change again now" msgstr "Try every failed change again now"
#: crates/pdfs-gui/src/app/pages/locations.rs:553 #: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload" msgid "Waiting to Upload"
msgstr "Waiting to Upload" msgstr "Waiting to Upload"
#: crates/pdfs-gui/src/app/pages/locations.rs:555 #: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:614 #: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet." msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "Changes made on this computer that are not on Proton Drive yet." msgstr "Changes made on this computer that are not on Proton Drive yet."
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes. #. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612 #: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format #, rust-format
msgid "" msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2663,89 +2664,152 @@ msgstr[1] ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
"first {shown} of {n}." "first {shown} of {n}."
#: crates/pdfs-gui/src/app/pages/locations.rs:629 #: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes" msgid "Upload changes"
msgstr "Upload changes" msgstr "Upload changes"
#: crates/pdfs-gui/src/app/pages/locations.rs:630 #: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file" msgid "Upload new file"
msgstr "Upload new file" msgstr "Upload new file"
#: crates/pdfs-gui/src/app/pages/locations.rs:631 #: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder" msgid "Create folder"
msgstr "Create folder" msgstr "Create folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:632 #: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move" msgid "Rename or move"
msgstr "Rename or move" msgstr "Rename or move"
#: crates/pdfs-gui/src/app/pages/locations.rs:633 #: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash" msgid "Move to trash"
msgstr "Move to trash" msgstr "Move to trash"
#. Translators: a queued change of an unknown kind. #. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635 #: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun" msgctxt "noun"
msgid "Change" msgid "Change"
msgstr "Change" msgstr "Change"
#: crates/pdfs-gui/src/app/pages/locations.rs:638 #: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish" msgid "waiting for the app writing it to finish"
msgstr "waiting for the app writing it to finish" msgstr "waiting for the app writing it to finish"
#. Translators: {time} is when the next attempt happens, such as "14:30". #. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641 #: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format #, rust-format
msgid "retrying {time}" msgid "retrying {time}"
msgstr "retrying {time}" msgstr "retrying {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:643 #: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume" msgid "waiting for sync to resume"
msgstr "waiting for sync to resume" msgstr "waiting for sync to resume"
#: crates/pdfs-gui/src/app/pages/locations.rs:644 #: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next" msgid "up next"
msgstr "up next" msgstr "up next"
#: crates/pdfs-gui/src/app/pages/locations.rs:648 #: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format #, rust-format
msgid "{action} · {state}" msgid "{action} · {state}"
msgstr "{action} · {state}" msgstr "{action} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:655 #: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format #, rust-format
msgid "Failed {n} time: {error}" msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}" msgid_plural "Failed {n} times: {error}"
msgstr[0] "Failed {n} time: {error}" msgstr[0] "Failed {n} time: {error}"
msgstr[1] "Failed {n} times: {error}" msgstr[1] "Failed {n} times: {error}"
#: crates/pdfs-gui/src/app/pages/locations.rs:681 #: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now" msgid "Retry now"
msgstr "Retry now" msgstr "Retry now"
#: crates/pdfs-gui/src/app/pages/locations.rs:700 #: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr "Export"
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr "Save a copy of this file's content elsewhere"
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr "Proton Drive refused this change. It stays queued and is tried again."
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr "Export File"
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr "Couldn't export the file"
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "That location isn't a local file."
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr "File exported"
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…" msgid "Retrying now…"
msgstr "Retrying now…" msgstr "Retrying now…"
#: crates/pdfs-gui/src/app/pages/locations.rs:705 #: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:709 #: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry" msgid "Couldn't retry"
msgstr "Couldn't retry" msgstr "Couldn't retry"
#: crates/pdfs-gui/src/app/pages/locations.rs:779 #: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format #, rust-format
msgid "{size}, changed {time}" msgid "{size}, changed {time}"
msgstr "{size}, changed {time}" msgstr "{size}, changed {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:789 #: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left" msgid "The original is gone; only this copy is left"
msgstr "The original is gone; only this copy is left" msgstr "The original is gone; only this copy is left"
#: crates/pdfs-gui/src/app/pages/locations.rs:791 #: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original" msgid "Same content as the original"
msgstr "Same content as the original" msgstr "Same content as the original"
#: crates/pdfs-gui/src/app/pages/locations.rs:832 #: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format #, rust-format
msgid "" msgid ""
"“{name}” was changed here and elsewhere at the same time.\n" "“{name}” was changed here and elsewhere at the same time.\n"
@@ -2762,7 +2826,7 @@ msgstr ""
"\n" "\n"
"Whatever is not kept goes to Trash, where it can be restored." "Whatever is not kept goes to Trash, where it can be restored."
#: crates/pdfs-gui/src/app/pages/locations.rs:844 #: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format #, rust-format
msgid "" msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n" "The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2773,110 +2837,110 @@ msgstr ""
"\n" "\n"
"Keep the copy to give it the original name back." "Keep the copy to give it the original name back."
#: crates/pdfs-gui/src/app/pages/locations.rs:850 #: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict" msgid "Resolve Conflict"
msgstr "Resolve Conflict" msgstr "Resolve Conflict"
#: crates/pdfs-gui/src/app/pages/locations.rs:855 #: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both" msgid "Name for the copy, if keeping both"
msgstr "Name for the copy, if keeping both" msgstr "Name for the copy, if keeping both"
#: crates/pdfs-gui/src/app/pages/locations.rs:862 #: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original" msgid "Keep Original"
msgstr "Keep Original" msgstr "Keep Original"
#: crates/pdfs-gui/src/app/pages/locations.rs:863 #: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both" msgid "Keep Both"
msgstr "Keep Both" msgstr "Keep Both"
#: crates/pdfs-gui/src/app/pages/locations.rs:865 #: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy" msgid "Keep Copy"
msgstr "Keep Copy" msgstr "Keep Copy"
#: crates/pdfs-gui/src/app/pages/locations.rs:922 #: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:928 #: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict" msgid "Couldn't resolve the conflict"
msgstr "Couldn't resolve the conflict" msgstr "Couldn't resolve the conflict"
#: crates/pdfs-gui/src/app/pages/locations.rs:971 #: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations." msgid "Reading this computer's Proton Drive locations."
msgstr "Reading this computer's Proton Drive locations." msgstr "Reading this computer's Proton Drive locations."
#: crates/pdfs-gui/src/app/pages/locations.rs:992 #: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable" msgid "Unavailable"
msgstr "Unavailable" msgstr "Unavailable"
#: crates/pdfs-gui/src/app/pages/locations.rs:1075 #: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet" msgid "No folders yet"
msgstr "No folders yet" msgstr "No folders yet"
#: crates/pdfs-gui/src/app/pages/locations.rs:1077 #: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet." msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "The Proton Drive service hasn't reported its folder yet." msgstr "The Proton Drive service hasn't reported its folder yet."
#: crates/pdfs-gui/src/app/pages/locations.rs:1100 #: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format #, rust-format
msgid "{path} · {state}" msgid "{path} · {state}"
msgstr "{path} · {state}" msgstr "{path} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:1143 #: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only" msgid "Read-only"
msgstr "Read-only" msgstr "Read-only"
#: crates/pdfs-gui/src/app/pages/locations.rs:1159 #: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files" msgid "Open in Files"
msgstr "Open in Files" msgstr "Open in Files"
#: crates/pdfs-gui/src/app/pages/locations.rs:1164 #: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…" msgid "Change Location…"
msgstr "Change Location…" msgstr "Change Location…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1216 #: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer" msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "Choose whether this folder keeps a full copy on this computer" msgstr "Choose whether this folder keeps a full copy on this computer"
#: crates/pdfs-gui/src/app/pages/locations.rs:1232 #: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive." msgid "Keep every file on this computer and in Proton Drive."
msgstr "Keep every file on this computer and in Proton Drive." msgstr "Keep every file on this computer and in Proton Drive."
#: crates/pdfs-gui/src/app/pages/locations.rs:1237 #: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it." msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "Keep the files in Proton Drive and download each one when you open it." msgstr "Keep the files in Proton Drive and download each one when you open it."
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened. #. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291 #: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode" msgctxt "folder mode"
msgid "Online only" msgid "Online only"
msgstr "Online only" msgstr "Online only"
#. Translators: a folder mode: a full copy is kept on this computer. #. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294 #: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode" msgctxt "folder mode"
msgid "Synced" msgid "Synced"
msgstr "Synced" msgstr "Synced"
#: crates/pdfs-gui/src/app/pages/locations.rs:1305 #: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now" msgid "Sync Now"
msgstr "Sync Now" msgstr "Sync Now"
#: crates/pdfs-gui/src/app/pages/locations.rs:1309 #: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing" msgid "Resume Syncing"
msgstr "Resume Syncing" msgstr "Resume Syncing"
#: crates/pdfs-gui/src/app/pages/locations.rs:1311 #: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing" msgid "Pause Syncing"
msgstr "Pause Syncing" msgstr "Pause Syncing"
#: crates/pdfs-gui/src/app/pages/locations.rs:1322 #: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…" msgid "Stop Syncing…"
msgstr "Stop Syncing…" msgstr "Stop Syncing…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1331 #: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?" msgid "Make Folder Online Only?"
msgstr "Make Folder Online Only?" msgstr "Make Folder Online Only?"
#. Translators: {path} is a local folder path. #. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333 #: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format #, rust-format
msgid "" msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
@@ -2885,11 +2949,11 @@ msgstr ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
"only. Each file downloads again when you open it." "only. Each file downloads again when you open it."
#: crates/pdfs-gui/src/app/pages/locations.rs:1336 #: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only" msgid "Make Online Only"
msgstr "Make Online Only" msgstr "Make Online Only"
#: crates/pdfs-gui/src/app/pages/locations.rs:1372 #: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format #, rust-format
msgid "" msgid ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
@@ -2898,59 +2962,59 @@ msgstr ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
"is free on this disk." "is free on this disk."
#: crates/pdfs-gui/src/app/pages/locations.rs:1377 #: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format #, rust-format
msgid "Every file in {path} will download to this computer and stay synced." msgid "Every file in {path} will download to this computer and stay synced."
msgstr "Every file in {path} will download to this computer and stay synced." msgstr "Every file in {path} will download to this computer and stay synced."
#: crates/pdfs-gui/src/app/pages/locations.rs:1382 #: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?" msgid "Download Folder?"
msgstr "Download Folder?" msgstr "Download Folder?"
#: crates/pdfs-gui/src/app/pages/locations.rs:1386 #: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download" msgid "Download"
msgstr "Download" msgstr "Download"
#: crates/pdfs-gui/src/app/pages/locations.rs:1410 #: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder" msgid "Couldn't pause the folder"
msgstr "Couldn't pause the folder" msgstr "Couldn't pause the folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:1411 #: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder" msgid "Couldn't resume the folder"
msgstr "Couldn't resume the folder" msgstr "Couldn't resume the folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:1417 #: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused" msgid "Folder paused"
msgstr "Folder paused" msgstr "Folder paused"
#: crates/pdfs-gui/src/app/pages/locations.rs:1418 #: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed" msgid "Folder resumed"
msgstr "Folder resumed" msgstr "Folder resumed"
#: crates/pdfs-gui/src/app/pages/locations.rs:1442 #: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1446 #: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync" msgid "Couldn't sync"
msgstr "Couldn't sync" msgstr "Couldn't sync"
#: crates/pdfs-gui/src/app/pages/locations.rs:1472 #: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder" msgid "Shared folder"
msgstr "Shared folder" msgstr "Shared folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:1474 #: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only" msgid "Going online only"
msgstr "Going online only" msgstr "Going online only"
#: crates/pdfs-gui/src/app/pages/locations.rs:1475 #: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced" msgid "Switching to synced"
msgstr "Switching to synced" msgstr "Switching to synced"
#: crates/pdfs-gui/src/app/pages/locations.rs:1485 #: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state" msgctxt "state"
msgid "paused" msgid "paused"
msgstr "paused" msgstr "paused"
#. Translators: a folder's files can't be opened right now. #. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496 #: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available" msgid "not available"
msgstr "not available" msgstr "not available"
@@ -5408,10 +5472,6 @@ msgstr "Save version"
msgid "Couldn't save that version" msgid "Couldn't save that version"
msgstr "Couldn't save that version" msgstr "Couldn't save that version"
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "That location isn't a local file."
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358 #: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved" msgid "Version saved"
msgstr "Version saved" msgstr "Version saved"
+180 -119
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-29 00:18+0200\n" "POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
@@ -64,7 +64,7 @@ msgstr "%A, %-d de %B de %Y, %H:%M"
#: crates/pdfs-gui/src/app/pages/browser.rs:1217 #: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090 #: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167 #: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471 #: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171 #: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files" msgid "My files"
@@ -269,9 +269,9 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:979 #: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031 #: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075 #: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:860 #: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1335 #: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1385 #: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312 #: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055 #: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946 #: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -475,8 +475,8 @@ msgstr "Nada del registro reciente coincide con este filtro."
#: crates/pdfs-gui/src/app/pages/activity.rs:186 #: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281 #: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114 #: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183 #: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:680 #: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465 #: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183 #: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -513,8 +513,8 @@ msgstr "Opciones de vista"
#: crates/pdfs-gui/src/app/pages/browser.rs:2635 #: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639 #: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325 #: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191 #: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:970 #: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422 #: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284 #: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -1018,7 +1018,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from. #. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346 #: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795 #: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format #, rust-format
msgid "Differs from {name}" msgid "Differs from {name}"
msgstr "Difiere de {name}" msgstr "Difiere de {name}"
@@ -1205,11 +1205,12 @@ msgstr "No se pudieron cargar los álbumes"
#: crates/pdfs-gui/src/app/pages/devices.rs:884 #: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120 #: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220 #: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535 #: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:710 #: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:929 #: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1427 #: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1447 #: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425 #: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420 #: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140 #: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2152,7 +2153,7 @@ msgid "Add Folder to Sync"
msgstr "Añadir carpeta para sincronizar" msgstr "Añadir carpeta para sincronizar"
#: crates/pdfs-gui/src/app/pages/devices.rs:686 #: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440 #: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…" msgid "Syncing folder…"
msgstr "Sincronizando la carpeta…" msgstr "Sincronizando la carpeta…"
@@ -2509,21 +2510,21 @@ msgstr[1] "Mover {n} fotos a la papelera"
msgid "Keep" msgid "Keep"
msgstr "Conservar" msgstr "Conservar"
#: crates/pdfs-gui/src/app/pages/locations.rs:125 #: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder" msgid "Add Folder"
msgstr "Añadir carpeta" msgstr "Añadir carpeta"
#: crates/pdfs-gui/src/app/pages/locations.rs:130 #: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device" msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "" msgstr ""
"Hacer copia de seguridad de una carpeta local en el dispositivo de Proton " "Hacer copia de seguridad de una carpeta local en el dispositivo de Proton "
"Drive de este equipo" "Drive de este equipo"
#: crates/pdfs-gui/src/app/pages/locations.rs:140 #: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts" msgid "Conflicts"
msgstr "Conflictos" msgstr "Conflictos"
#: crates/pdfs-gui/src/app/pages/locations.rs:142 #: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid "" msgid ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
@@ -2531,7 +2532,7 @@ msgstr ""
"Archivos modificados en dos lugares a la vez. Se conservaron ambas " "Archivos modificados en dos lugares a la vez. Se conservaron ambas "
"versiones; elija cuál se queda." "versiones; elija cuál se queda."
#: crates/pdfs-gui/src/app/pages/locations.rs:158 #: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid "" msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
@@ -2539,136 +2540,136 @@ msgstr ""
"Las carpetas sincronizadas guardan una copia completa en este equipo. Las " "Las carpetas sincronizadas guardan una copia completa en este equipo. Las "
"carpetas solo en línea descargan cada archivo al abrirlo." "carpetas solo en línea descargan cada archivo al abrirlo."
#: crates/pdfs-gui/src/app/pages/locations.rs:169 #: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes" msgid "About Sync Modes"
msgstr "Acerca de los modos de sincronización" msgstr "Acerca de los modos de sincronización"
#: crates/pdfs-gui/src/app/pages/locations.rs:178 #: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65 #: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders" msgid "Folders"
msgstr "Carpetas" msgstr "Carpetas"
#: crates/pdfs-gui/src/app/pages/locations.rs:213 #: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view" msgctxt "sync view"
msgid "Overview" msgid "Overview"
msgstr "Resumen" msgstr "Resumen"
#: crates/pdfs-gui/src/app/pages/locations.rs:219 #: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view" msgctxt "sync view"
msgid "Folders" msgid "Folders"
msgstr "Carpetas" msgstr "Carpetas"
#: crates/pdfs-gui/src/app/pages/locations.rs:225 #: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view" msgctxt "sync view"
msgid "History" msgid "History"
msgstr "Historial" msgstr "Historial"
#: crates/pdfs-gui/src/app/pages/locations.rs:232 #: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210 #: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review" msgid "Review"
msgstr "Revisar" msgstr "Revisar"
#: crates/pdfs-gui/src/app/pages/locations.rs:363 #: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format #, rust-format
msgid "{n} change couldn't be uploaded" msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded" msgid_plural "{n} changes couldn't be uploaded"
msgstr[0] "No se pudo subir {n} cambio" msgstr[0] "No se pudo subir {n} cambio"
msgstr[1] "No se pudieron subir {n} cambios" msgstr[1] "No se pudieron subir {n} cambios"
#: crates/pdfs-gui/src/app/pages/locations.rs:369 #: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format #, rust-format
msgid "{n} file was changed in two places at once" msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once" msgid_plural "{n} files were changed in two places at once"
msgstr[0] "{n} archivo se modificó en dos lugares a la vez" msgstr[0] "{n} archivo se modificó en dos lugares a la vez"
msgstr[1] "{n} archivos se modificaron en dos lugares a la vez" msgstr[1] "{n} archivos se modificaron en dos lugares a la vez"
#: crates/pdfs-gui/src/app/pages/locations.rs:374 #: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention" msgid "Some files need your attention"
msgstr "Algunos archivos requieren su atención" msgstr "Algunos archivos requieren su atención"
#: crates/pdfs-gui/src/app/pages/locations.rs:391 #: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…" msgid "Checking…"
msgstr "Comprobando…" msgstr "Comprobando…"
#: crates/pdfs-gui/src/app/pages/locations.rs:419 #: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour" msgid "Pause for 1 Hour"
msgstr "Pausar durante 1 hora" msgstr "Pausar durante 1 hora"
#: crates/pdfs-gui/src/app/pages/locations.rs:423 #: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours" msgid "Pause for 8 Hours"
msgstr "Pausar durante 8 horas" msgstr "Pausar durante 8 horas"
#: crates/pdfs-gui/src/app/pages/locations.rs:427 #: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours" msgid "Pause for 24 Hours"
msgstr "Pausar durante 24 horas" msgstr "Pausar durante 24 horas"
#: crates/pdfs-gui/src/app/pages/locations.rs:431 #: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:467 #: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb" msgctxt "verb"
msgid "Pause" msgid "Pause"
msgstr "Pausar" msgstr "Pausar"
#: crates/pdfs-gui/src/app/pages/locations.rs:435 #: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:472 #: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual." msgid "Stop uploading until you resume. Files still open as usual."
msgstr "" msgstr ""
"Dejar de subir hasta que reanude. Los archivos se siguen abriendo como " "Dejar de subir hasta que reanude. Los archivos se siguen abriendo como "
"siempre." "siempre."
#: crates/pdfs-gui/src/app/pages/locations.rs:437 #: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while" msgid "Pause for a while"
msgstr "Pausar durante un tiempo" msgstr "Pausar durante un tiempo"
#: crates/pdfs-gui/src/app/pages/locations.rs:465 #: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb" msgctxt "verb"
msgid "Resume" msgid "Resume"
msgstr "Reanudar" msgstr "Reanudar"
#: crates/pdfs-gui/src/app/pages/locations.rs:470 #: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused" msgid "Upload everything that waited while sync was paused"
msgstr "" msgstr ""
"Subir todo lo que quedó en espera mientras la sincronización estaba en pausa" "Subir todo lo que quedó en espera mientras la sincronización estaba en pausa"
#: crates/pdfs-gui/src/app/pages/locations.rs:518 #: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync" msgid "Couldn't pause sync"
msgstr "No se pudo pausar la sincronización" msgstr "No se pudo pausar la sincronización"
#: crates/pdfs-gui/src/app/pages/locations.rs:520 #: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync" msgid "Couldn't resume sync"
msgstr "No se pudo reanudar la sincronización" msgstr "No se pudo reanudar la sincronización"
#: crates/pdfs-gui/src/app/pages/locations.rs:526 #: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed" msgid "Sync resumed"
msgstr "Sincronización reanudada" msgstr "Sincronización reanudada"
#: crates/pdfs-gui/src/app/pages/locations.rs:527 #: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume" msgid "Sync paused until you resume"
msgstr "Sincronización en pausa hasta que la reanude" msgstr "Sincronización en pausa hasta que la reanude"
#: crates/pdfs-gui/src/app/pages/locations.rs:528 #: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237 #: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused" msgid "Sync paused"
msgstr "Sincronización en pausa" msgstr "Sincronización en pausa"
#: crates/pdfs-gui/src/app/pages/locations.rs:546 #: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All" msgid "Retry All"
msgstr "Reintentar todo" msgstr "Reintentar todo"
#: crates/pdfs-gui/src/app/pages/locations.rs:548 #: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now" msgid "Try every failed change again now"
msgstr "Volver a intentar ahora todos los cambios fallidos" msgstr "Volver a intentar ahora todos los cambios fallidos"
#: crates/pdfs-gui/src/app/pages/locations.rs:553 #: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload" msgid "Waiting to Upload"
msgstr "En espera de subida" msgstr "En espera de subida"
#: crates/pdfs-gui/src/app/pages/locations.rs:555 #: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:614 #: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet." msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "Cambios hechos en este equipo que todavía no están en Proton Drive." msgstr "Cambios hechos en este equipo que todavía no están en Proton Drive."
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes. #. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612 #: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format #, rust-format
msgid "" msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2683,89 +2684,153 @@ msgstr[1] ""
"Cambios hechos en este equipo que todavía no están en Proton Drive. Se " "Cambios hechos en este equipo que todavía no están en Proton Drive. Se "
"muestran los primeros {shown} de {n}." "muestran los primeros {shown} de {n}."
#: crates/pdfs-gui/src/app/pages/locations.rs:629 #: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes" msgid "Upload changes"
msgstr "Subir cambios" msgstr "Subir cambios"
#: crates/pdfs-gui/src/app/pages/locations.rs:630 #: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file" msgid "Upload new file"
msgstr "Subir archivo nuevo" msgstr "Subir archivo nuevo"
#: crates/pdfs-gui/src/app/pages/locations.rs:631 #: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder" msgid "Create folder"
msgstr "Crear carpeta" msgstr "Crear carpeta"
#: crates/pdfs-gui/src/app/pages/locations.rs:632 #: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move" msgid "Rename or move"
msgstr "Renombrar o mover" msgstr "Renombrar o mover"
#: crates/pdfs-gui/src/app/pages/locations.rs:633 #: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash" msgid "Move to trash"
msgstr "Mover a la papelera" msgstr "Mover a la papelera"
#. Translators: a queued change of an unknown kind. #. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635 #: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun" msgctxt "noun"
msgid "Change" msgid "Change"
msgstr "Cambio" msgstr "Cambio"
#: crates/pdfs-gui/src/app/pages/locations.rs:638 #: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish" msgid "waiting for the app writing it to finish"
msgstr "esperando a que termine la aplicación que lo escribe" msgstr "esperando a que termine la aplicación que lo escribe"
#. Translators: {time} is when the next attempt happens, such as "14:30". #. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641 #: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format #, rust-format
msgid "retrying {time}" msgid "retrying {time}"
msgstr "reintento a las {time}" msgstr "reintento a las {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:643 #: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume" msgid "waiting for sync to resume"
msgstr "esperando a que se reanude la sincronización" msgstr "esperando a que se reanude la sincronización"
#: crates/pdfs-gui/src/app/pages/locations.rs:644 #: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next" msgid "up next"
msgstr "el siguiente" msgstr "el siguiente"
#: crates/pdfs-gui/src/app/pages/locations.rs:648 #: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format #, rust-format
msgid "{action} · {state}" msgid "{action} · {state}"
msgstr "{action} · {state}" msgstr "{action} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:655 #: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format #, rust-format
msgid "Failed {n} time: {error}" msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}" msgid_plural "Failed {n} times: {error}"
msgstr[0] "Falló {n} vez: {error}" msgstr[0] "Falló {n} vez: {error}"
msgstr[1] "Falló {n} veces: {error}" msgstr[1] "Falló {n} veces: {error}"
#: crates/pdfs-gui/src/app/pages/locations.rs:681 #: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now" msgid "Retry now"
msgstr "Reintentar ahora" msgstr "Reintentar ahora"
#: crates/pdfs-gui/src/app/pages/locations.rs:700 #: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr "Exportar"
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr "Guardar una copia del contenido de este archivo en otro lugar"
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
"Su almacenamiento de Proton Drive está lleno. Libere espacio o mejore su "
"plan, y este cambio se subirá por sí solo."
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
"Ya no puede modificar esto en Proton Drive. Pida al propietario permiso de "
"edición o exporte el archivo para conservar su versión."
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
"La carpeta a la que pertenece este cambio ya no está en Proton Drive. "
"Exporte el archivo para conservar su versión."
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
"Se alcanzó el límite de Proton Drive de elementos por carpeta o de "
"profundidad de carpetas. Haga espacio en la carpeta y vuelva a intentarlo."
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr ""
"Proton Drive rechazó este cambio. Sigue en la cola y se volverá a intentar."
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr "Exportar archivo"
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr "No se pudo exportar el archivo"
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Esa ubicación no es un archivo local."
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr "Archivo exportado"
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…" msgid "Retrying now…"
msgstr "Reintentando ahora…" msgstr "Reintentando ahora…"
#: crates/pdfs-gui/src/app/pages/locations.rs:705 #: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:709 #: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry" msgid "Couldn't retry"
msgstr "No se pudo reintentar" msgstr "No se pudo reintentar"
#: crates/pdfs-gui/src/app/pages/locations.rs:779 #: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format #, rust-format
msgid "{size}, changed {time}" msgid "{size}, changed {time}"
msgstr "{size}, modificado {time}" msgstr "{size}, modificado {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:789 #: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left" msgid "The original is gone; only this copy is left"
msgstr "El original ya no existe; solo queda esta copia" msgstr "El original ya no existe; solo queda esta copia"
#: crates/pdfs-gui/src/app/pages/locations.rs:791 #: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original" msgid "Same content as the original"
msgstr "Mismo contenido que el original" msgstr "Mismo contenido que el original"
#: crates/pdfs-gui/src/app/pages/locations.rs:832 #: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format #, rust-format
msgid "" msgid ""
"“{name}” was changed here and elsewhere at the same time.\n" "“{name}” was changed here and elsewhere at the same time.\n"
@@ -2782,7 +2847,7 @@ msgstr ""
"\n" "\n"
"Lo que no se conserve va a la papelera, desde donde se puede restaurar." "Lo que no se conserve va a la papelera, desde donde se puede restaurar."
#: crates/pdfs-gui/src/app/pages/locations.rs:844 #: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format #, rust-format
msgid "" msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n" "The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2793,111 +2858,111 @@ msgstr ""
"\n" "\n"
"Conserve la copia para devolverle el nombre original." "Conserve la copia para devolverle el nombre original."
#: crates/pdfs-gui/src/app/pages/locations.rs:850 #: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict" msgid "Resolve Conflict"
msgstr "Resolver conflicto" msgstr "Resolver conflicto"
#: crates/pdfs-gui/src/app/pages/locations.rs:855 #: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both" msgid "Name for the copy, if keeping both"
msgstr "Nombre de la copia, si se conservan ambos" msgstr "Nombre de la copia, si se conservan ambos"
#: crates/pdfs-gui/src/app/pages/locations.rs:862 #: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original" msgid "Keep Original"
msgstr "Conservar original" msgstr "Conservar original"
#: crates/pdfs-gui/src/app/pages/locations.rs:863 #: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both" msgid "Keep Both"
msgstr "Conservar ambos" msgstr "Conservar ambos"
#: crates/pdfs-gui/src/app/pages/locations.rs:865 #: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy" msgid "Keep Copy"
msgstr "Conservar copia" msgstr "Conservar copia"
#: crates/pdfs-gui/src/app/pages/locations.rs:922 #: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:928 #: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict" msgid "Couldn't resolve the conflict"
msgstr "No se pudo resolver el conflicto" msgstr "No se pudo resolver el conflicto"
#: crates/pdfs-gui/src/app/pages/locations.rs:971 #: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations." msgid "Reading this computer's Proton Drive locations."
msgstr "Leyendo las ubicaciones de Proton Drive de este equipo." msgstr "Leyendo las ubicaciones de Proton Drive de este equipo."
#: crates/pdfs-gui/src/app/pages/locations.rs:992 #: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable" msgid "Unavailable"
msgstr "No disponible" msgstr "No disponible"
#: crates/pdfs-gui/src/app/pages/locations.rs:1075 #: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet" msgid "No folders yet"
msgstr "Todavía no hay carpetas" msgstr "Todavía no hay carpetas"
#: crates/pdfs-gui/src/app/pages/locations.rs:1077 #: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet." msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "El servicio de Proton Drive todavía no ha informado de su carpeta." msgstr "El servicio de Proton Drive todavía no ha informado de su carpeta."
#: crates/pdfs-gui/src/app/pages/locations.rs:1100 #: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format #, rust-format
msgid "{path} · {state}" msgid "{path} · {state}"
msgstr "{path} · {state}" msgstr "{path} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:1143 #: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only" msgid "Read-only"
msgstr "Solo lectura" msgstr "Solo lectura"
#: crates/pdfs-gui/src/app/pages/locations.rs:1159 #: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files" msgid "Open in Files"
msgstr "Abrir en Archivos" msgstr "Abrir en Archivos"
#: crates/pdfs-gui/src/app/pages/locations.rs:1164 #: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…" msgid "Change Location…"
msgstr "Cambiar ubicación…" msgstr "Cambiar ubicación…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1216 #: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer" msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "Elegir si esta carpeta guarda una copia completa en este equipo" msgstr "Elegir si esta carpeta guarda una copia completa en este equipo"
#: crates/pdfs-gui/src/app/pages/locations.rs:1232 #: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive." msgid "Keep every file on this computer and in Proton Drive."
msgstr "Conservar todos los archivos en este equipo y en Proton Drive." msgstr "Conservar todos los archivos en este equipo y en Proton Drive."
#: crates/pdfs-gui/src/app/pages/locations.rs:1237 #: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it." msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "" msgstr ""
"Conservar los archivos en Proton Drive y descargar cada uno al abrirlo." "Conservar los archivos en Proton Drive y descargar cada uno al abrirlo."
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened. #. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291 #: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode" msgctxt "folder mode"
msgid "Online only" msgid "Online only"
msgstr "Solo en línea" msgstr "Solo en línea"
#. Translators: a folder mode: a full copy is kept on this computer. #. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294 #: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode" msgctxt "folder mode"
msgid "Synced" msgid "Synced"
msgstr "Sincronizada" msgstr "Sincronizada"
#: crates/pdfs-gui/src/app/pages/locations.rs:1305 #: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now" msgid "Sync Now"
msgstr "Sincronizar ahora" msgstr "Sincronizar ahora"
#: crates/pdfs-gui/src/app/pages/locations.rs:1309 #: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing" msgid "Resume Syncing"
msgstr "Reanudar la sincronización" msgstr "Reanudar la sincronización"
#: crates/pdfs-gui/src/app/pages/locations.rs:1311 #: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing" msgid "Pause Syncing"
msgstr "Pausar la sincronización" msgstr "Pausar la sincronización"
#: crates/pdfs-gui/src/app/pages/locations.rs:1322 #: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…" msgid "Stop Syncing…"
msgstr "Dejar de sincronizar…" msgstr "Dejar de sincronizar…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1331 #: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?" msgid "Make Folder Online Only?"
msgstr "¿Hacer la carpeta solo en línea?" msgstr "¿Hacer la carpeta solo en línea?"
#. Translators: {path} is a local folder path. #. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333 #: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format #, rust-format
msgid "" msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
@@ -2906,11 +2971,11 @@ msgstr ""
"Los archivos de {path} se quitarán de este equipo y se conservarán solo en " "Los archivos de {path} se quitarán de este equipo y se conservarán solo en "
"Proton Drive. Cada archivo se vuelve a descargar al abrirlo." "Proton Drive. Cada archivo se vuelve a descargar al abrirlo."
#: crates/pdfs-gui/src/app/pages/locations.rs:1336 #: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only" msgid "Make Online Only"
msgstr "Hacer solo en línea" msgstr "Hacer solo en línea"
#: crates/pdfs-gui/src/app/pages/locations.rs:1372 #: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format #, rust-format
msgid "" msgid ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
@@ -2919,61 +2984,61 @@ msgstr ""
"Todos los archivos de {path} se descargarán en este equipo y se mantendrán " "Todos los archivos de {path} se descargarán en este equipo y se mantendrán "
"sincronizados. Hay {free} libres en este disco." "sincronizados. Hay {free} libres en este disco."
#: crates/pdfs-gui/src/app/pages/locations.rs:1377 #: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format #, rust-format
msgid "Every file in {path} will download to this computer and stay synced." msgid "Every file in {path} will download to this computer and stay synced."
msgstr "" msgstr ""
"Todos los archivos de {path} se descargarán en este equipo y se mantendrán " "Todos los archivos de {path} se descargarán en este equipo y se mantendrán "
"sincronizados." "sincronizados."
#: crates/pdfs-gui/src/app/pages/locations.rs:1382 #: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?" msgid "Download Folder?"
msgstr "¿Descargar la carpeta?" msgstr "¿Descargar la carpeta?"
#: crates/pdfs-gui/src/app/pages/locations.rs:1386 #: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download" msgid "Download"
msgstr "Descargar" msgstr "Descargar"
#: crates/pdfs-gui/src/app/pages/locations.rs:1410 #: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder" msgid "Couldn't pause the folder"
msgstr "No se pudo pausar la carpeta" msgstr "No se pudo pausar la carpeta"
#: crates/pdfs-gui/src/app/pages/locations.rs:1411 #: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder" msgid "Couldn't resume the folder"
msgstr "No se pudo reanudar la carpeta" msgstr "No se pudo reanudar la carpeta"
#: crates/pdfs-gui/src/app/pages/locations.rs:1417 #: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused" msgid "Folder paused"
msgstr "Carpeta en pausa" msgstr "Carpeta en pausa"
#: crates/pdfs-gui/src/app/pages/locations.rs:1418 #: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed" msgid "Folder resumed"
msgstr "Carpeta reanudada" msgstr "Carpeta reanudada"
#: crates/pdfs-gui/src/app/pages/locations.rs:1442 #: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1446 #: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync" msgid "Couldn't sync"
msgstr "No se pudo sincronizar" msgstr "No se pudo sincronizar"
#: crates/pdfs-gui/src/app/pages/locations.rs:1472 #: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder" msgid "Shared folder"
msgstr "Carpeta compartida" msgstr "Carpeta compartida"
#: crates/pdfs-gui/src/app/pages/locations.rs:1474 #: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only" msgid "Going online only"
msgstr "Pasando a solo en línea" msgstr "Pasando a solo en línea"
#: crates/pdfs-gui/src/app/pages/locations.rs:1475 #: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced" msgid "Switching to synced"
msgstr "Pasando a sincronizada" msgstr "Pasando a sincronizada"
#: crates/pdfs-gui/src/app/pages/locations.rs:1485 #: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state" msgctxt "state"
msgid "paused" msgid "paused"
msgstr "en pausa" msgstr "en pausa"
#. Translators: a folder's files can't be opened right now. #. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496 #: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available" msgid "not available"
msgstr "no disponible" msgstr "no disponible"
@@ -5472,10 +5537,6 @@ msgstr "Guardar versión"
msgid "Couldn't save that version" msgid "Couldn't save that version"
msgstr "No se pudo guardar esa versión" msgstr "No se pudo guardar esa versión"
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Esa ubicación no es un archivo local."
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358 #: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved" msgid "Version saved"
msgstr "Versión guardada" msgstr "Versión guardada"
+183 -119
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-29 00:18+0200\n" "POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: French\n" "Language-Team: French\n"
@@ -64,7 +64,7 @@ msgstr "%A %-d %B %Y à %H:%M"
#: crates/pdfs-gui/src/app/pages/browser.rs:1217 #: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090 #: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167 #: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471 #: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171 #: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files" msgid "My files"
@@ -271,9 +271,9 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:979 #: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031 #: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075 #: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:860 #: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1335 #: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1385 #: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312 #: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055 #: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946 #: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -477,8 +477,8 @@ msgstr "Rien dans le journal récent ne correspond à ce filtre."
#: crates/pdfs-gui/src/app/pages/activity.rs:186 #: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281 #: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114 #: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183 #: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:680 #: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465 #: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183 #: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -516,8 +516,8 @@ msgstr "Options d’affichage"
#: crates/pdfs-gui/src/app/pages/browser.rs:2635 #: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639 #: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325 #: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191 #: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:970 #: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422 #: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284 #: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -1025,7 +1025,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from. #. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346 #: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795 #: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format #, rust-format
msgid "Differs from {name}" msgid "Differs from {name}"
msgstr "Diffère de {name}" msgstr "Diffère de {name}"
@@ -1212,11 +1212,12 @@ msgstr "Impossible de charger les albums"
#: crates/pdfs-gui/src/app/pages/devices.rs:884 #: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120 #: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220 #: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535 #: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:710 #: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:929 #: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1427 #: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1447 #: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425 #: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420 #: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140 #: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2161,7 +2162,7 @@ msgid "Add Folder to Sync"
msgstr "Ajouter un dossier à synchroniser" msgstr "Ajouter un dossier à synchroniser"
#: crates/pdfs-gui/src/app/pages/devices.rs:686 #: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440 #: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…" msgid "Syncing folder…"
msgstr "Synchronisation du dossier…" msgstr "Synchronisation du dossier…"
@@ -2523,20 +2524,20 @@ msgstr[1] "Mettre {n} photos à la corbeille"
msgid "Keep" msgid "Keep"
msgstr "Garder" msgstr "Garder"
#: crates/pdfs-gui/src/app/pages/locations.rs:125 #: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder" msgid "Add Folder"
msgstr "Ajouter un dossier" msgstr "Ajouter un dossier"
#: crates/pdfs-gui/src/app/pages/locations.rs:130 #: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device" msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "" msgstr ""
"Sauvegarder un dossier local sur l’appareil Proton Drive de cet ordinateur" "Sauvegarder un dossier local sur l’appareil Proton Drive de cet ordinateur"
#: crates/pdfs-gui/src/app/pages/locations.rs:140 #: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts" msgid "Conflicts"
msgstr "Conflits" msgstr "Conflits"
#: crates/pdfs-gui/src/app/pages/locations.rs:142 #: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid "" msgid ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
@@ -2544,7 +2545,7 @@ msgstr ""
"Fichiers modifiés à deux endroits en même temps. Les deux versions ont été " "Fichiers modifiés à deux endroits en même temps. Les deux versions ont été "
"conservées ; choisissez celle qui reste." "conservées ; choisissez celle qui reste."
#: crates/pdfs-gui/src/app/pages/locations.rs:158 #: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid "" msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
@@ -2552,138 +2553,138 @@ msgstr ""
"Les dossiers synchronisés gardent une copie complète sur cet ordinateur. Les " "Les dossiers synchronisés gardent une copie complète sur cet ordinateur. Les "
"dossiers en ligne uniquement récupèrent chaque fichier à son ouverture." "dossiers en ligne uniquement récupèrent chaque fichier à son ouverture."
#: crates/pdfs-gui/src/app/pages/locations.rs:169 #: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes" msgid "About Sync Modes"
msgstr "À propos des modes de synchronisation" msgstr "À propos des modes de synchronisation"
#: crates/pdfs-gui/src/app/pages/locations.rs:178 #: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65 #: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders" msgid "Folders"
msgstr "Dossiers" msgstr "Dossiers"
#: crates/pdfs-gui/src/app/pages/locations.rs:213 #: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view" msgctxt "sync view"
msgid "Overview" msgid "Overview"
msgstr "Aperçu" msgstr "Aperçu"
#: crates/pdfs-gui/src/app/pages/locations.rs:219 #: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view" msgctxt "sync view"
msgid "Folders" msgid "Folders"
msgstr "Dossiers" msgstr "Dossiers"
#: crates/pdfs-gui/src/app/pages/locations.rs:225 #: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view" msgctxt "sync view"
msgid "History" msgid "History"
msgstr "Historique" msgstr "Historique"
#: crates/pdfs-gui/src/app/pages/locations.rs:232 #: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210 #: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review" msgid "Review"
msgstr "Examiner" msgstr "Examiner"
#: crates/pdfs-gui/src/app/pages/locations.rs:363 #: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format #, rust-format
msgid "{n} change couldn't be uploaded" msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded" msgid_plural "{n} changes couldn't be uploaded"
msgstr[0] "{n} modification n’a pas pu être téléversée" msgstr[0] "{n} modification n’a pas pu être téléversée"
msgstr[1] "{n} modifications n’ont pas pu être téléversées" msgstr[1] "{n} modifications n’ont pas pu être téléversées"
#: crates/pdfs-gui/src/app/pages/locations.rs:369 #: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format #, rust-format
msgid "{n} file was changed in two places at once" msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once" msgid_plural "{n} files were changed in two places at once"
msgstr[0] "{n} fichier a été modifié à deux endroits à la fois" msgstr[0] "{n} fichier a été modifié à deux endroits à la fois"
msgstr[1] "{n} fichiers ont été modifiés à deux endroits à la fois" msgstr[1] "{n} fichiers ont été modifiés à deux endroits à la fois"
#: crates/pdfs-gui/src/app/pages/locations.rs:374 #: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention" msgid "Some files need your attention"
msgstr "Certains fichiers nécessitent votre attention" msgstr "Certains fichiers nécessitent votre attention"
#: crates/pdfs-gui/src/app/pages/locations.rs:391 #: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…" msgid "Checking…"
msgstr "Vérification…" msgstr "Vérification…"
#: crates/pdfs-gui/src/app/pages/locations.rs:419 #: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour" msgid "Pause for 1 Hour"
msgstr "Mettre en pause pendant 1 heure" msgstr "Mettre en pause pendant 1 heure"
#: crates/pdfs-gui/src/app/pages/locations.rs:423 #: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours" msgid "Pause for 8 Hours"
msgstr "Mettre en pause pendant 8 heures" msgstr "Mettre en pause pendant 8 heures"
#: crates/pdfs-gui/src/app/pages/locations.rs:427 #: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours" msgid "Pause for 24 Hours"
msgstr "Mettre en pause pendant 24 heures" msgstr "Mettre en pause pendant 24 heures"
#: crates/pdfs-gui/src/app/pages/locations.rs:431 #: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:467 #: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb" msgctxt "verb"
msgid "Pause" msgid "Pause"
msgstr "Mettre en pause" msgstr "Mettre en pause"
#: crates/pdfs-gui/src/app/pages/locations.rs:435 #: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:472 #: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual." msgid "Stop uploading until you resume. Files still open as usual."
msgstr "" msgstr ""
"Arrêter les téléversements jusqu’à la reprise. Les fichiers s’ouvrent " "Arrêter les téléversements jusqu’à la reprise. Les fichiers s’ouvrent "
"toujours normalement." "toujours normalement."
#: crates/pdfs-gui/src/app/pages/locations.rs:437 #: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while" msgid "Pause for a while"
msgstr "Mettre en pause un moment" msgstr "Mettre en pause un moment"
#: crates/pdfs-gui/src/app/pages/locations.rs:465 #: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb" msgctxt "verb"
msgid "Resume" msgid "Resume"
msgstr "Reprendre" msgstr "Reprendre"
#: crates/pdfs-gui/src/app/pages/locations.rs:470 #: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused" msgid "Upload everything that waited while sync was paused"
msgstr "" msgstr ""
"Téléverser tout ce qui attendait pendant la pause de la synchronisation" "Téléverser tout ce qui attendait pendant la pause de la synchronisation"
#: crates/pdfs-gui/src/app/pages/locations.rs:518 #: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync" msgid "Couldn't pause sync"
msgstr "Impossible de mettre en pause la synchronisation" msgstr "Impossible de mettre en pause la synchronisation"
#: crates/pdfs-gui/src/app/pages/locations.rs:520 #: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync" msgid "Couldn't resume sync"
msgstr "Impossible de reprendre la synchronisation" msgstr "Impossible de reprendre la synchronisation"
#: crates/pdfs-gui/src/app/pages/locations.rs:526 #: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed" msgid "Sync resumed"
msgstr "Synchronisation reprise" msgstr "Synchronisation reprise"
#: crates/pdfs-gui/src/app/pages/locations.rs:527 #: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume" msgid "Sync paused until you resume"
msgstr "Synchronisation en pause jusqu’à la reprise" msgstr "Synchronisation en pause jusqu’à la reprise"
#: crates/pdfs-gui/src/app/pages/locations.rs:528 #: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237 #: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused" msgid "Sync paused"
msgstr "Synchronisation en pause" msgstr "Synchronisation en pause"
#: crates/pdfs-gui/src/app/pages/locations.rs:546 #: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All" msgid "Retry All"
msgstr "Tout réessayer" msgstr "Tout réessayer"
#: crates/pdfs-gui/src/app/pages/locations.rs:548 #: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now" msgid "Try every failed change again now"
msgstr "Réessayer maintenant toutes les modifications ayant échoué" msgstr "Réessayer maintenant toutes les modifications ayant échoué"
#: crates/pdfs-gui/src/app/pages/locations.rs:553 #: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload" msgid "Waiting to Upload"
msgstr "En attente de téléversement" msgstr "En attente de téléversement"
#: crates/pdfs-gui/src/app/pages/locations.rs:555 #: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:614 #: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet." msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "" msgstr ""
"Modifications effectuées sur cet ordinateur qui ne sont pas encore sur " "Modifications effectuées sur cet ordinateur qui ne sont pas encore sur "
"Proton Drive." "Proton Drive."
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes. #. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612 #: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format #, rust-format
msgid "" msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2698,89 +2699,156 @@ msgstr[1] ""
"Modifications effectuées sur cet ordinateur qui ne sont pas encore sur " "Modifications effectuées sur cet ordinateur qui ne sont pas encore sur "
"Proton Drive. Affichage des {shown} premières sur {n}." "Proton Drive. Affichage des {shown} premières sur {n}."
#: crates/pdfs-gui/src/app/pages/locations.rs:629 #: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes" msgid "Upload changes"
msgstr "Téléverser les modifications" msgstr "Téléverser les modifications"
#: crates/pdfs-gui/src/app/pages/locations.rs:630 #: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file" msgid "Upload new file"
msgstr "Téléverser le nouveau fichier" msgstr "Téléverser le nouveau fichier"
#: crates/pdfs-gui/src/app/pages/locations.rs:631 #: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder" msgid "Create folder"
msgstr "Créer le dossier" msgstr "Créer le dossier"
#: crates/pdfs-gui/src/app/pages/locations.rs:632 #: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move" msgid "Rename or move"
msgstr "Renommer ou déplacer" msgstr "Renommer ou déplacer"
#: crates/pdfs-gui/src/app/pages/locations.rs:633 #: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash" msgid "Move to trash"
msgstr "Mettre à la corbeille" msgstr "Mettre à la corbeille"
#. Translators: a queued change of an unknown kind. #. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635 #: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun" msgctxt "noun"
msgid "Change" msgid "Change"
msgstr "Modification" msgstr "Modification"
#: crates/pdfs-gui/src/app/pages/locations.rs:638 #: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish" msgid "waiting for the app writing it to finish"
msgstr "en attente de la fin de l’écriture par l’application" msgstr "en attente de la fin de l’écriture par l’application"
#. Translators: {time} is when the next attempt happens, such as "14:30". #. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641 #: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format #, rust-format
msgid "retrying {time}" msgid "retrying {time}"
msgstr "nouvelle tentative à {time}" msgstr "nouvelle tentative à {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:643 #: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume" msgid "waiting for sync to resume"
msgstr "en attente de la reprise de la synchronisation" msgstr "en attente de la reprise de la synchronisation"
#: crates/pdfs-gui/src/app/pages/locations.rs:644 #: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next" msgid "up next"
msgstr "prochain dans la file" msgstr "prochain dans la file"
#: crates/pdfs-gui/src/app/pages/locations.rs:648 #: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format #, rust-format
msgid "{action} · {state}" msgid "{action} · {state}"
msgstr "{action} · {state}" msgstr "{action} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:655 #: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format #, rust-format
msgid "Failed {n} time: {error}" msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}" msgid_plural "Failed {n} times: {error}"
msgstr[0] "{n} échec : {error}" msgstr[0] "{n} échec : {error}"
msgstr[1] "{n} échecs : {error}" msgstr[1] "{n} échecs : {error}"
#: crates/pdfs-gui/src/app/pages/locations.rs:681 #: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now" msgid "Retry now"
msgstr "Réessayer maintenant" msgstr "Réessayer maintenant"
#: crates/pdfs-gui/src/app/pages/locations.rs:700 #: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr "Exporter"
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr "Enregistrer ailleurs une copie du contenu de ce fichier"
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
"Votre stockage Proton Drive est plein. Libérez de l’espace ou passez à une "
"offre supérieure, et cette modification sera téléversée d’elle-même."
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
"Vous ne pouvez plus modifier cet élément sur Proton Drive. Demandez au "
"propriétaire l’accès en écriture, ou exportez le fichier pour garder votre "
"version."
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
"Le dossier auquel appartient cette modification n’existe plus sur Proton "
"Drive. Exportez le fichier pour garder votre version."
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
"La limite de Proton Drive sur le nombre d’éléments d’un dossier ou sur la "
"profondeur des dossiers est atteinte. Faites de la place dans le dossier, "
"puis réessayez."
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr ""
"Proton Drive a refusé cette modification. Elle reste en file d’attente et "
"sera retentée."
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr "Exporter le fichier"
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr "Impossible d’exporter le fichier"
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Cet emplacement n’est pas un fichier local."
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr "Fichier exporté"
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…" msgid "Retrying now…"
msgstr "Nouvelle tentative…" msgstr "Nouvelle tentative…"
#: crates/pdfs-gui/src/app/pages/locations.rs:705 #: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:709 #: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry" msgid "Couldn't retry"
msgstr "Impossible de réessayer" msgstr "Impossible de réessayer"
#: crates/pdfs-gui/src/app/pages/locations.rs:779 #: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format #, rust-format
msgid "{size}, changed {time}" msgid "{size}, changed {time}"
msgstr "{size}, modification : {time}" msgstr "{size}, modification : {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:789 #: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left" msgid "The original is gone; only this copy is left"
msgstr "L’original a disparu ; seule cette copie subsiste" msgstr "L’original a disparu ; seule cette copie subsiste"
#: crates/pdfs-gui/src/app/pages/locations.rs:791 #: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original" msgid "Same content as the original"
msgstr "Même contenu que l’original" msgstr "Même contenu que l’original"
#: crates/pdfs-gui/src/app/pages/locations.rs:832 #: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format #, rust-format
msgid "" msgid ""
"“{name}” was changed here and elsewhere at the same time.\n" "“{name}” was changed here and elsewhere at the same time.\n"
@@ -2798,7 +2866,7 @@ msgstr ""
"Ce qui n’est pas conservé est placé dans la corbeille, d’où il peut être " "Ce qui n’est pas conservé est placé dans la corbeille, d’où il peut être "
"restauré." "restauré."
#: crates/pdfs-gui/src/app/pages/locations.rs:844 #: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format #, rust-format
msgid "" msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n" "The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2809,111 +2877,111 @@ msgstr ""
"\n" "\n"
"Conservez la copie pour lui redonner le nom d’origine." "Conservez la copie pour lui redonner le nom d’origine."
#: crates/pdfs-gui/src/app/pages/locations.rs:850 #: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict" msgid "Resolve Conflict"
msgstr "Résoudre le conflit" msgstr "Résoudre le conflit"
#: crates/pdfs-gui/src/app/pages/locations.rs:855 #: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both" msgid "Name for the copy, if keeping both"
msgstr "Nom de la copie, si les deux sont conservés" msgstr "Nom de la copie, si les deux sont conservés"
#: crates/pdfs-gui/src/app/pages/locations.rs:862 #: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original" msgid "Keep Original"
msgstr "Conserver l’original" msgstr "Conserver l’original"
#: crates/pdfs-gui/src/app/pages/locations.rs:863 #: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both" msgid "Keep Both"
msgstr "Conserver les deux" msgstr "Conserver les deux"
#: crates/pdfs-gui/src/app/pages/locations.rs:865 #: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy" msgid "Keep Copy"
msgstr "Conserver la copie" msgstr "Conserver la copie"
#: crates/pdfs-gui/src/app/pages/locations.rs:922 #: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:928 #: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict" msgid "Couldn't resolve the conflict"
msgstr "Impossible de résoudre le conflit" msgstr "Impossible de résoudre le conflit"
#: crates/pdfs-gui/src/app/pages/locations.rs:971 #: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations." msgid "Reading this computer's Proton Drive locations."
msgstr "Lecture des emplacements Proton Drive de cet ordinateur." msgstr "Lecture des emplacements Proton Drive de cet ordinateur."
#: crates/pdfs-gui/src/app/pages/locations.rs:992 #: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable" msgid "Unavailable"
msgstr "Indisponible" msgstr "Indisponible"
#: crates/pdfs-gui/src/app/pages/locations.rs:1075 #: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet" msgid "No folders yet"
msgstr "Aucun dossier pour l’instant" msgstr "Aucun dossier pour l’instant"
#: crates/pdfs-gui/src/app/pages/locations.rs:1077 #: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet." msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "Le service Proton Drive n’a pas encore signalé son dossier." msgstr "Le service Proton Drive n’a pas encore signalé son dossier."
#: crates/pdfs-gui/src/app/pages/locations.rs:1100 #: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format #, rust-format
msgid "{path} · {state}" msgid "{path} · {state}"
msgstr "{path} · {state}" msgstr "{path} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:1143 #: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only" msgid "Read-only"
msgstr "Lecture seule" msgstr "Lecture seule"
#: crates/pdfs-gui/src/app/pages/locations.rs:1159 #: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files" msgid "Open in Files"
msgstr "Ouvrir dans Fichiers" msgstr "Ouvrir dans Fichiers"
#: crates/pdfs-gui/src/app/pages/locations.rs:1164 #: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…" msgid "Change Location…"
msgstr "Changer l’emplacement…" msgstr "Changer l’emplacement…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1216 #: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer" msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "Choisir si ce dossier garde une copie complète sur cet ordinateur" msgstr "Choisir si ce dossier garde une copie complète sur cet ordinateur"
#: crates/pdfs-gui/src/app/pages/locations.rs:1232 #: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive." msgid "Keep every file on this computer and in Proton Drive."
msgstr "Conserver chaque fichier sur cet ordinateur et dans Proton Drive." msgstr "Conserver chaque fichier sur cet ordinateur et dans Proton Drive."
#: crates/pdfs-gui/src/app/pages/locations.rs:1237 #: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it." msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "" msgstr ""
"Garder les fichiers dans Proton Drive et télécharger chacun à son ouverture." "Garder les fichiers dans Proton Drive et télécharger chacun à son ouverture."
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened. #. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291 #: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode" msgctxt "folder mode"
msgid "Online only" msgid "Online only"
msgstr "En ligne uniquement" msgstr "En ligne uniquement"
#. Translators: a folder mode: a full copy is kept on this computer. #. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294 #: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode" msgctxt "folder mode"
msgid "Synced" msgid "Synced"
msgstr "Synchronisé" msgstr "Synchronisé"
#: crates/pdfs-gui/src/app/pages/locations.rs:1305 #: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now" msgid "Sync Now"
msgstr "Synchroniser maintenant" msgstr "Synchroniser maintenant"
#: crates/pdfs-gui/src/app/pages/locations.rs:1309 #: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing" msgid "Resume Syncing"
msgstr "Reprendre la synchronisation" msgstr "Reprendre la synchronisation"
#: crates/pdfs-gui/src/app/pages/locations.rs:1311 #: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing" msgid "Pause Syncing"
msgstr "Mettre en pause la synchronisation" msgstr "Mettre en pause la synchronisation"
#: crates/pdfs-gui/src/app/pages/locations.rs:1322 #: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…" msgid "Stop Syncing…"
msgstr "Arrêter la synchronisation…" msgstr "Arrêter la synchronisation…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1331 #: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?" msgid "Make Folder Online Only?"
msgstr "Garder le dossier en ligne uniquement ?" msgstr "Garder le dossier en ligne uniquement ?"
#. Translators: {path} is a local folder path. #. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333 #: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format #, rust-format
msgid "" msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
@@ -2923,11 +2991,11 @@ msgstr ""
"uniquement dans Proton Drive. Chaque fichier sera à nouveau téléchargé à son " "uniquement dans Proton Drive. Chaque fichier sera à nouveau téléchargé à son "
"ouverture." "ouverture."
#: crates/pdfs-gui/src/app/pages/locations.rs:1336 #: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only" msgid "Make Online Only"
msgstr "Garder en ligne uniquement" msgstr "Garder en ligne uniquement"
#: crates/pdfs-gui/src/app/pages/locations.rs:1372 #: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format #, rust-format
msgid "" msgid ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
@@ -2936,61 +3004,61 @@ msgstr ""
"Chaque fichier de {path} sera téléchargé sur cet ordinateur et restera " "Chaque fichier de {path} sera téléchargé sur cet ordinateur et restera "
"synchronisé. {free} sont libres sur ce disque." "synchronisé. {free} sont libres sur ce disque."
#: crates/pdfs-gui/src/app/pages/locations.rs:1377 #: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format #, rust-format
msgid "Every file in {path} will download to this computer and stay synced." msgid "Every file in {path} will download to this computer and stay synced."
msgstr "" msgstr ""
"Chaque fichier de {path} sera téléchargé sur cet ordinateur et restera " "Chaque fichier de {path} sera téléchargé sur cet ordinateur et restera "
"synchronisé." "synchronisé."
#: crates/pdfs-gui/src/app/pages/locations.rs:1382 #: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?" msgid "Download Folder?"
msgstr "Télécharger le dossier ?" msgstr "Télécharger le dossier ?"
#: crates/pdfs-gui/src/app/pages/locations.rs:1386 #: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download" msgid "Download"
msgstr "Télécharger" msgstr "Télécharger"
#: crates/pdfs-gui/src/app/pages/locations.rs:1410 #: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder" msgid "Couldn't pause the folder"
msgstr "Impossible de mettre en pause le dossier" msgstr "Impossible de mettre en pause le dossier"
#: crates/pdfs-gui/src/app/pages/locations.rs:1411 #: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder" msgid "Couldn't resume the folder"
msgstr "Impossible de reprendre le dossier" msgstr "Impossible de reprendre le dossier"
#: crates/pdfs-gui/src/app/pages/locations.rs:1417 #: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused" msgid "Folder paused"
msgstr "Dossier en pause" msgstr "Dossier en pause"
#: crates/pdfs-gui/src/app/pages/locations.rs:1418 #: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed" msgid "Folder resumed"
msgstr "Dossier repris" msgstr "Dossier repris"
#: crates/pdfs-gui/src/app/pages/locations.rs:1442 #: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1446 #: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync" msgid "Couldn't sync"
msgstr "Impossible de synchroniser" msgstr "Impossible de synchroniser"
#: crates/pdfs-gui/src/app/pages/locations.rs:1472 #: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder" msgid "Shared folder"
msgstr "Dossier partagé" msgstr "Dossier partagé"
#: crates/pdfs-gui/src/app/pages/locations.rs:1474 #: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only" msgid "Going online only"
msgstr "Passage en ligne uniquement" msgstr "Passage en ligne uniquement"
#: crates/pdfs-gui/src/app/pages/locations.rs:1475 #: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced" msgid "Switching to synced"
msgstr "Passage en mode synchronisé" msgstr "Passage en mode synchronisé"
#: crates/pdfs-gui/src/app/pages/locations.rs:1485 #: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state" msgctxt "state"
msgid "paused" msgid "paused"
msgstr "en pause" msgstr "en pause"
#. Translators: a folder's files can't be opened right now. #. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496 #: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available" msgid "not available"
msgstr "non disponible" msgstr "non disponible"
@@ -5504,10 +5572,6 @@ msgstr "Enregistrer la version"
msgid "Couldn't save that version" msgid "Couldn't save that version"
msgstr "Impossible d’enregistrer cette version" msgstr "Impossible d’enregistrer cette version"
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Cet emplacement n’est pas un fichier local."
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358 #: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved" msgid "Version saved"
msgstr "Version enregistrée" msgstr "Version enregistrée"
+181 -119
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-29 00:18+0200\n" "POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
@@ -64,7 +64,7 @@ msgstr "%A %-d %B %Y, %H:%M"
#: crates/pdfs-gui/src/app/pages/browser.rs:1217 #: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090 #: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167 #: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471 #: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171 #: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files" msgid "My files"
@@ -267,9 +267,9 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:979 #: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031 #: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075 #: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:860 #: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1335 #: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1385 #: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312 #: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055 #: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946 #: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -473,8 +473,8 @@ msgstr "Nessuna voce del registro recente corrisponde a questo filtro."
#: crates/pdfs-gui/src/app/pages/activity.rs:186 #: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281 #: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114 #: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183 #: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:680 #: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465 #: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183 #: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -512,8 +512,8 @@ msgstr "Opzioni di visualizzazione"
#: crates/pdfs-gui/src/app/pages/browser.rs:2635 #: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639 #: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325 #: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191 #: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:970 #: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422 #: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284 #: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -1019,7 +1019,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from. #. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346 #: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795 #: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format #, rust-format
msgid "Differs from {name}" msgid "Differs from {name}"
msgstr "Diverso da {name}" msgstr "Diverso da {name}"
@@ -1206,11 +1206,12 @@ msgstr "Impossibile caricare gli album"
#: crates/pdfs-gui/src/app/pages/devices.rs:884 #: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120 #: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220 #: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535 #: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:710 #: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:929 #: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1427 #: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1447 #: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425 #: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420 #: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140 #: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2155,7 +2156,7 @@ msgid "Add Folder to Sync"
msgstr "Aggiungi cartella da sincronizzare" msgstr "Aggiungi cartella da sincronizzare"
#: crates/pdfs-gui/src/app/pages/devices.rs:686 #: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440 #: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…" msgid "Syncing folder…"
msgstr "Sincronizzazione della cartella…" msgstr "Sincronizzazione della cartella…"
@@ -2520,21 +2521,21 @@ msgstr[1] "Sposta {n} foto nel cestino"
msgid "Keep" msgid "Keep"
msgstr "Tieni" msgstr "Tieni"
#: crates/pdfs-gui/src/app/pages/locations.rs:125 #: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder" msgid "Add Folder"
msgstr "Aggiungi cartella" msgstr "Aggiungi cartella"
#: crates/pdfs-gui/src/app/pages/locations.rs:130 #: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device" msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "" msgstr ""
"Esegui il backup di una cartella locale sul dispositivo Proton Drive di " "Esegui il backup di una cartella locale sul dispositivo Proton Drive di "
"questo computer" "questo computer"
#: crates/pdfs-gui/src/app/pages/locations.rs:140 #: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts" msgid "Conflicts"
msgstr "Conflitti" msgstr "Conflitti"
#: crates/pdfs-gui/src/app/pages/locations.rs:142 #: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid "" msgid ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
@@ -2542,7 +2543,7 @@ msgstr ""
"File modificati in due posti contemporaneamente. Entrambe le versioni sono " "File modificati in due posti contemporaneamente. Entrambe le versioni sono "
"state conservate: scegli quale mantenere." "state conservate: scegli quale mantenere."
#: crates/pdfs-gui/src/app/pages/locations.rs:158 #: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid "" msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
@@ -2550,137 +2551,137 @@ msgstr ""
"Le cartelle sincronizzate conservano una copia completa su questo computer. " "Le cartelle sincronizzate conservano una copia completa su questo computer. "
"Le cartelle solo online scaricano ogni file quando lo apri." "Le cartelle solo online scaricano ogni file quando lo apri."
#: crates/pdfs-gui/src/app/pages/locations.rs:169 #: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes" msgid "About Sync Modes"
msgstr "Informazioni sulle modalità di sincronizzazione" msgstr "Informazioni sulle modalità di sincronizzazione"
#: crates/pdfs-gui/src/app/pages/locations.rs:178 #: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65 #: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders" msgid "Folders"
msgstr "Cartelle" msgstr "Cartelle"
#: crates/pdfs-gui/src/app/pages/locations.rs:213 #: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view" msgctxt "sync view"
msgid "Overview" msgid "Overview"
msgstr "Panoramica" msgstr "Panoramica"
#: crates/pdfs-gui/src/app/pages/locations.rs:219 #: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view" msgctxt "sync view"
msgid "Folders" msgid "Folders"
msgstr "Cartelle" msgstr "Cartelle"
#: crates/pdfs-gui/src/app/pages/locations.rs:225 #: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view" msgctxt "sync view"
msgid "History" msgid "History"
msgstr "Cronologia" msgstr "Cronologia"
#: crates/pdfs-gui/src/app/pages/locations.rs:232 #: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210 #: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review" msgid "Review"
msgstr "Esamina" msgstr "Esamina"
#: crates/pdfs-gui/src/app/pages/locations.rs:363 #: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format #, rust-format
msgid "{n} change couldn't be uploaded" msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded" msgid_plural "{n} changes couldn't be uploaded"
msgstr[0] "Impossibile caricare {n} modifica" msgstr[0] "Impossibile caricare {n} modifica"
msgstr[1] "Impossibile caricare {n} modifiche" msgstr[1] "Impossibile caricare {n} modifiche"
#: crates/pdfs-gui/src/app/pages/locations.rs:369 #: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format #, rust-format
msgid "{n} file was changed in two places at once" msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once" msgid_plural "{n} files were changed in two places at once"
msgstr[0] "{n} file è stato modificato in due posti contemporaneamente" msgstr[0] "{n} file è stato modificato in due posti contemporaneamente"
msgstr[1] "{n} file sono stati modificati in due posti contemporaneamente" msgstr[1] "{n} file sono stati modificati in due posti contemporaneamente"
#: crates/pdfs-gui/src/app/pages/locations.rs:374 #: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention" msgid "Some files need your attention"
msgstr "Alcuni file richiedono la tua attenzione" msgstr "Alcuni file richiedono la tua attenzione"
#: crates/pdfs-gui/src/app/pages/locations.rs:391 #: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…" msgid "Checking…"
msgstr "Controllo…" msgstr "Controllo…"
#: crates/pdfs-gui/src/app/pages/locations.rs:419 #: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour" msgid "Pause for 1 Hour"
msgstr "Pausa per 1 ora" msgstr "Pausa per 1 ora"
#: crates/pdfs-gui/src/app/pages/locations.rs:423 #: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours" msgid "Pause for 8 Hours"
msgstr "Pausa per 8 ore" msgstr "Pausa per 8 ore"
#: crates/pdfs-gui/src/app/pages/locations.rs:427 #: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours" msgid "Pause for 24 Hours"
msgstr "Pausa per 24 ore" msgstr "Pausa per 24 ore"
#: crates/pdfs-gui/src/app/pages/locations.rs:431 #: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:467 #: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb" msgctxt "verb"
msgid "Pause" msgid "Pause"
msgstr "Metti in pausa" msgstr "Metti in pausa"
#: crates/pdfs-gui/src/app/pages/locations.rs:435 #: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:472 #: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual." msgid "Stop uploading until you resume. Files still open as usual."
msgstr "" msgstr ""
"Interrompe i caricamenti finché non riprendi. I file si aprono comunque come " "Interrompe i caricamenti finché non riprendi. I file si aprono comunque come "
"di consueto." "di consueto."
#: crates/pdfs-gui/src/app/pages/locations.rs:437 #: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while" msgid "Pause for a while"
msgstr "Metti in pausa per un po'" msgstr "Metti in pausa per un po'"
#: crates/pdfs-gui/src/app/pages/locations.rs:465 #: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb" msgctxt "verb"
msgid "Resume" msgid "Resume"
msgstr "Riprendi" msgstr "Riprendi"
#: crates/pdfs-gui/src/app/pages/locations.rs:470 #: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused" msgid "Upload everything that waited while sync was paused"
msgstr "" msgstr ""
"Carica tutto ciò che era in attesa mentre la sincronizzazione era in pausa" "Carica tutto ciò che era in attesa mentre la sincronizzazione era in pausa"
#: crates/pdfs-gui/src/app/pages/locations.rs:518 #: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync" msgid "Couldn't pause sync"
msgstr "Impossibile mettere in pausa la sincronizzazione" msgstr "Impossibile mettere in pausa la sincronizzazione"
#: crates/pdfs-gui/src/app/pages/locations.rs:520 #: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync" msgid "Couldn't resume sync"
msgstr "Impossibile riprendere la sincronizzazione" msgstr "Impossibile riprendere la sincronizzazione"
#: crates/pdfs-gui/src/app/pages/locations.rs:526 #: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed" msgid "Sync resumed"
msgstr "Sincronizzazione ripresa" msgstr "Sincronizzazione ripresa"
#: crates/pdfs-gui/src/app/pages/locations.rs:527 #: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume" msgid "Sync paused until you resume"
msgstr "Sincronizzazione in pausa finché non riprendi" msgstr "Sincronizzazione in pausa finché non riprendi"
#: crates/pdfs-gui/src/app/pages/locations.rs:528 #: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237 #: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused" msgid "Sync paused"
msgstr "Sincronizzazione in pausa" msgstr "Sincronizzazione in pausa"
#: crates/pdfs-gui/src/app/pages/locations.rs:546 #: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All" msgid "Retry All"
msgstr "Riprova tutto" msgstr "Riprova tutto"
#: crates/pdfs-gui/src/app/pages/locations.rs:548 #: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now" msgid "Try every failed change again now"
msgstr "Riprova ora tutte le modifiche non riuscite" msgstr "Riprova ora tutte le modifiche non riuscite"
#: crates/pdfs-gui/src/app/pages/locations.rs:553 #: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload" msgid "Waiting to Upload"
msgstr "In attesa di caricamento" msgstr "In attesa di caricamento"
#: crates/pdfs-gui/src/app/pages/locations.rs:555 #: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:614 #: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet." msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "" msgstr ""
"Modifiche fatte su questo computer che non sono ancora su Proton Drive." "Modifiche fatte su questo computer che non sono ancora su Proton Drive."
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes. #. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612 #: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format #, rust-format
msgid "" msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2695,89 +2696,154 @@ msgstr[1] ""
"Modifiche fatte su questo computer che non sono ancora su Proton Drive. " "Modifiche fatte su questo computer che non sono ancora su Proton Drive. "
"Visualizzate le prime {shown} di {n}." "Visualizzate le prime {shown} di {n}."
#: crates/pdfs-gui/src/app/pages/locations.rs:629 #: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes" msgid "Upload changes"
msgstr "Carica modifiche" msgstr "Carica modifiche"
#: crates/pdfs-gui/src/app/pages/locations.rs:630 #: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file" msgid "Upload new file"
msgstr "Carica nuovo file" msgstr "Carica nuovo file"
#: crates/pdfs-gui/src/app/pages/locations.rs:631 #: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder" msgid "Create folder"
msgstr "Crea cartella" msgstr "Crea cartella"
#: crates/pdfs-gui/src/app/pages/locations.rs:632 #: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move" msgid "Rename or move"
msgstr "Rinomina o sposta" msgstr "Rinomina o sposta"
#: crates/pdfs-gui/src/app/pages/locations.rs:633 #: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash" msgid "Move to trash"
msgstr "Sposta nel cestino" msgstr "Sposta nel cestino"
#. Translators: a queued change of an unknown kind. #. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635 #: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun" msgctxt "noun"
msgid "Change" msgid "Change"
msgstr "Modifica" msgstr "Modifica"
#: crates/pdfs-gui/src/app/pages/locations.rs:638 #: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish" msgid "waiting for the app writing it to finish"
msgstr "in attesa che l'app che lo scrive finisca" msgstr "in attesa che l'app che lo scrive finisca"
#. Translators: {time} is when the next attempt happens, such as "14:30". #. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641 #: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format #, rust-format
msgid "retrying {time}" msgid "retrying {time}"
msgstr "nuovo tentativo alle {time}" msgstr "nuovo tentativo alle {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:643 #: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume" msgid "waiting for sync to resume"
msgstr "in attesa della ripresa della sincronizzazione" msgstr "in attesa della ripresa della sincronizzazione"
#: crates/pdfs-gui/src/app/pages/locations.rs:644 #: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next" msgid "up next"
msgstr "il prossimo" msgstr "il prossimo"
#: crates/pdfs-gui/src/app/pages/locations.rs:648 #: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format #, rust-format
msgid "{action} · {state}" msgid "{action} · {state}"
msgstr "{action} · {state}" msgstr "{action} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:655 #: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format #, rust-format
msgid "Failed {n} time: {error}" msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}" msgid_plural "Failed {n} times: {error}"
msgstr[0] "Non riuscito {n} volta: {error}" msgstr[0] "Non riuscito {n} volta: {error}"
msgstr[1] "Non riuscito {n} volte: {error}" msgstr[1] "Non riuscito {n} volte: {error}"
#: crates/pdfs-gui/src/app/pages/locations.rs:681 #: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now" msgid "Retry now"
msgstr "Riprova ora" msgstr "Riprova ora"
#: crates/pdfs-gui/src/app/pages/locations.rs:700 #: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr "Esporta"
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr "Salva altrove una copia del contenuto di questo file"
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
"Lo spazio di Proton Drive è pieno. Libera spazio o passa a un piano "
"superiore, e questa modifica verrà caricata da sola."
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
"Non puoi più modificare questo elemento su Proton Drive. Chiedi al "
"proprietario l'accesso in modifica, o esporta il file per tenere la tua "
"versione."
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
"La cartella a cui appartiene questa modifica non è più su Proton Drive. "
"Esporta il file per tenere la tua versione."
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
"È stato raggiunto il limite di Proton Drive sugli elementi in una cartella o "
"sulla profondità delle cartelle. Fai spazio nella cartella, poi riprova."
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr ""
"Proton Drive ha rifiutato questa modifica. Resta in coda e verrà ritentata."
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr "Esporta file"
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr "Impossibile esportare il file"
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Quella posizione non è un file locale."
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr "File esportato"
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…" msgid "Retrying now…"
msgstr "Nuovo tentativo in corso…" msgstr "Nuovo tentativo in corso…"
#: crates/pdfs-gui/src/app/pages/locations.rs:705 #: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:709 #: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry" msgid "Couldn't retry"
msgstr "Impossibile riprovare" msgstr "Impossibile riprovare"
#: crates/pdfs-gui/src/app/pages/locations.rs:779 #: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format #, rust-format
msgid "{size}, changed {time}" msgid "{size}, changed {time}"
msgstr "{size}, modificato {time}" msgstr "{size}, modificato {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:789 #: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left" msgid "The original is gone; only this copy is left"
msgstr "L'originale non esiste più; rimane solo questa copia" msgstr "L'originale non esiste più; rimane solo questa copia"
#: crates/pdfs-gui/src/app/pages/locations.rs:791 #: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original" msgid "Same content as the original"
msgstr "Stesso contenuto dell'originale" msgstr "Stesso contenuto dell'originale"
#: crates/pdfs-gui/src/app/pages/locations.rs:832 #: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format #, rust-format
msgid "" msgid ""
"“{name}” was changed here and elsewhere at the same time.\n" "“{name}” was changed here and elsewhere at the same time.\n"
@@ -2794,7 +2860,7 @@ msgstr ""
"\n" "\n"
"Ciò che non viene mantenuto va nel cestino, da cui può essere ripristinato." "Ciò che non viene mantenuto va nel cestino, da cui può essere ripristinato."
#: crates/pdfs-gui/src/app/pages/locations.rs:844 #: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format #, rust-format
msgid "" msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n" "The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2805,111 +2871,111 @@ msgstr ""
"\n" "\n"
"Mantieni la copia per restituirle il nome originale." "Mantieni la copia per restituirle il nome originale."
#: crates/pdfs-gui/src/app/pages/locations.rs:850 #: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict" msgid "Resolve Conflict"
msgstr "Risolvi conflitto" msgstr "Risolvi conflitto"
#: crates/pdfs-gui/src/app/pages/locations.rs:855 #: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both" msgid "Name for the copy, if keeping both"
msgstr "Nome per la copia, se si mantengono entrambi" msgstr "Nome per la copia, se si mantengono entrambi"
#: crates/pdfs-gui/src/app/pages/locations.rs:862 #: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original" msgid "Keep Original"
msgstr "Mantieni originale" msgstr "Mantieni originale"
#: crates/pdfs-gui/src/app/pages/locations.rs:863 #: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both" msgid "Keep Both"
msgstr "Mantieni entrambi" msgstr "Mantieni entrambi"
#: crates/pdfs-gui/src/app/pages/locations.rs:865 #: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy" msgid "Keep Copy"
msgstr "Mantieni copia" msgstr "Mantieni copia"
#: crates/pdfs-gui/src/app/pages/locations.rs:922 #: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:928 #: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict" msgid "Couldn't resolve the conflict"
msgstr "Impossibile risolvere il conflitto" msgstr "Impossibile risolvere il conflitto"
#: crates/pdfs-gui/src/app/pages/locations.rs:971 #: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations." msgid "Reading this computer's Proton Drive locations."
msgstr "Lettura delle posizioni di Proton Drive di questo computer." msgstr "Lettura delle posizioni di Proton Drive di questo computer."
#: crates/pdfs-gui/src/app/pages/locations.rs:992 #: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable" msgid "Unavailable"
msgstr "Non disponibile" msgstr "Non disponibile"
#: crates/pdfs-gui/src/app/pages/locations.rs:1075 #: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet" msgid "No folders yet"
msgstr "Ancora nessuna cartella" msgstr "Ancora nessuna cartella"
#: crates/pdfs-gui/src/app/pages/locations.rs:1077 #: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet." msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "Il servizio di Proton Drive non ha ancora comunicato la sua cartella." msgstr "Il servizio di Proton Drive non ha ancora comunicato la sua cartella."
#: crates/pdfs-gui/src/app/pages/locations.rs:1100 #: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format #, rust-format
msgid "{path} · {state}" msgid "{path} · {state}"
msgstr "{path} · {state}" msgstr "{path} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:1143 #: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only" msgid "Read-only"
msgstr "Sola lettura" msgstr "Sola lettura"
#: crates/pdfs-gui/src/app/pages/locations.rs:1159 #: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files" msgid "Open in Files"
msgstr "Apri in File" msgstr "Apri in File"
#: crates/pdfs-gui/src/app/pages/locations.rs:1164 #: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…" msgid "Change Location…"
msgstr "Cambia posizione…" msgstr "Cambia posizione…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1216 #: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer" msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "" msgstr ""
"Scegli se questa cartella conserva una copia completa su questo computer" "Scegli se questa cartella conserva una copia completa su questo computer"
#: crates/pdfs-gui/src/app/pages/locations.rs:1232 #: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive." msgid "Keep every file on this computer and in Proton Drive."
msgstr "Conserva ogni file su questo computer e in Proton Drive." msgstr "Conserva ogni file su questo computer e in Proton Drive."
#: crates/pdfs-gui/src/app/pages/locations.rs:1237 #: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it." msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "Conserva i file in Proton Drive e scarica ciascuno quando lo apri." msgstr "Conserva i file in Proton Drive e scarica ciascuno quando lo apri."
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened. #. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291 #: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode" msgctxt "folder mode"
msgid "Online only" msgid "Online only"
msgstr "Solo online" msgstr "Solo online"
#. Translators: a folder mode: a full copy is kept on this computer. #. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294 #: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode" msgctxt "folder mode"
msgid "Synced" msgid "Synced"
msgstr "Sincronizzata" msgstr "Sincronizzata"
#: crates/pdfs-gui/src/app/pages/locations.rs:1305 #: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now" msgid "Sync Now"
msgstr "Sincronizza ora" msgstr "Sincronizza ora"
#: crates/pdfs-gui/src/app/pages/locations.rs:1309 #: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing" msgid "Resume Syncing"
msgstr "Riprendi sincronizzazione" msgstr "Riprendi sincronizzazione"
#: crates/pdfs-gui/src/app/pages/locations.rs:1311 #: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing" msgid "Pause Syncing"
msgstr "Metti in pausa sincronizzazione" msgstr "Metti in pausa sincronizzazione"
#: crates/pdfs-gui/src/app/pages/locations.rs:1322 #: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…" msgid "Stop Syncing…"
msgstr "Interrompi sincronizzazione…" msgstr "Interrompi sincronizzazione…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1331 #: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?" msgid "Make Folder Online Only?"
msgstr "Rendere la cartella solo online?" msgstr "Rendere la cartella solo online?"
#. Translators: {path} is a local folder path. #. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333 #: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format #, rust-format
msgid "" msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
@@ -2918,11 +2984,11 @@ msgstr ""
"I file in {path} verranno rimossi da questo computer e mantenuti solo in " "I file in {path} verranno rimossi da questo computer e mantenuti solo in "
"Proton Drive. Ogni file viene scaricato di nuovo quando lo apri." "Proton Drive. Ogni file viene scaricato di nuovo quando lo apri."
#: crates/pdfs-gui/src/app/pages/locations.rs:1336 #: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only" msgid "Make Online Only"
msgstr "Rendi solo online" msgstr "Rendi solo online"
#: crates/pdfs-gui/src/app/pages/locations.rs:1372 #: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format #, rust-format
msgid "" msgid ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
@@ -2931,61 +2997,61 @@ msgstr ""
"Ogni file in {path} verrà scaricato su questo computer e resterà " "Ogni file in {path} verrà scaricato su questo computer e resterà "
"sincronizzato. Su questo disco sono liberi {free}." "sincronizzato. Su questo disco sono liberi {free}."
#: crates/pdfs-gui/src/app/pages/locations.rs:1377 #: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format #, rust-format
msgid "Every file in {path} will download to this computer and stay synced." msgid "Every file in {path} will download to this computer and stay synced."
msgstr "" msgstr ""
"Ogni file in {path} verrà scaricato su questo computer e resterà " "Ogni file in {path} verrà scaricato su questo computer e resterà "
"sincronizzato." "sincronizzato."
#: crates/pdfs-gui/src/app/pages/locations.rs:1382 #: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?" msgid "Download Folder?"
msgstr "Scaricare la cartella?" msgstr "Scaricare la cartella?"
#: crates/pdfs-gui/src/app/pages/locations.rs:1386 #: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download" msgid "Download"
msgstr "Scarica" msgstr "Scarica"
#: crates/pdfs-gui/src/app/pages/locations.rs:1410 #: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder" msgid "Couldn't pause the folder"
msgstr "Impossibile mettere in pausa la cartella" msgstr "Impossibile mettere in pausa la cartella"
#: crates/pdfs-gui/src/app/pages/locations.rs:1411 #: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder" msgid "Couldn't resume the folder"
msgstr "Impossibile riprendere la cartella" msgstr "Impossibile riprendere la cartella"
#: crates/pdfs-gui/src/app/pages/locations.rs:1417 #: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused" msgid "Folder paused"
msgstr "Cartella in pausa" msgstr "Cartella in pausa"
#: crates/pdfs-gui/src/app/pages/locations.rs:1418 #: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed" msgid "Folder resumed"
msgstr "Cartella ripresa" msgstr "Cartella ripresa"
#: crates/pdfs-gui/src/app/pages/locations.rs:1442 #: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1446 #: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync" msgid "Couldn't sync"
msgstr "Impossibile sincronizzare" msgstr "Impossibile sincronizzare"
#: crates/pdfs-gui/src/app/pages/locations.rs:1472 #: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder" msgid "Shared folder"
msgstr "Cartella condivisa" msgstr "Cartella condivisa"
#: crates/pdfs-gui/src/app/pages/locations.rs:1474 #: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only" msgid "Going online only"
msgstr "Passaggio a solo online" msgstr "Passaggio a solo online"
#: crates/pdfs-gui/src/app/pages/locations.rs:1475 #: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced" msgid "Switching to synced"
msgstr "Passaggio a sincronizzata" msgstr "Passaggio a sincronizzata"
#: crates/pdfs-gui/src/app/pages/locations.rs:1485 #: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state" msgctxt "state"
msgid "paused" msgid "paused"
msgstr "in pausa" msgstr "in pausa"
#. Translators: a folder's files can't be opened right now. #. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496 #: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available" msgid "not available"
msgstr "non disponibile" msgstr "non disponibile"
@@ -5485,10 +5551,6 @@ msgstr "Salva versione"
msgid "Couldn't save that version" msgid "Couldn't save that version"
msgstr "Impossibile salvare la versione" msgstr "Impossibile salvare la versione"
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Quella posizione non è un file locale."
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358 #: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved" msgid "Version saved"
msgstr "Versione salvata" msgstr "Versione salvata"
+181 -119
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-29 00:18+0200\n" "POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Dutch\n" "Language-Team: Dutch\n"
@@ -64,7 +64,7 @@ msgstr "%A %-d %B %Y, %H:%M"
#: crates/pdfs-gui/src/app/pages/browser.rs:1217 #: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090 #: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167 #: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471 #: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171 #: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files" msgid "My files"
@@ -268,9 +268,9 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:979 #: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031 #: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075 #: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:860 #: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1335 #: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1385 #: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312 #: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055 #: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946 #: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -474,8 +474,8 @@ msgstr "Niets in het recente logboek past bij dit filter."
#: crates/pdfs-gui/src/app/pages/activity.rs:186 #: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281 #: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114 #: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183 #: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:680 #: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465 #: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183 #: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -513,8 +513,8 @@ msgstr "Weergaveopties"
#: crates/pdfs-gui/src/app/pages/browser.rs:2635 #: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639 #: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325 #: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191 #: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:970 #: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422 #: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284 #: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -1017,7 +1017,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from. #. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346 #: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795 #: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format #, rust-format
msgid "Differs from {name}" msgid "Differs from {name}"
msgstr "Verschilt van {name}" msgstr "Verschilt van {name}"
@@ -1204,11 +1204,12 @@ msgstr "Kon albums niet laden"
#: crates/pdfs-gui/src/app/pages/devices.rs:884 #: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120 #: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220 #: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535 #: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:710 #: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:929 #: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1427 #: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1447 #: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425 #: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420 #: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140 #: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2151,7 +2152,7 @@ msgid "Add Folder to Sync"
msgstr "Map toevoegen aan synchronisatie" msgstr "Map toevoegen aan synchronisatie"
#: crates/pdfs-gui/src/app/pages/devices.rs:686 #: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440 #: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…" msgid "Syncing folder…"
msgstr "Map synchroniseren…" msgstr "Map synchroniseren…"
@@ -2514,21 +2515,21 @@ msgstr[1] "{n} foto's naar prullenbak verplaatsen"
msgid "Keep" msgid "Keep"
msgstr "Houden" msgstr "Houden"
#: crates/pdfs-gui/src/app/pages/locations.rs:125 #: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder" msgid "Add Folder"
msgstr "Map toevoegen" msgstr "Map toevoegen"
#: crates/pdfs-gui/src/app/pages/locations.rs:130 #: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device" msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "" msgstr ""
"Een back-up van een lokale map maken naar het Proton Drive-apparaat van deze " "Een back-up van een lokale map maken naar het Proton Drive-apparaat van deze "
"computer" "computer"
#: crates/pdfs-gui/src/app/pages/locations.rs:140 #: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts" msgid "Conflicts"
msgstr "Conflicten" msgstr "Conflicten"
#: crates/pdfs-gui/src/app/pages/locations.rs:142 #: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid "" msgid ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
@@ -2536,7 +2537,7 @@ msgstr ""
"Bestanden zijn op twee plaatsen tegelijk gewijzigd. Beide versies zijn " "Bestanden zijn op twee plaatsen tegelijk gewijzigd. Beide versies zijn "
"bewaard; kies welke blijft." "bewaard; kies welke blijft."
#: crates/pdfs-gui/src/app/pages/locations.rs:158 #: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid "" msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
@@ -2544,135 +2545,135 @@ msgstr ""
"Gesynchroniseerde mappen houden een volledige kopie op deze computer. Mappen " "Gesynchroniseerde mappen houden een volledige kopie op deze computer. Mappen "
"die alleen online zijn, halen elk bestand op zodra je het opent." "die alleen online zijn, halen elk bestand op zodra je het opent."
#: crates/pdfs-gui/src/app/pages/locations.rs:169 #: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes" msgid "About Sync Modes"
msgstr "Over synchronisatiemodi" msgstr "Over synchronisatiemodi"
#: crates/pdfs-gui/src/app/pages/locations.rs:178 #: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65 #: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders" msgid "Folders"
msgstr "Mappen" msgstr "Mappen"
#: crates/pdfs-gui/src/app/pages/locations.rs:213 #: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view" msgctxt "sync view"
msgid "Overview" msgid "Overview"
msgstr "Overzicht" msgstr "Overzicht"
#: crates/pdfs-gui/src/app/pages/locations.rs:219 #: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view" msgctxt "sync view"
msgid "Folders" msgid "Folders"
msgstr "Mappen" msgstr "Mappen"
#: crates/pdfs-gui/src/app/pages/locations.rs:225 #: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view" msgctxt "sync view"
msgid "History" msgid "History"
msgstr "Geschiedenis" msgstr "Geschiedenis"
#: crates/pdfs-gui/src/app/pages/locations.rs:232 #: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210 #: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review" msgid "Review"
msgstr "Bekijken" msgstr "Bekijken"
#: crates/pdfs-gui/src/app/pages/locations.rs:363 #: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format #, rust-format
msgid "{n} change couldn't be uploaded" msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded" msgid_plural "{n} changes couldn't be uploaded"
msgstr[0] "{n} wijziging kon niet worden geüpload" msgstr[0] "{n} wijziging kon niet worden geüpload"
msgstr[1] "{n} wijzigingen konden niet worden geüpload" msgstr[1] "{n} wijzigingen konden niet worden geüpload"
#: crates/pdfs-gui/src/app/pages/locations.rs:369 #: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format #, rust-format
msgid "{n} file was changed in two places at once" msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once" msgid_plural "{n} files were changed in two places at once"
msgstr[0] "{n} bestand is op twee plaatsen tegelijk gewijzigd" msgstr[0] "{n} bestand is op twee plaatsen tegelijk gewijzigd"
msgstr[1] "{n} bestanden zijn op twee plaatsen tegelijk gewijzigd" msgstr[1] "{n} bestanden zijn op twee plaatsen tegelijk gewijzigd"
#: crates/pdfs-gui/src/app/pages/locations.rs:374 #: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention" msgid "Some files need your attention"
msgstr "Sommige bestanden hebben je aandacht nodig" msgstr "Sommige bestanden hebben je aandacht nodig"
#: crates/pdfs-gui/src/app/pages/locations.rs:391 #: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…" msgid "Checking…"
msgstr "Controleren…" msgstr "Controleren…"
#: crates/pdfs-gui/src/app/pages/locations.rs:419 #: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour" msgid "Pause for 1 Hour"
msgstr "1 uur pauzeren" msgstr "1 uur pauzeren"
#: crates/pdfs-gui/src/app/pages/locations.rs:423 #: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours" msgid "Pause for 8 Hours"
msgstr "8 uur pauzeren" msgstr "8 uur pauzeren"
#: crates/pdfs-gui/src/app/pages/locations.rs:427 #: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours" msgid "Pause for 24 Hours"
msgstr "24 uur pauzeren" msgstr "24 uur pauzeren"
#: crates/pdfs-gui/src/app/pages/locations.rs:431 #: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:467 #: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb" msgctxt "verb"
msgid "Pause" msgid "Pause"
msgstr "Pauzeren" msgstr "Pauzeren"
#: crates/pdfs-gui/src/app/pages/locations.rs:435 #: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:472 #: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual." msgid "Stop uploading until you resume. Files still open as usual."
msgstr "" msgstr ""
"Stop met uploaden totdat je hervat. Bestanden openen gewoon zoals altijd." "Stop met uploaden totdat je hervat. Bestanden openen gewoon zoals altijd."
#: crates/pdfs-gui/src/app/pages/locations.rs:437 #: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while" msgid "Pause for a while"
msgstr "Een tijdje pauzeren" msgstr "Een tijdje pauzeren"
#: crates/pdfs-gui/src/app/pages/locations.rs:465 #: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb" msgctxt "verb"
msgid "Resume" msgid "Resume"
msgstr "Hervatten" msgstr "Hervatten"
#: crates/pdfs-gui/src/app/pages/locations.rs:470 #: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused" msgid "Upload everything that waited while sync was paused"
msgstr "" msgstr ""
"Alles uploaden wat heeft gewacht terwijl de synchronisatie gepauzeerd was" "Alles uploaden wat heeft gewacht terwijl de synchronisatie gepauzeerd was"
#: crates/pdfs-gui/src/app/pages/locations.rs:518 #: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync" msgid "Couldn't pause sync"
msgstr "Kon synchronisatie niet pauzeren" msgstr "Kon synchronisatie niet pauzeren"
#: crates/pdfs-gui/src/app/pages/locations.rs:520 #: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync" msgid "Couldn't resume sync"
msgstr "Kon synchronisatie niet hervatten" msgstr "Kon synchronisatie niet hervatten"
#: crates/pdfs-gui/src/app/pages/locations.rs:526 #: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed" msgid "Sync resumed"
msgstr "Synchronisatie hervat" msgstr "Synchronisatie hervat"
#: crates/pdfs-gui/src/app/pages/locations.rs:527 #: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume" msgid "Sync paused until you resume"
msgstr "Synchronisatie gepauzeerd totdat je hervat" msgstr "Synchronisatie gepauzeerd totdat je hervat"
#: crates/pdfs-gui/src/app/pages/locations.rs:528 #: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237 #: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused" msgid "Sync paused"
msgstr "Synchronisatie gepauzeerd" msgstr "Synchronisatie gepauzeerd"
#: crates/pdfs-gui/src/app/pages/locations.rs:546 #: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All" msgid "Retry All"
msgstr "Alles opnieuw proberen" msgstr "Alles opnieuw proberen"
#: crates/pdfs-gui/src/app/pages/locations.rs:548 #: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now" msgid "Try every failed change again now"
msgstr "Alle mislukte wijzigingen nu opnieuw proberen" msgstr "Alle mislukte wijzigingen nu opnieuw proberen"
#: crates/pdfs-gui/src/app/pages/locations.rs:553 #: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload" msgid "Waiting to Upload"
msgstr "Wacht op upload" msgstr "Wacht op upload"
#: crates/pdfs-gui/src/app/pages/locations.rs:555 #: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:614 #: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet." msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "Wijzigingen op deze computer die nog niet in Proton Drive staan." msgstr "Wijzigingen op deze computer die nog niet in Proton Drive staan."
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes. #. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612 #: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format #, rust-format
msgid "" msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2687,89 +2688,154 @@ msgstr[1] ""
"Wijzigingen op deze computer die nog niet in Proton Drive staan. De eerste " "Wijzigingen op deze computer die nog niet in Proton Drive staan. De eerste "
"{shown} van {n} worden getoond." "{shown} van {n} worden getoond."
#: crates/pdfs-gui/src/app/pages/locations.rs:629 #: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes" msgid "Upload changes"
msgstr "Wijzigingen uploaden" msgstr "Wijzigingen uploaden"
#: crates/pdfs-gui/src/app/pages/locations.rs:630 #: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file" msgid "Upload new file"
msgstr "Nieuw bestand uploaden" msgstr "Nieuw bestand uploaden"
#: crates/pdfs-gui/src/app/pages/locations.rs:631 #: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder" msgid "Create folder"
msgstr "Map aanmaken" msgstr "Map aanmaken"
#: crates/pdfs-gui/src/app/pages/locations.rs:632 #: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move" msgid "Rename or move"
msgstr "Hernoemen of verplaatsen" msgstr "Hernoemen of verplaatsen"
#: crates/pdfs-gui/src/app/pages/locations.rs:633 #: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash" msgid "Move to trash"
msgstr "Naar prullenbak verplaatsen" msgstr "Naar prullenbak verplaatsen"
#. Translators: a queued change of an unknown kind. #. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635 #: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun" msgctxt "noun"
msgid "Change" msgid "Change"
msgstr "Wijziging" msgstr "Wijziging"
#: crates/pdfs-gui/src/app/pages/locations.rs:638 #: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish" msgid "waiting for the app writing it to finish"
msgstr "wacht tot de app die het schrijft klaar is" msgstr "wacht tot de app die het schrijft klaar is"
#. Translators: {time} is when the next attempt happens, such as "14:30". #. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641 #: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format #, rust-format
msgid "retrying {time}" msgid "retrying {time}"
msgstr "nieuwe poging om {time}" msgstr "nieuwe poging om {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:643 #: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume" msgid "waiting for sync to resume"
msgstr "wacht tot de synchronisatie wordt hervat" msgstr "wacht tot de synchronisatie wordt hervat"
#: crates/pdfs-gui/src/app/pages/locations.rs:644 #: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next" msgid "up next"
msgstr "volgende" msgstr "volgende"
#: crates/pdfs-gui/src/app/pages/locations.rs:648 #: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format #, rust-format
msgid "{action} · {state}" msgid "{action} · {state}"
msgstr "{action} · {state}" msgstr "{action} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:655 #: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format #, rust-format
msgid "Failed {n} time: {error}" msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}" msgid_plural "Failed {n} times: {error}"
msgstr[0] "{n} keer mislukt: {error}" msgstr[0] "{n} keer mislukt: {error}"
msgstr[1] "{n} keer mislukt: {error}" msgstr[1] "{n} keer mislukt: {error}"
#: crates/pdfs-gui/src/app/pages/locations.rs:681 #: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now" msgid "Retry now"
msgstr "Nu opnieuw proberen" msgstr "Nu opnieuw proberen"
#: crates/pdfs-gui/src/app/pages/locations.rs:700 #: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr "Exporteren"
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr "Een kopie van de inhoud van dit bestand ergens anders opslaan"
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
"Je Proton Drive-opslag is vol. Maak ruimte vrij of stap over op een groter "
"abonnement, dan wordt deze wijziging vanzelf geüpload."
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
"Je kunt dit op Proton Drive niet meer wijzigen. Vraag de eigenaar om "
"bewerkrechten, of exporteer het bestand om je versie te bewaren."
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
"De map waar deze wijziging bij hoort, staat niet meer op Proton Drive. "
"Exporteer het bestand om je versie te bewaren."
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
"De limiet van Proton Drive voor items in een map of voor de diepte van "
"mappen is bereikt. Maak ruimte in de map en probeer het dan opnieuw."
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr ""
"Proton Drive heeft deze wijziging geweigerd. Ze blijft in de wachtrij en "
"wordt opnieuw geprobeerd."
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr "Bestand exporteren"
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr "Kon het bestand niet exporteren"
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Die locatie is geen lokaal bestand."
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr "Bestand geëxporteerd"
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…" msgid "Retrying now…"
msgstr "Nu opnieuw proberen…" msgstr "Nu opnieuw proberen…"
#: crates/pdfs-gui/src/app/pages/locations.rs:705 #: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:709 #: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry" msgid "Couldn't retry"
msgstr "Kon niet opnieuw proberen" msgstr "Kon niet opnieuw proberen"
#: crates/pdfs-gui/src/app/pages/locations.rs:779 #: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format #, rust-format
msgid "{size}, changed {time}" msgid "{size}, changed {time}"
msgstr "{size}, gewijzigd {time}" msgstr "{size}, gewijzigd {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:789 #: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left" msgid "The original is gone; only this copy is left"
msgstr "Het origineel is weg; alleen deze kopie is over" msgstr "Het origineel is weg; alleen deze kopie is over"
#: crates/pdfs-gui/src/app/pages/locations.rs:791 #: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original" msgid "Same content as the original"
msgstr "Zelfde inhoud als het origineel" msgstr "Zelfde inhoud als het origineel"
#: crates/pdfs-gui/src/app/pages/locations.rs:832 #: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format #, rust-format
msgid "" msgid ""
"“{name}” was changed here and elsewhere at the same time.\n" "“{name}” was changed here and elsewhere at the same time.\n"
@@ -2787,7 +2853,7 @@ msgstr ""
"Wat niet wordt behouden, gaat naar de prullenbak, waar het kan worden " "Wat niet wordt behouden, gaat naar de prullenbak, waar het kan worden "
"teruggezet." "teruggezet."
#: crates/pdfs-gui/src/app/pages/locations.rs:844 #: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format #, rust-format
msgid "" msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n" "The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2798,112 +2864,112 @@ msgstr ""
"\n" "\n"
"Behoud de kopie om haar de oorspronkelijke naam terug te geven." "Behoud de kopie om haar de oorspronkelijke naam terug te geven."
#: crates/pdfs-gui/src/app/pages/locations.rs:850 #: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict" msgid "Resolve Conflict"
msgstr "Conflict oplossen" msgstr "Conflict oplossen"
#: crates/pdfs-gui/src/app/pages/locations.rs:855 #: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both" msgid "Name for the copy, if keeping both"
msgstr "Naam voor de kopie, als je beide behoudt" msgstr "Naam voor de kopie, als je beide behoudt"
#: crates/pdfs-gui/src/app/pages/locations.rs:862 #: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original" msgid "Keep Original"
msgstr "Origineel behouden" msgstr "Origineel behouden"
#: crates/pdfs-gui/src/app/pages/locations.rs:863 #: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both" msgid "Keep Both"
msgstr "Beide behouden" msgstr "Beide behouden"
#: crates/pdfs-gui/src/app/pages/locations.rs:865 #: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy" msgid "Keep Copy"
msgstr "Kopie behouden" msgstr "Kopie behouden"
#: crates/pdfs-gui/src/app/pages/locations.rs:922 #: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:928 #: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict" msgid "Couldn't resolve the conflict"
msgstr "Kon het conflict niet oplossen" msgstr "Kon het conflict niet oplossen"
#: crates/pdfs-gui/src/app/pages/locations.rs:971 #: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations." msgid "Reading this computer's Proton Drive locations."
msgstr "De Proton Drive-locaties van deze computer worden gelezen." msgstr "De Proton Drive-locaties van deze computer worden gelezen."
#: crates/pdfs-gui/src/app/pages/locations.rs:992 #: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable" msgid "Unavailable"
msgstr "Niet beschikbaar" msgstr "Niet beschikbaar"
#: crates/pdfs-gui/src/app/pages/locations.rs:1075 #: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet" msgid "No folders yet"
msgstr "Nog geen mappen" msgstr "Nog geen mappen"
#: crates/pdfs-gui/src/app/pages/locations.rs:1077 #: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet." msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "De Proton Drive-service heeft zijn map nog niet gemeld." msgstr "De Proton Drive-service heeft zijn map nog niet gemeld."
#: crates/pdfs-gui/src/app/pages/locations.rs:1100 #: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format #, rust-format
msgid "{path} · {state}" msgid "{path} · {state}"
msgstr "{path} · {state}" msgstr "{path} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:1143 #: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only" msgid "Read-only"
msgstr "Alleen-lezen" msgstr "Alleen-lezen"
#: crates/pdfs-gui/src/app/pages/locations.rs:1159 #: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files" msgid "Open in Files"
msgstr "Openen in Bestanden" msgstr "Openen in Bestanden"
#: crates/pdfs-gui/src/app/pages/locations.rs:1164 #: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…" msgid "Change Location…"
msgstr "Locatie wijzigen…" msgstr "Locatie wijzigen…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1216 #: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer" msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "Kiezen of deze map een volledige kopie op deze computer houdt" msgstr "Kiezen of deze map een volledige kopie op deze computer houdt"
#: crates/pdfs-gui/src/app/pages/locations.rs:1232 #: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive." msgid "Keep every file on this computer and in Proton Drive."
msgstr "Elk bestand op deze computer en in Proton Drive bewaren." msgstr "Elk bestand op deze computer en in Proton Drive bewaren."
#: crates/pdfs-gui/src/app/pages/locations.rs:1237 #: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it." msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "" msgstr ""
"De bestanden in Proton Drive bewaren en elk bestand downloaden zodra je het " "De bestanden in Proton Drive bewaren en elk bestand downloaden zodra je het "
"opent." "opent."
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened. #. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291 #: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode" msgctxt "folder mode"
msgid "Online only" msgid "Online only"
msgstr "Alleen online" msgstr "Alleen online"
#. Translators: a folder mode: a full copy is kept on this computer. #. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294 #: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode" msgctxt "folder mode"
msgid "Synced" msgid "Synced"
msgstr "Gesynchroniseerd" msgstr "Gesynchroniseerd"
#: crates/pdfs-gui/src/app/pages/locations.rs:1305 #: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now" msgid "Sync Now"
msgstr "Nu synchroniseren" msgstr "Nu synchroniseren"
#: crates/pdfs-gui/src/app/pages/locations.rs:1309 #: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing" msgid "Resume Syncing"
msgstr "Synchronisatie hervatten" msgstr "Synchronisatie hervatten"
#: crates/pdfs-gui/src/app/pages/locations.rs:1311 #: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing" msgid "Pause Syncing"
msgstr "Synchronisatie pauzeren" msgstr "Synchronisatie pauzeren"
#: crates/pdfs-gui/src/app/pages/locations.rs:1322 #: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…" msgid "Stop Syncing…"
msgstr "Synchroniseren stoppen…" msgstr "Synchroniseren stoppen…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1331 #: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?" msgid "Make Folder Online Only?"
msgstr "Map alleen online maken?" msgstr "Map alleen online maken?"
#. Translators: {path} is a local folder path. #. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333 #: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format #, rust-format
msgid "" msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
@@ -2912,11 +2978,11 @@ msgstr ""
"Bestanden in {path} worden van deze computer verwijderd en alleen in Proton " "Bestanden in {path} worden van deze computer verwijderd en alleen in Proton "
"Drive bewaard. Elk bestand wordt opnieuw gedownload wanneer je het opent." "Drive bewaard. Elk bestand wordt opnieuw gedownload wanneer je het opent."
#: crates/pdfs-gui/src/app/pages/locations.rs:1336 #: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only" msgid "Make Online Only"
msgstr "Alleen online maken" msgstr "Alleen online maken"
#: crates/pdfs-gui/src/app/pages/locations.rs:1372 #: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format #, rust-format
msgid "" msgid ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
@@ -2925,61 +2991,61 @@ msgstr ""
"Elk bestand in {path} wordt naar deze computer gedownload en blijft " "Elk bestand in {path} wordt naar deze computer gedownload en blijft "
"gesynchroniseerd. Er is {free} vrij op deze schijf." "gesynchroniseerd. Er is {free} vrij op deze schijf."
#: crates/pdfs-gui/src/app/pages/locations.rs:1377 #: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format #, rust-format
msgid "Every file in {path} will download to this computer and stay synced." msgid "Every file in {path} will download to this computer and stay synced."
msgstr "" msgstr ""
"Elk bestand in {path} wordt naar deze computer gedownload en blijft " "Elk bestand in {path} wordt naar deze computer gedownload en blijft "
"gesynchroniseerd." "gesynchroniseerd."
#: crates/pdfs-gui/src/app/pages/locations.rs:1382 #: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?" msgid "Download Folder?"
msgstr "Map downloaden?" msgstr "Map downloaden?"
#: crates/pdfs-gui/src/app/pages/locations.rs:1386 #: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download" msgid "Download"
msgstr "Downloaden" msgstr "Downloaden"
#: crates/pdfs-gui/src/app/pages/locations.rs:1410 #: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder" msgid "Couldn't pause the folder"
msgstr "Kon de map niet pauzeren" msgstr "Kon de map niet pauzeren"
#: crates/pdfs-gui/src/app/pages/locations.rs:1411 #: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder" msgid "Couldn't resume the folder"
msgstr "Kon de map niet hervatten" msgstr "Kon de map niet hervatten"
#: crates/pdfs-gui/src/app/pages/locations.rs:1417 #: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused" msgid "Folder paused"
msgstr "Map gepauzeerd" msgstr "Map gepauzeerd"
#: crates/pdfs-gui/src/app/pages/locations.rs:1418 #: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed" msgid "Folder resumed"
msgstr "Map hervat" msgstr "Map hervat"
#: crates/pdfs-gui/src/app/pages/locations.rs:1442 #: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1446 #: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync" msgid "Couldn't sync"
msgstr "Kon niet synchroniseren" msgstr "Kon niet synchroniseren"
#: crates/pdfs-gui/src/app/pages/locations.rs:1472 #: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder" msgid "Shared folder"
msgstr "Gedeelde map" msgstr "Gedeelde map"
#: crates/pdfs-gui/src/app/pages/locations.rs:1474 #: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only" msgid "Going online only"
msgstr "Wordt alleen online" msgstr "Wordt alleen online"
#: crates/pdfs-gui/src/app/pages/locations.rs:1475 #: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced" msgid "Switching to synced"
msgstr "Overschakelen naar gesynchroniseerd" msgstr "Overschakelen naar gesynchroniseerd"
#: crates/pdfs-gui/src/app/pages/locations.rs:1485 #: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state" msgctxt "state"
msgid "paused" msgid "paused"
msgstr "gepauzeerd" msgstr "gepauzeerd"
#. Translators: a folder's files can't be opened right now. #. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496 #: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available" msgid "not available"
msgstr "niet beschikbaar" msgstr "niet beschikbaar"
@@ -5478,10 +5544,6 @@ msgstr "Versie opslaan"
msgid "Couldn't save that version" msgid "Couldn't save that version"
msgstr "Kon die versie niet opslaan" msgstr "Kon die versie niet opslaan"
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Die locatie is geen lokaal bestand."
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358 #: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved" msgid "Version saved"
msgstr "Versie opgeslagen" msgstr "Versie opgeslagen"
+172 -120
View File
@@ -6,9 +6,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.6.2\n" "Project-Id-Version: proton-drive-linux 2.10.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-29 00:18+0200\n" "POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -67,7 +67,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/browser.rs:1217 #: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090 #: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167 #: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471 #: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171 #: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files" msgid "My files"
@@ -244,9 +244,9 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:979 #: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031 #: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075 #: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:860 #: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1335 #: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1385 #: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312 #: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055 #: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946 #: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -450,8 +450,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/activity.rs:186 #: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281 #: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114 #: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183 #: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:680 #: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465 #: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183 #: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -485,8 +485,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/browser.rs:2635 #: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639 #: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325 #: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191 #: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:970 #: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422 #: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284 #: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -985,7 +985,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from. #. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346 #: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795 #: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format #, rust-format
msgid "Differs from {name}" msgid "Differs from {name}"
msgstr "" msgstr ""
@@ -1172,11 +1172,12 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:884 #: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120 #: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220 #: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535 #: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:710 #: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:929 #: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1427 #: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1447 #: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425 #: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420 #: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140 #: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2113,7 +2114,7 @@ msgid "Add Folder to Sync"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:686 #: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440 #: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…" msgid "Syncing folder…"
msgstr "" msgstr ""
@@ -2435,157 +2436,157 @@ msgstr[1] ""
msgid "Keep" msgid "Keep"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:125 #: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder" msgid "Add Folder"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:130 #: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device" msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:140 #: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts" msgid "Conflicts"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:142 #: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid "" msgid ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:158 #: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid "" msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:169 #: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes" msgid "About Sync Modes"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:178 #: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65 #: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders" msgid "Folders"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:213 #: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view" msgctxt "sync view"
msgid "Overview" msgid "Overview"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:219 #: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view" msgctxt "sync view"
msgid "Folders" msgid "Folders"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:225 #: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view" msgctxt "sync view"
msgid "History" msgid "History"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:232 #: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210 #: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review" msgid "Review"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:363 #: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format #, rust-format
msgid "{n} change couldn't be uploaded" msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded" msgid_plural "{n} changes couldn't be uploaded"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: crates/pdfs-gui/src/app/pages/locations.rs:369 #: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format #, rust-format
msgid "{n} file was changed in two places at once" msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once" msgid_plural "{n} files were changed in two places at once"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: crates/pdfs-gui/src/app/pages/locations.rs:374 #: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention" msgid "Some files need your attention"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:391 #: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…" msgid "Checking…"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:419 #: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour" msgid "Pause for 1 Hour"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:423 #: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours" msgid "Pause for 8 Hours"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:427 #: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours" msgid "Pause for 24 Hours"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:431 #: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:467 #: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb" msgctxt "verb"
msgid "Pause" msgid "Pause"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:435 #: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:472 #: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual." msgid "Stop uploading until you resume. Files still open as usual."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:437 #: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while" msgid "Pause for a while"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:465 #: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb" msgctxt "verb"
msgid "Resume" msgid "Resume"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:470 #: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused" msgid "Upload everything that waited while sync was paused"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:518 #: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync" msgid "Couldn't pause sync"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:520 #: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync" msgid "Couldn't resume sync"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:526 #: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed" msgid "Sync resumed"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:527 #: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume" msgid "Sync paused until you resume"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:528 #: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237 #: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused" msgid "Sync paused"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:546 #: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All" msgid "Retry All"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:548 #: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now" msgid "Try every failed change again now"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:553 #: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload" msgid "Waiting to Upload"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:555 #: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:614 #: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet." msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "" msgstr ""
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes. #. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612 #: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format #, rust-format
msgid "" msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2596,89 +2597,144 @@ msgid_plural ""
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: crates/pdfs-gui/src/app/pages/locations.rs:629 #: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes" msgid "Upload changes"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:630 #: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file" msgid "Upload new file"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:631 #: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder" msgid "Create folder"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:632 #: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move" msgid "Rename or move"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:633 #: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash" msgid "Move to trash"
msgstr "" msgstr ""
#. Translators: a queued change of an unknown kind. #. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635 #: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun" msgctxt "noun"
msgid "Change" msgid "Change"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:638 #: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish" msgid "waiting for the app writing it to finish"
msgstr "" msgstr ""
#. Translators: {time} is when the next attempt happens, such as "14:30". #. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641 #: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format #, rust-format
msgid "retrying {time}" msgid "retrying {time}"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:643 #: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume" msgid "waiting for sync to resume"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:644 #: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next" msgid "up next"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:648 #: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format #, rust-format
msgid "{action} · {state}" msgid "{action} · {state}"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:655 #: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format #, rust-format
msgid "Failed {n} time: {error}" msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}" msgid_plural "Failed {n} times: {error}"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: crates/pdfs-gui/src/app/pages/locations.rs:681 #: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now" msgid "Retry now"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:700 #: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…" msgid "Retrying now…"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:705 #: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:709 #: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry" msgid "Couldn't retry"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:779 #: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format #, rust-format
msgid "{size}, changed {time}" msgid "{size}, changed {time}"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:789 #: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left" msgid "The original is gone; only this copy is left"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:791 #: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original" msgid "Same content as the original"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:832 #: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format #, rust-format
msgid "" msgid ""
"“{name}” was changed here and elsewhere at the same time.\n" "“{name}” was changed here and elsewhere at the same time.\n"
@@ -2689,7 +2745,7 @@ msgid ""
"Whatever is not kept goes to Trash, where it can be restored." "Whatever is not kept goes to Trash, where it can be restored."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:844 #: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format #, rust-format
msgid "" msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n" "The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2697,180 +2753,180 @@ msgid ""
"Keep the copy to give it the original name back." "Keep the copy to give it the original name back."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:850 #: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict" msgid "Resolve Conflict"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:855 #: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both" msgid "Name for the copy, if keeping both"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:862 #: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original" msgid "Keep Original"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:863 #: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both" msgid "Keep Both"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:865 #: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy" msgid "Keep Copy"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:922 #: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:928 #: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict" msgid "Couldn't resolve the conflict"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:971 #: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations." msgid "Reading this computer's Proton Drive locations."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:992 #: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable" msgid "Unavailable"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1075 #: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet" msgid "No folders yet"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1077 #: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet." msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1100 #: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format #, rust-format
msgid "{path} · {state}" msgid "{path} · {state}"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1143 #: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only" msgid "Read-only"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1159 #: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files" msgid "Open in Files"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1164 #: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…" msgid "Change Location…"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1216 #: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer" msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1232 #: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive." msgid "Keep every file on this computer and in Proton Drive."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1237 #: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it." msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "" msgstr ""
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened. #. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291 #: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode" msgctxt "folder mode"
msgid "Online only" msgid "Online only"
msgstr "" msgstr ""
#. Translators: a folder mode: a full copy is kept on this computer. #. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294 #: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode" msgctxt "folder mode"
msgid "Synced" msgid "Synced"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1305 #: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now" msgid "Sync Now"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1309 #: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing" msgid "Resume Syncing"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1311 #: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing" msgid "Pause Syncing"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1322 #: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…" msgid "Stop Syncing…"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1331 #: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?" msgid "Make Folder Online Only?"
msgstr "" msgstr ""
#. Translators: {path} is a local folder path. #. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333 #: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format #, rust-format
msgid "" msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
"only. Each file downloads again when you open it." "only. Each file downloads again when you open it."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1336 #: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only" msgid "Make Online Only"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1372 #: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format #, rust-format
msgid "" msgid ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
"is free on this disk." "is free on this disk."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1377 #: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format #, rust-format
msgid "Every file in {path} will download to this computer and stay synced." msgid "Every file in {path} will download to this computer and stay synced."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1382 #: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?" msgid "Download Folder?"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1386 #: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1410 #: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder" msgid "Couldn't pause the folder"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1411 #: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder" msgid "Couldn't resume the folder"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1417 #: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused" msgid "Folder paused"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1418 #: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed" msgid "Folder resumed"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1442 #: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1446 #: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync" msgid "Couldn't sync"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1472 #: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder" msgid "Shared folder"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1474 #: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only" msgid "Going online only"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1475 #: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced" msgid "Switching to synced"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:1485 #: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state" msgctxt "state"
msgid "paused" msgid "paused"
msgstr "" msgstr ""
#. Translators: a folder's files can't be opened right now. #. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496 #: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available" msgid "not available"
msgstr "" msgstr ""
@@ -5281,10 +5337,6 @@ msgstr ""
msgid "Couldn't save that version" msgid "Couldn't save that version"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358 #: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved" msgid "Version saved"
msgstr "" msgstr ""
+180 -119
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-29 00:18+0200\n" "POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Polish\n" "Language-Team: Polish\n"
@@ -66,7 +66,7 @@ msgstr "%A, %-d %B %Y, %H:%M"
#: crates/pdfs-gui/src/app/pages/browser.rs:1217 #: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090 #: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167 #: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471 #: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171 #: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files" msgid "My files"
@@ -272,9 +272,9 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:979 #: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031 #: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075 #: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:860 #: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1335 #: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1385 #: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312 #: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055 #: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946 #: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -478,8 +478,8 @@ msgstr "Nic w ostatnim dzienniku nie pasuje do tego filtru."
#: crates/pdfs-gui/src/app/pages/activity.rs:186 #: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281 #: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114 #: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183 #: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:680 #: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465 #: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183 #: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -520,8 +520,8 @@ msgstr "Opcje widoku"
#: crates/pdfs-gui/src/app/pages/browser.rs:2635 #: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639 #: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325 #: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191 #: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:970 #: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422 #: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284 #: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -1036,7 +1036,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from. #. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346 #: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795 #: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format #, rust-format
msgid "Differs from {name}" msgid "Differs from {name}"
msgstr "Różni się od {name}" msgstr "Różni się od {name}"
@@ -1237,11 +1237,12 @@ msgstr "Nie można wczytać albumów"
#: crates/pdfs-gui/src/app/pages/devices.rs:884 #: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120 #: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220 #: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535 #: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:710 #: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:929 #: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1427 #: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1447 #: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425 #: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420 #: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140 #: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2207,7 +2208,7 @@ msgid "Add Folder to Sync"
msgstr "Dodaj katalog do synchronizacji" msgstr "Dodaj katalog do synchronizacji"
#: crates/pdfs-gui/src/app/pages/devices.rs:686 #: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440 #: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…" msgid "Syncing folder…"
msgstr "Synchronizowanie katalogu…" msgstr "Synchronizowanie katalogu…"
@@ -2572,20 +2573,20 @@ msgstr[2] "Przenieś {n} zdjęć do kosza"
msgid "Keep" msgid "Keep"
msgstr "Zachowaj" msgstr "Zachowaj"
#: crates/pdfs-gui/src/app/pages/locations.rs:125 #: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder" msgid "Add Folder"
msgstr "Dodaj katalog" msgstr "Dodaj katalog"
#: crates/pdfs-gui/src/app/pages/locations.rs:130 #: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device" msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "" msgstr ""
"Kopia zapasowa lokalnego katalogu w urządzeniu tego komputera w Proton Drive" "Kopia zapasowa lokalnego katalogu w urządzeniu tego komputera w Proton Drive"
#: crates/pdfs-gui/src/app/pages/locations.rs:140 #: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts" msgid "Conflicts"
msgstr "Konflikty" msgstr "Konflikty"
#: crates/pdfs-gui/src/app/pages/locations.rs:142 #: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid "" msgid ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
@@ -2593,7 +2594,7 @@ msgstr ""
"Pliki zmienione w dwóch miejscach jednocześnie. Zachowano obie wersje; " "Pliki zmienione w dwóch miejscach jednocześnie. Zachowano obie wersje; "
"należy wybrać, która pozostanie." "należy wybrać, która pozostanie."
#: crates/pdfs-gui/src/app/pages/locations.rs:158 #: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid "" msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
@@ -2601,36 +2602,36 @@ msgstr ""
"Katalogi synchronizowane przechowują pełną kopię na tym komputerze. Katalogi " "Katalogi synchronizowane przechowują pełną kopię na tym komputerze. Katalogi "
"tylko online pobierają każdy plik przy jego otwarciu." "tylko online pobierają każdy plik przy jego otwarciu."
#: crates/pdfs-gui/src/app/pages/locations.rs:169 #: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes" msgid "About Sync Modes"
msgstr "Informacje o trybach synchronizacji" msgstr "Informacje o trybach synchronizacji"
#: crates/pdfs-gui/src/app/pages/locations.rs:178 #: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65 #: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders" msgid "Folders"
msgstr "Katalogi" msgstr "Katalogi"
#: crates/pdfs-gui/src/app/pages/locations.rs:213 #: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view" msgctxt "sync view"
msgid "Overview" msgid "Overview"
msgstr "Przegląd" msgstr "Przegląd"
#: crates/pdfs-gui/src/app/pages/locations.rs:219 #: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view" msgctxt "sync view"
msgid "Folders" msgid "Folders"
msgstr "Katalogi" msgstr "Katalogi"
#: crates/pdfs-gui/src/app/pages/locations.rs:225 #: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view" msgctxt "sync view"
msgid "History" msgid "History"
msgstr "Historia" msgstr "Historia"
#: crates/pdfs-gui/src/app/pages/locations.rs:232 #: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210 #: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review" msgid "Review"
msgstr "Przejrzyj" msgstr "Przejrzyj"
#: crates/pdfs-gui/src/app/pages/locations.rs:363 #: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format #, rust-format
msgid "{n} change couldn't be uploaded" msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded" msgid_plural "{n} changes couldn't be uploaded"
@@ -2638,7 +2639,7 @@ msgstr[0] "Nie można wysłać zmian: {n}"
msgstr[1] "Nie można wysłać zmian: {n}" msgstr[1] "Nie można wysłać zmian: {n}"
msgstr[2] "Nie można wysłać zmian: {n}" msgstr[2] "Nie można wysłać zmian: {n}"
#: crates/pdfs-gui/src/app/pages/locations.rs:369 #: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format #, rust-format
msgid "{n} file was changed in two places at once" msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once" msgid_plural "{n} files were changed in two places at once"
@@ -2646,93 +2647,93 @@ msgstr[0] "Pliki zmienione w dwóch miejscach jednocześnie: {n}"
msgstr[1] "Pliki zmienione w dwóch miejscach jednocześnie: {n}" msgstr[1] "Pliki zmienione w dwóch miejscach jednocześnie: {n}"
msgstr[2] "Pliki zmienione w dwóch miejscach jednocześnie: {n}" msgstr[2] "Pliki zmienione w dwóch miejscach jednocześnie: {n}"
#: crates/pdfs-gui/src/app/pages/locations.rs:374 #: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention" msgid "Some files need your attention"
msgstr "Niektóre pliki wymagają uwagi" msgstr "Niektóre pliki wymagają uwagi"
#: crates/pdfs-gui/src/app/pages/locations.rs:391 #: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…" msgid "Checking…"
msgstr "Sprawdzanie…" msgstr "Sprawdzanie…"
#: crates/pdfs-gui/src/app/pages/locations.rs:419 #: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour" msgid "Pause for 1 Hour"
msgstr "Wstrzymaj na 1 godzinę" msgstr "Wstrzymaj na 1 godzinę"
#: crates/pdfs-gui/src/app/pages/locations.rs:423 #: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours" msgid "Pause for 8 Hours"
msgstr "Wstrzymaj na 8 godzin" msgstr "Wstrzymaj na 8 godzin"
#: crates/pdfs-gui/src/app/pages/locations.rs:427 #: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours" msgid "Pause for 24 Hours"
msgstr "Wstrzymaj na 24 godziny" msgstr "Wstrzymaj na 24 godziny"
#: crates/pdfs-gui/src/app/pages/locations.rs:431 #: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:467 #: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb" msgctxt "verb"
msgid "Pause" msgid "Pause"
msgstr "Wstrzymaj" msgstr "Wstrzymaj"
#: crates/pdfs-gui/src/app/pages/locations.rs:435 #: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:472 #: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual." msgid "Stop uploading until you resume. Files still open as usual."
msgstr "" msgstr ""
"Wstrzymuje wysyłanie do czasu wznowienia. Pliki nadal otwierają się " "Wstrzymuje wysyłanie do czasu wznowienia. Pliki nadal otwierają się "
"normalnie." "normalnie."
#: crates/pdfs-gui/src/app/pages/locations.rs:437 #: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while" msgid "Pause for a while"
msgstr "Wstrzymaj na jakiś czas" msgstr "Wstrzymaj na jakiś czas"
#: crates/pdfs-gui/src/app/pages/locations.rs:465 #: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb" msgctxt "verb"
msgid "Resume" msgid "Resume"
msgstr "Wznów" msgstr "Wznów"
#: crates/pdfs-gui/src/app/pages/locations.rs:470 #: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused" msgid "Upload everything that waited while sync was paused"
msgstr "Wysyła wszystko, co czekało podczas wstrzymania synchronizacji" msgstr "Wysyła wszystko, co czekało podczas wstrzymania synchronizacji"
#: crates/pdfs-gui/src/app/pages/locations.rs:518 #: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync" msgid "Couldn't pause sync"
msgstr "Nie można wstrzymać synchronizacji" msgstr "Nie można wstrzymać synchronizacji"
#: crates/pdfs-gui/src/app/pages/locations.rs:520 #: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync" msgid "Couldn't resume sync"
msgstr "Nie można wznowić synchronizacji" msgstr "Nie można wznowić synchronizacji"
#: crates/pdfs-gui/src/app/pages/locations.rs:526 #: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed" msgid "Sync resumed"
msgstr "Wznowiono synchronizację" msgstr "Wznowiono synchronizację"
#: crates/pdfs-gui/src/app/pages/locations.rs:527 #: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume" msgid "Sync paused until you resume"
msgstr "Wstrzymano synchronizację do czasu wznowienia" msgstr "Wstrzymano synchronizację do czasu wznowienia"
#: crates/pdfs-gui/src/app/pages/locations.rs:528 #: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237 #: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused" msgid "Sync paused"
msgstr "Wstrzymano synchronizację" msgstr "Wstrzymano synchronizację"
#: crates/pdfs-gui/src/app/pages/locations.rs:546 #: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All" msgid "Retry All"
msgstr "Ponów wszystko" msgstr "Ponów wszystko"
#: crates/pdfs-gui/src/app/pages/locations.rs:548 #: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now" msgid "Try every failed change again now"
msgstr "Ponawia teraz wszystkie nieudane zmiany" msgstr "Ponawia teraz wszystkie nieudane zmiany"
#: crates/pdfs-gui/src/app/pages/locations.rs:553 #: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload" msgid "Waiting to Upload"
msgstr "Oczekujące na wysłanie" msgstr "Oczekujące na wysłanie"
#: crates/pdfs-gui/src/app/pages/locations.rs:555 #: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:614 #: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet." msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "" msgstr ""
"Zmiany wprowadzone na tym komputerze, których jeszcze nie ma w Proton Drive." "Zmiany wprowadzone na tym komputerze, których jeszcze nie ma w Proton Drive."
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes. #. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612 #: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format #, rust-format
msgid "" msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2750,56 +2751,56 @@ msgstr[2] ""
"Zmiany wprowadzone na tym komputerze, których jeszcze nie ma w Proton Drive. " "Zmiany wprowadzone na tym komputerze, których jeszcze nie ma w Proton Drive. "
"Wyświetlanie pierwszych {shown} z {n}." "Wyświetlanie pierwszych {shown} z {n}."
#: crates/pdfs-gui/src/app/pages/locations.rs:629 #: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes" msgid "Upload changes"
msgstr "Wysłanie zmian" msgstr "Wysłanie zmian"
#: crates/pdfs-gui/src/app/pages/locations.rs:630 #: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file" msgid "Upload new file"
msgstr "Wysłanie nowego pliku" msgstr "Wysłanie nowego pliku"
#: crates/pdfs-gui/src/app/pages/locations.rs:631 #: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder" msgid "Create folder"
msgstr "Utworzenie katalogu" msgstr "Utworzenie katalogu"
#: crates/pdfs-gui/src/app/pages/locations.rs:632 #: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move" msgid "Rename or move"
msgstr "Zmiana nazwy lub przeniesienie" msgstr "Zmiana nazwy lub przeniesienie"
#: crates/pdfs-gui/src/app/pages/locations.rs:633 #: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash" msgid "Move to trash"
msgstr "Przeniesienie do kosza" msgstr "Przeniesienie do kosza"
#. Translators: a queued change of an unknown kind. #. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635 #: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun" msgctxt "noun"
msgid "Change" msgid "Change"
msgstr "Zmiana" msgstr "Zmiana"
#: crates/pdfs-gui/src/app/pages/locations.rs:638 #: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish" msgid "waiting for the app writing it to finish"
msgstr "oczekiwanie, aż zapisujący program skończy" msgstr "oczekiwanie, aż zapisujący program skończy"
#. Translators: {time} is when the next attempt happens, such as "14:30". #. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641 #: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format #, rust-format
msgid "retrying {time}" msgid "retrying {time}"
msgstr "ponowienie {time}" msgstr "ponowienie {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:643 #: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume" msgid "waiting for sync to resume"
msgstr "oczekiwanie na wznowienie synchronizacji" msgstr "oczekiwanie na wznowienie synchronizacji"
#: crates/pdfs-gui/src/app/pages/locations.rs:644 #: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next" msgid "up next"
msgstr "następne w kolejce" msgstr "następne w kolejce"
#: crates/pdfs-gui/src/app/pages/locations.rs:648 #: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format #, rust-format
msgid "{action} · {state}" msgid "{action} · {state}"
msgstr "{action} · {state}" msgstr "{action} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:655 #: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format #, rust-format
msgid "Failed {n} time: {error}" msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}" msgid_plural "Failed {n} times: {error}"
@@ -2807,33 +2808,97 @@ msgstr[0] "Niepowodzenie {n} raz: {error}"
msgstr[1] "Niepowodzenie {n} razy: {error}" msgstr[1] "Niepowodzenie {n} razy: {error}"
msgstr[2] "Niepowodzenie {n} razy: {error}" msgstr[2] "Niepowodzenie {n} razy: {error}"
#: crates/pdfs-gui/src/app/pages/locations.rs:681 #: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now" msgid "Retry now"
msgstr "Ponów teraz" msgstr "Ponów teraz"
#: crates/pdfs-gui/src/app/pages/locations.rs:700 #: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr "Eksportuj"
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr "Zapisz kopię zawartości tego pliku w innym miejscu"
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
"Miejsce w Proton Drive jest pełne. Zwolnij miejsce lub wybierz większy plan, "
"a ta zmiana zostanie wysłana sama."
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
"Nie możesz już zmieniać tego w Proton Drive. Poproś właściciela o prawo do "
"edycji lub wyeksportuj plik, aby zachować swoją wersję."
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
"Katalogu, do którego należy ta zmiana, nie ma już w Proton Drive. "
"Wyeksportuj plik, aby zachować swoją wersję."
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
"Osiągnięto limit Proton Drive dotyczący liczby elementów w katalogu lub "
"głębokości katalogów. Zrób miejsce w katalogu, a potem ponów."
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr ""
"Proton Drive odrzucił tę zmianę. Pozostaje w kolejce i zostanie ponowiona."
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr "Eksport pliku"
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr "Nie można wyeksportować pliku"
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "To położenie nie jest lokalnym plikiem."
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr "Wyeksportowano plik"
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…" msgid "Retrying now…"
msgstr "Ponawianie…" msgstr "Ponawianie…"
#: crates/pdfs-gui/src/app/pages/locations.rs:705 #: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:709 #: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry" msgid "Couldn't retry"
msgstr "Nie można ponowić" msgstr "Nie można ponowić"
#: crates/pdfs-gui/src/app/pages/locations.rs:779 #: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format #, rust-format
msgid "{size}, changed {time}" msgid "{size}, changed {time}"
msgstr "{size}, zmieniono {time}" msgstr "{size}, zmieniono {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:789 #: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left" msgid "The original is gone; only this copy is left"
msgstr "Oryginał już nie istnieje; pozostała tylko ta kopia" msgstr "Oryginał już nie istnieje; pozostała tylko ta kopia"
#: crates/pdfs-gui/src/app/pages/locations.rs:791 #: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original" msgid "Same content as the original"
msgstr "Ta sama zawartość co oryginał" msgstr "Ta sama zawartość co oryginał"
#: crates/pdfs-gui/src/app/pages/locations.rs:832 #: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format #, rust-format
msgid "" msgid ""
"“{name}” was changed here and elsewhere at the same time.\n" "“{name}” was changed here and elsewhere at the same time.\n"
@@ -2850,7 +2915,7 @@ msgstr ""
"\n" "\n"
"To, co nie zostanie zachowane, trafi do kosza, skąd można to przywrócić." "To, co nie zostanie zachowane, trafi do kosza, skąd można to przywrócić."
#: crates/pdfs-gui/src/app/pages/locations.rs:844 #: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format #, rust-format
msgid "" msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n" "The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2861,110 +2926,110 @@ msgstr ""
"\n" "\n"
"Zachowanie kopii przywróci jej oryginalną nazwę." "Zachowanie kopii przywróci jej oryginalną nazwę."
#: crates/pdfs-gui/src/app/pages/locations.rs:850 #: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict" msgid "Resolve Conflict"
msgstr "Rozwiąż konflikt" msgstr "Rozwiąż konflikt"
#: crates/pdfs-gui/src/app/pages/locations.rs:855 #: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both" msgid "Name for the copy, if keeping both"
msgstr "Nazwa kopii, jeśli zachowane zostaną obie" msgstr "Nazwa kopii, jeśli zachowane zostaną obie"
#: crates/pdfs-gui/src/app/pages/locations.rs:862 #: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original" msgid "Keep Original"
msgstr "Zachowaj oryginał" msgstr "Zachowaj oryginał"
#: crates/pdfs-gui/src/app/pages/locations.rs:863 #: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both" msgid "Keep Both"
msgstr "Zachowaj oba" msgstr "Zachowaj oba"
#: crates/pdfs-gui/src/app/pages/locations.rs:865 #: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy" msgid "Keep Copy"
msgstr "Zachowaj kopię" msgstr "Zachowaj kopię"
#: crates/pdfs-gui/src/app/pages/locations.rs:922 #: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:928 #: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict" msgid "Couldn't resolve the conflict"
msgstr "Nie można rozwiązać konfliktu" msgstr "Nie można rozwiązać konfliktu"
#: crates/pdfs-gui/src/app/pages/locations.rs:971 #: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations." msgid "Reading this computer's Proton Drive locations."
msgstr "Odczytywanie położeń Proton Drive tego komputera." msgstr "Odczytywanie położeń Proton Drive tego komputera."
#: crates/pdfs-gui/src/app/pages/locations.rs:992 #: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable" msgid "Unavailable"
msgstr "Niedostępne" msgstr "Niedostępne"
#: crates/pdfs-gui/src/app/pages/locations.rs:1075 #: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet" msgid "No folders yet"
msgstr "Brak katalogów" msgstr "Brak katalogów"
#: crates/pdfs-gui/src/app/pages/locations.rs:1077 #: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet." msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "Usługa Proton Drive nie zgłosiła jeszcze swojego katalogu." msgstr "Usługa Proton Drive nie zgłosiła jeszcze swojego katalogu."
#: crates/pdfs-gui/src/app/pages/locations.rs:1100 #: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format #, rust-format
msgid "{path} · {state}" msgid "{path} · {state}"
msgstr "{path} · {state}" msgstr "{path} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:1143 #: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only" msgid "Read-only"
msgstr "Tylko do odczytu" msgstr "Tylko do odczytu"
#: crates/pdfs-gui/src/app/pages/locations.rs:1159 #: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files" msgid "Open in Files"
msgstr "Otwórz w Plikach" msgstr "Otwórz w Plikach"
#: crates/pdfs-gui/src/app/pages/locations.rs:1164 #: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…" msgid "Change Location…"
msgstr "Zmień położenie…" msgstr "Zmień położenie…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1216 #: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer" msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "Wybierz, czy ten katalog przechowuje pełną kopię na tym komputerze" msgstr "Wybierz, czy ten katalog przechowuje pełną kopię na tym komputerze"
#: crates/pdfs-gui/src/app/pages/locations.rs:1232 #: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive." msgid "Keep every file on this computer and in Proton Drive."
msgstr "Przechowuj każdy plik na tym komputerze i w Proton Drive." msgstr "Przechowuj każdy plik na tym komputerze i w Proton Drive."
#: crates/pdfs-gui/src/app/pages/locations.rs:1237 #: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it." msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "Przechowuj pliki w Proton Drive i pobieraj każdy przy jego otwarciu." msgstr "Przechowuj pliki w Proton Drive i pobieraj każdy przy jego otwarciu."
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened. #. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291 #: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode" msgctxt "folder mode"
msgid "Online only" msgid "Online only"
msgstr "Tylko online" msgstr "Tylko online"
#. Translators: a folder mode: a full copy is kept on this computer. #. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294 #: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode" msgctxt "folder mode"
msgid "Synced" msgid "Synced"
msgstr "Synchronizowany" msgstr "Synchronizowany"
#: crates/pdfs-gui/src/app/pages/locations.rs:1305 #: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now" msgid "Sync Now"
msgstr "Synchronizuj teraz" msgstr "Synchronizuj teraz"
#: crates/pdfs-gui/src/app/pages/locations.rs:1309 #: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing" msgid "Resume Syncing"
msgstr "Wznów synchronizację" msgstr "Wznów synchronizację"
#: crates/pdfs-gui/src/app/pages/locations.rs:1311 #: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing" msgid "Pause Syncing"
msgstr "Wstrzymaj synchronizację" msgstr "Wstrzymaj synchronizację"
#: crates/pdfs-gui/src/app/pages/locations.rs:1322 #: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…" msgid "Stop Syncing…"
msgstr "Zatrzymaj synchronizację…" msgstr "Zatrzymaj synchronizację…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1331 #: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?" msgid "Make Folder Online Only?"
msgstr "Oznaczyć katalog jako tylko online?" msgstr "Oznaczyć katalog jako tylko online?"
#. Translators: {path} is a local folder path. #. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333 #: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format #, rust-format
msgid "" msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
@@ -2973,11 +3038,11 @@ msgstr ""
"Pliki w {path} zostaną usunięte z tego komputera i będą przechowywane tylko " "Pliki w {path} zostaną usunięte z tego komputera i będą przechowywane tylko "
"w Proton Drive. Każdy plik zostanie ponownie pobrany przy otwarciu." "w Proton Drive. Każdy plik zostanie ponownie pobrany przy otwarciu."
#: crates/pdfs-gui/src/app/pages/locations.rs:1336 #: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only" msgid "Make Online Only"
msgstr "Oznacz jako tylko online" msgstr "Oznacz jako tylko online"
#: crates/pdfs-gui/src/app/pages/locations.rs:1372 #: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format #, rust-format
msgid "" msgid ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
@@ -2986,61 +3051,61 @@ msgstr ""
"Każdy plik w {path} zostanie pobrany na ten komputer i pozostanie " "Każdy plik w {path} zostanie pobrany na ten komputer i pozostanie "
"synchronizowany. Wolne miejsce na tym dysku: {free}." "synchronizowany. Wolne miejsce na tym dysku: {free}."
#: crates/pdfs-gui/src/app/pages/locations.rs:1377 #: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format #, rust-format
msgid "Every file in {path} will download to this computer and stay synced." msgid "Every file in {path} will download to this computer and stay synced."
msgstr "" msgstr ""
"Każdy plik w {path} zostanie pobrany na ten komputer i pozostanie " "Każdy plik w {path} zostanie pobrany na ten komputer i pozostanie "
"synchronizowany." "synchronizowany."
#: crates/pdfs-gui/src/app/pages/locations.rs:1382 #: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?" msgid "Download Folder?"
msgstr "Pobrać katalog?" msgstr "Pobrać katalog?"
#: crates/pdfs-gui/src/app/pages/locations.rs:1386 #: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download" msgid "Download"
msgstr "Pobierz" msgstr "Pobierz"
#: crates/pdfs-gui/src/app/pages/locations.rs:1410 #: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder" msgid "Couldn't pause the folder"
msgstr "Nie można wstrzymać katalogu" msgstr "Nie można wstrzymać katalogu"
#: crates/pdfs-gui/src/app/pages/locations.rs:1411 #: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder" msgid "Couldn't resume the folder"
msgstr "Nie można wznowić katalogu" msgstr "Nie można wznowić katalogu"
#: crates/pdfs-gui/src/app/pages/locations.rs:1417 #: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused" msgid "Folder paused"
msgstr "Wstrzymano katalog" msgstr "Wstrzymano katalog"
#: crates/pdfs-gui/src/app/pages/locations.rs:1418 #: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed" msgid "Folder resumed"
msgstr "Wznowiono katalog" msgstr "Wznowiono katalog"
#: crates/pdfs-gui/src/app/pages/locations.rs:1442 #: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1446 #: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync" msgid "Couldn't sync"
msgstr "Nie można zsynchronizować" msgstr "Nie można zsynchronizować"
#: crates/pdfs-gui/src/app/pages/locations.rs:1472 #: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder" msgid "Shared folder"
msgstr "Udostępniony katalog" msgstr "Udostępniony katalog"
#: crates/pdfs-gui/src/app/pages/locations.rs:1474 #: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only" msgid "Going online only"
msgstr "Przechodzenie w tryb tylko online" msgstr "Przechodzenie w tryb tylko online"
#: crates/pdfs-gui/src/app/pages/locations.rs:1475 #: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced" msgid "Switching to synced"
msgstr "Przełączanie na synchronizację" msgstr "Przełączanie na synchronizację"
#: crates/pdfs-gui/src/app/pages/locations.rs:1485 #: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state" msgctxt "state"
msgid "paused" msgid "paused"
msgstr "wstrzymany" msgstr "wstrzymany"
#. Translators: a folder's files can't be opened right now. #. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496 #: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available" msgid "not available"
msgstr "niedostępne" msgstr "niedostępne"
@@ -5568,10 +5633,6 @@ msgstr "Zapisanie wersji"
msgid "Couldn't save that version" msgid "Couldn't save that version"
msgstr "Nie można zapisać tej wersji" msgstr "Nie można zapisać tej wersji"
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "To położenie nie jest lokalnym plikiem."
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358 #: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved" msgid "Version saved"
msgstr "Zapisano wersję" msgstr "Zapisano wersję"
+181 -119
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-29 00:18+0200\n" "POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Portuguese (Brazil)\n" "Language-Team: Portuguese (Brazil)\n"
@@ -64,7 +64,7 @@ msgstr "%A, %-d de %B de %Y, %H:%M"
#: crates/pdfs-gui/src/app/pages/browser.rs:1217 #: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090 #: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167 #: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471 #: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171 #: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files" msgid "My files"
@@ -267,9 +267,9 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:979 #: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031 #: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075 #: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:860 #: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1335 #: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1385 #: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312 #: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055 #: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946 #: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -473,8 +473,8 @@ msgstr "Nada no registro recente corresponde a este filtro."
#: crates/pdfs-gui/src/app/pages/activity.rs:186 #: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281 #: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114 #: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183 #: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:680 #: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465 #: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183 #: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -512,8 +512,8 @@ msgstr "Opções de exibição"
#: crates/pdfs-gui/src/app/pages/browser.rs:2635 #: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639 #: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325 #: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191 #: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:970 #: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422 #: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284 #: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -1016,7 +1016,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from. #. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346 #: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795 #: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format #, rust-format
msgid "Differs from {name}" msgid "Differs from {name}"
msgstr "Difere de {name}" msgstr "Difere de {name}"
@@ -1203,11 +1203,12 @@ msgstr "Não foi possível carregar os álbuns"
#: crates/pdfs-gui/src/app/pages/devices.rs:884 #: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120 #: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220 #: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535 #: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:710 #: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:929 #: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1427 #: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1447 #: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425 #: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420 #: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140 #: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2148,7 +2149,7 @@ msgid "Add Folder to Sync"
msgstr "Adicionar pasta à sincronização" msgstr "Adicionar pasta à sincronização"
#: crates/pdfs-gui/src/app/pages/devices.rs:686 #: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440 #: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…" msgid "Syncing folder…"
msgstr "Sincronizando pasta…" msgstr "Sincronizando pasta…"
@@ -2508,20 +2509,20 @@ msgstr[1] "Mover {n} fotos para a lixeira"
msgid "Keep" msgid "Keep"
msgstr "Manter" msgstr "Manter"
#: crates/pdfs-gui/src/app/pages/locations.rs:125 #: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder" msgid "Add Folder"
msgstr "Adicionar pasta" msgstr "Adicionar pasta"
#: crates/pdfs-gui/src/app/pages/locations.rs:130 #: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device" msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "" msgstr ""
"Fazer backup de uma pasta local no dispositivo Proton Drive deste computador" "Fazer backup de uma pasta local no dispositivo Proton Drive deste computador"
#: crates/pdfs-gui/src/app/pages/locations.rs:140 #: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts" msgid "Conflicts"
msgstr "Conflitos" msgstr "Conflitos"
#: crates/pdfs-gui/src/app/pages/locations.rs:142 #: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid "" msgid ""
"Files changed in two places at once. Both versions were kept; choose which " "Files changed in two places at once. Both versions were kept; choose which "
"one stays." "one stays."
@@ -2529,7 +2530,7 @@ msgstr ""
"Arquivos alterados em dois lugares ao mesmo tempo. Ambas as versões foram " "Arquivos alterados em dois lugares ao mesmo tempo. Ambas as versões foram "
"mantidas; escolha qual permanece." "mantidas; escolha qual permanece."
#: crates/pdfs-gui/src/app/pages/locations.rs:158 #: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid "" msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch " "Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it." "each file when you open it."
@@ -2537,136 +2538,136 @@ msgstr ""
"Pastas sincronizadas mantêm uma cópia completa neste computador. Pastas " "Pastas sincronizadas mantêm uma cópia completa neste computador. Pastas "
"somente online baixam cada arquivo quando você o abre." "somente online baixam cada arquivo quando você o abre."
#: crates/pdfs-gui/src/app/pages/locations.rs:169 #: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes" msgid "About Sync Modes"
msgstr "Sobre os modos de sincronização" msgstr "Sobre os modos de sincronização"
#: crates/pdfs-gui/src/app/pages/locations.rs:178 #: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65 #: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders" msgid "Folders"
msgstr "Pastas" msgstr "Pastas"
#: crates/pdfs-gui/src/app/pages/locations.rs:213 #: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view" msgctxt "sync view"
msgid "Overview" msgid "Overview"
msgstr "Visão geral" msgstr "Visão geral"
#: crates/pdfs-gui/src/app/pages/locations.rs:219 #: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view" msgctxt "sync view"
msgid "Folders" msgid "Folders"
msgstr "Pastas" msgstr "Pastas"
#: crates/pdfs-gui/src/app/pages/locations.rs:225 #: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view" msgctxt "sync view"
msgid "History" msgid "History"
msgstr "Histórico" msgstr "Histórico"
#: crates/pdfs-gui/src/app/pages/locations.rs:232 #: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210 #: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review" msgid "Review"
msgstr "Revisar" msgstr "Revisar"
#: crates/pdfs-gui/src/app/pages/locations.rs:363 #: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format #, rust-format
msgid "{n} change couldn't be uploaded" msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded" msgid_plural "{n} changes couldn't be uploaded"
msgstr[0] "Não foi possível enviar {n} alteração" msgstr[0] "Não foi possível enviar {n} alteração"
msgstr[1] "Não foi possível enviar {n} alterações" msgstr[1] "Não foi possível enviar {n} alterações"
#: crates/pdfs-gui/src/app/pages/locations.rs:369 #: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format #, rust-format
msgid "{n} file was changed in two places at once" msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once" msgid_plural "{n} files were changed in two places at once"
msgstr[0] "{n} arquivo foi alterado em dois lugares ao mesmo tempo" msgstr[0] "{n} arquivo foi alterado em dois lugares ao mesmo tempo"
msgstr[1] "{n} arquivos foram alterados em dois lugares ao mesmo tempo" msgstr[1] "{n} arquivos foram alterados em dois lugares ao mesmo tempo"
#: crates/pdfs-gui/src/app/pages/locations.rs:374 #: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention" msgid "Some files need your attention"
msgstr "Alguns arquivos precisam da sua atenção" msgstr "Alguns arquivos precisam da sua atenção"
#: crates/pdfs-gui/src/app/pages/locations.rs:391 #: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…" msgid "Checking…"
msgstr "Verificando…" msgstr "Verificando…"
#: crates/pdfs-gui/src/app/pages/locations.rs:419 #: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour" msgid "Pause for 1 Hour"
msgstr "Pausar por 1 hora" msgstr "Pausar por 1 hora"
#: crates/pdfs-gui/src/app/pages/locations.rs:423 #: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours" msgid "Pause for 8 Hours"
msgstr "Pausar por 8 horas" msgstr "Pausar por 8 horas"
#: crates/pdfs-gui/src/app/pages/locations.rs:427 #: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours" msgid "Pause for 24 Hours"
msgstr "Pausar por 24 horas" msgstr "Pausar por 24 horas"
#: crates/pdfs-gui/src/app/pages/locations.rs:431 #: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:467 #: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb" msgctxt "verb"
msgid "Pause" msgid "Pause"
msgstr "Pausar" msgstr "Pausar"
#: crates/pdfs-gui/src/app/pages/locations.rs:435 #: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:472 #: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual." msgid "Stop uploading until you resume. Files still open as usual."
msgstr "" msgstr ""
"Interrompe os envios até você retomar. Os arquivos continuam abrindo " "Interrompe os envios até você retomar. Os arquivos continuam abrindo "
"normalmente." "normalmente."
#: crates/pdfs-gui/src/app/pages/locations.rs:437 #: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while" msgid "Pause for a while"
msgstr "Pausar por um tempo" msgstr "Pausar por um tempo"
#: crates/pdfs-gui/src/app/pages/locations.rs:465 #: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb" msgctxt "verb"
msgid "Resume" msgid "Resume"
msgstr "Retomar" msgstr "Retomar"
#: crates/pdfs-gui/src/app/pages/locations.rs:470 #: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused" msgid "Upload everything that waited while sync was paused"
msgstr "Enviar tudo o que aguardou enquanto a sincronização estava pausada" msgstr "Enviar tudo o que aguardou enquanto a sincronização estava pausada"
#: crates/pdfs-gui/src/app/pages/locations.rs:518 #: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync" msgid "Couldn't pause sync"
msgstr "Não foi possível pausar a sincronização" msgstr "Não foi possível pausar a sincronização"
#: crates/pdfs-gui/src/app/pages/locations.rs:520 #: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync" msgid "Couldn't resume sync"
msgstr "Não foi possível retomar a sincronização" msgstr "Não foi possível retomar a sincronização"
#: crates/pdfs-gui/src/app/pages/locations.rs:526 #: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed" msgid "Sync resumed"
msgstr "Sincronização retomada" msgstr "Sincronização retomada"
#: crates/pdfs-gui/src/app/pages/locations.rs:527 #: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume" msgid "Sync paused until you resume"
msgstr "Sincronização pausada até você retomar" msgstr "Sincronização pausada até você retomar"
#: crates/pdfs-gui/src/app/pages/locations.rs:528 #: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237 #: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused" msgid "Sync paused"
msgstr "Sincronização pausada" msgstr "Sincronização pausada"
#: crates/pdfs-gui/src/app/pages/locations.rs:546 #: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All" msgid "Retry All"
msgstr "Tentar todos novamente" msgstr "Tentar todos novamente"
#: crates/pdfs-gui/src/app/pages/locations.rs:548 #: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now" msgid "Try every failed change again now"
msgstr "Tentar novamente agora todas as alterações que falharam" msgstr "Tentar novamente agora todas as alterações que falharam"
#: crates/pdfs-gui/src/app/pages/locations.rs:553 #: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload" msgid "Waiting to Upload"
msgstr "Aguardando envio" msgstr "Aguardando envio"
#: crates/pdfs-gui/src/app/pages/locations.rs:555 #: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:614 #: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet." msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "" msgstr ""
"Alterações feitas neste computador que ainda não estão no Proton Drive." "Alterações feitas neste computador que ainda não estão no Proton Drive."
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes. #. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612 #: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format #, rust-format
msgid "" msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the " "Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2681,89 +2682,154 @@ msgstr[1] ""
"Alterações feitas neste computador que ainda não estão no Proton Drive. " "Alterações feitas neste computador que ainda não estão no Proton Drive. "
"Mostrando as primeiras {shown} de {n}." "Mostrando as primeiras {shown} de {n}."
#: crates/pdfs-gui/src/app/pages/locations.rs:629 #: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes" msgid "Upload changes"
msgstr "Enviar alterações" msgstr "Enviar alterações"
#: crates/pdfs-gui/src/app/pages/locations.rs:630 #: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file" msgid "Upload new file"
msgstr "Enviar novo arquivo" msgstr "Enviar novo arquivo"
#: crates/pdfs-gui/src/app/pages/locations.rs:631 #: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder" msgid "Create folder"
msgstr "Criar pasta" msgstr "Criar pasta"
#: crates/pdfs-gui/src/app/pages/locations.rs:632 #: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move" msgid "Rename or move"
msgstr "Renomear ou mover" msgstr "Renomear ou mover"
#: crates/pdfs-gui/src/app/pages/locations.rs:633 #: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash" msgid "Move to trash"
msgstr "Mover para a lixeira" msgstr "Mover para a lixeira"
#. Translators: a queued change of an unknown kind. #. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635 #: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun" msgctxt "noun"
msgid "Change" msgid "Change"
msgstr "Alteração" msgstr "Alteração"
#: crates/pdfs-gui/src/app/pages/locations.rs:638 #: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish" msgid "waiting for the app writing it to finish"
msgstr "aguardando o aplicativo que o está gravando terminar" msgstr "aguardando o aplicativo que o está gravando terminar"
#. Translators: {time} is when the next attempt happens, such as "14:30". #. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641 #: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format #, rust-format
msgid "retrying {time}" msgid "retrying {time}"
msgstr "nova tentativa {time}" msgstr "nova tentativa {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:643 #: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume" msgid "waiting for sync to resume"
msgstr "aguardando a sincronização ser retomada" msgstr "aguardando a sincronização ser retomada"
#: crates/pdfs-gui/src/app/pages/locations.rs:644 #: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next" msgid "up next"
msgstr "a seguir" msgstr "a seguir"
#: crates/pdfs-gui/src/app/pages/locations.rs:648 #: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format #, rust-format
msgid "{action} · {state}" msgid "{action} · {state}"
msgstr "{action} · {state}" msgstr "{action} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:655 #: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format #, rust-format
msgid "Failed {n} time: {error}" msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}" msgid_plural "Failed {n} times: {error}"
msgstr[0] "Falhou {n} vez: {error}" msgstr[0] "Falhou {n} vez: {error}"
msgstr[1] "Falhou {n} vezes: {error}" msgstr[1] "Falhou {n} vezes: {error}"
#: crates/pdfs-gui/src/app/pages/locations.rs:681 #: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now" msgid "Retry now"
msgstr "Tentar novamente agora" msgstr "Tentar novamente agora"
#: crates/pdfs-gui/src/app/pages/locations.rs:700 #: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr "Exportar"
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr "Salvar uma cópia do conteúdo deste arquivo em outro lugar"
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
"Seu armazenamento do Proton Drive está cheio. Libere espaço ou mude para um "
"plano maior, e esta alteração será enviada sozinha."
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
"Você não pode mais alterar isto no Proton Drive. Peça ao proprietário "
"permissão de edição ou exporte o arquivo para manter a sua versão."
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
"A pasta à qual esta alteração pertence não está mais no Proton Drive. "
"Exporte o arquivo para manter a sua versão."
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
"O limite do Proton Drive de itens em uma pasta ou de profundidade de pastas "
"foi atingido. Libere espaço na pasta e tente novamente."
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr ""
"O Proton Drive recusou esta alteração. Ela continua na fila e será tentada "
"novamente."
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr "Exportar arquivo"
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr "Não foi possível exportar o arquivo"
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Esse local não é um arquivo local."
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr "Arquivo exportado"
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…" msgid "Retrying now…"
msgstr "Tentando novamente…" msgstr "Tentando novamente…"
#: crates/pdfs-gui/src/app/pages/locations.rs:705 #: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:709 #: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry" msgid "Couldn't retry"
msgstr "Não foi possível tentar novamente" msgstr "Não foi possível tentar novamente"
#: crates/pdfs-gui/src/app/pages/locations.rs:779 #: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format #, rust-format
msgid "{size}, changed {time}" msgid "{size}, changed {time}"
msgstr "{size}, alterado em {time}" msgstr "{size}, alterado em {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:789 #: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left" msgid "The original is gone; only this copy is left"
msgstr "O original não existe mais; só resta esta cópia" msgstr "O original não existe mais; só resta esta cópia"
#: crates/pdfs-gui/src/app/pages/locations.rs:791 #: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original" msgid "Same content as the original"
msgstr "Mesmo conteúdo que o original" msgstr "Mesmo conteúdo que o original"
#: crates/pdfs-gui/src/app/pages/locations.rs:832 #: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format #, rust-format
msgid "" msgid ""
"“{name}” was changed here and elsewhere at the same time.\n" "“{name}” was changed here and elsewhere at the same time.\n"
@@ -2780,7 +2846,7 @@ msgstr ""
"\n" "\n"
"O que não for mantido vai para a lixeira, de onde pode ser restaurado." "O que não for mantido vai para a lixeira, de onde pode ser restaurado."
#: crates/pdfs-gui/src/app/pages/locations.rs:844 #: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format #, rust-format
msgid "" msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n" "The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2791,111 +2857,111 @@ msgstr ""
"\n" "\n"
"Mantenha a cópia para devolver a ela o nome original." "Mantenha a cópia para devolver a ela o nome original."
#: crates/pdfs-gui/src/app/pages/locations.rs:850 #: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict" msgid "Resolve Conflict"
msgstr "Resolver conflito" msgstr "Resolver conflito"
#: crates/pdfs-gui/src/app/pages/locations.rs:855 #: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both" msgid "Name for the copy, if keeping both"
msgstr "Nome da cópia, se mantiver ambos" msgstr "Nome da cópia, se mantiver ambos"
#: crates/pdfs-gui/src/app/pages/locations.rs:862 #: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original" msgid "Keep Original"
msgstr "Manter original" msgstr "Manter original"
#: crates/pdfs-gui/src/app/pages/locations.rs:863 #: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both" msgid "Keep Both"
msgstr "Manter ambos" msgstr "Manter ambos"
#: crates/pdfs-gui/src/app/pages/locations.rs:865 #: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy" msgid "Keep Copy"
msgstr "Manter cópia" msgstr "Manter cópia"
#: crates/pdfs-gui/src/app/pages/locations.rs:922 #: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:928 #: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict" msgid "Couldn't resolve the conflict"
msgstr "Não foi possível resolver o conflito" msgstr "Não foi possível resolver o conflito"
#: crates/pdfs-gui/src/app/pages/locations.rs:971 #: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations." msgid "Reading this computer's Proton Drive locations."
msgstr "Lendo os locais do Proton Drive deste computador." msgstr "Lendo os locais do Proton Drive deste computador."
#: crates/pdfs-gui/src/app/pages/locations.rs:992 #: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable" msgid "Unavailable"
msgstr "Indisponível" msgstr "Indisponível"
#: crates/pdfs-gui/src/app/pages/locations.rs:1075 #: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet" msgid "No folders yet"
msgstr "Nenhuma pasta ainda" msgstr "Nenhuma pasta ainda"
#: crates/pdfs-gui/src/app/pages/locations.rs:1077 #: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet." msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "O serviço do Proton Drive ainda não informou sua pasta." msgstr "O serviço do Proton Drive ainda não informou sua pasta."
#: crates/pdfs-gui/src/app/pages/locations.rs:1100 #: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format #, rust-format
msgid "{path} · {state}" msgid "{path} · {state}"
msgstr "{path} · {state}" msgstr "{path} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:1143 #: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only" msgid "Read-only"
msgstr "Somente leitura" msgstr "Somente leitura"
#: crates/pdfs-gui/src/app/pages/locations.rs:1159 #: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files" msgid "Open in Files"
msgstr "Abrir em Arquivos" msgstr "Abrir em Arquivos"
#: crates/pdfs-gui/src/app/pages/locations.rs:1164 #: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…" msgid "Change Location…"
msgstr "Alterar local…" msgstr "Alterar local…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1216 #: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer" msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "Escolher se esta pasta mantém uma cópia completa neste computador" msgstr "Escolher se esta pasta mantém uma cópia completa neste computador"
#: crates/pdfs-gui/src/app/pages/locations.rs:1232 #: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive." msgid "Keep every file on this computer and in Proton Drive."
msgstr "Manter todos os arquivos neste computador e no Proton Drive." msgstr "Manter todos os arquivos neste computador e no Proton Drive."
#: crates/pdfs-gui/src/app/pages/locations.rs:1237 #: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it." msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "" msgstr ""
"Manter os arquivos no Proton Drive e baixar cada um quando você o abrir." "Manter os arquivos no Proton Drive e baixar cada um quando você o abrir."
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened. #. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291 #: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode" msgctxt "folder mode"
msgid "Online only" msgid "Online only"
msgstr "Somente online" msgstr "Somente online"
#. Translators: a folder mode: a full copy is kept on this computer. #. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294 #: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode" msgctxt "folder mode"
msgid "Synced" msgid "Synced"
msgstr "Sincronizada" msgstr "Sincronizada"
#: crates/pdfs-gui/src/app/pages/locations.rs:1305 #: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now" msgid "Sync Now"
msgstr "Sincronizar agora" msgstr "Sincronizar agora"
#: crates/pdfs-gui/src/app/pages/locations.rs:1309 #: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing" msgid "Resume Syncing"
msgstr "Retomar sincronização" msgstr "Retomar sincronização"
#: crates/pdfs-gui/src/app/pages/locations.rs:1311 #: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing" msgid "Pause Syncing"
msgstr "Pausar sincronização" msgstr "Pausar sincronização"
#: crates/pdfs-gui/src/app/pages/locations.rs:1322 #: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…" msgid "Stop Syncing…"
msgstr "Parar de sincronizar…" msgstr "Parar de sincronizar…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1331 #: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?" msgid "Make Folder Online Only?"
msgstr "Tornar a pasta somente online?" msgstr "Tornar a pasta somente online?"
#. Translators: {path} is a local folder path. #. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333 #: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format #, rust-format
msgid "" msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive " "Files in {path} will be removed from this computer and kept in Proton Drive "
@@ -2904,11 +2970,11 @@ msgstr ""
"Os arquivos em {path} serão removidos deste computador e mantidos somente no " "Os arquivos em {path} serão removidos deste computador e mantidos somente no "
"Proton Drive. Cada arquivo é baixado novamente quando você o abre." "Proton Drive. Cada arquivo é baixado novamente quando você o abre."
#: crates/pdfs-gui/src/app/pages/locations.rs:1336 #: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only" msgid "Make Online Only"
msgstr "Tornar somente online" msgstr "Tornar somente online"
#: crates/pdfs-gui/src/app/pages/locations.rs:1372 #: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format #, rust-format
msgid "" msgid ""
"Every file in {path} will download to this computer and stay synced. {free} " "Every file in {path} will download to this computer and stay synced. {free} "
@@ -2917,61 +2983,61 @@ msgstr ""
"Todos os arquivos em {path} serão baixados para este computador e " "Todos os arquivos em {path} serão baixados para este computador e "
"continuarão sincronizados. Há {free} livres neste disco." "continuarão sincronizados. Há {free} livres neste disco."
#: crates/pdfs-gui/src/app/pages/locations.rs:1377 #: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format #, rust-format
msgid "Every file in {path} will download to this computer and stay synced." msgid "Every file in {path} will download to this computer and stay synced."
msgstr "" msgstr ""
"Todos os arquivos em {path} serão baixados para este computador e " "Todos os arquivos em {path} serão baixados para este computador e "
"continuarão sincronizados." "continuarão sincronizados."
#: crates/pdfs-gui/src/app/pages/locations.rs:1382 #: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?" msgid "Download Folder?"
msgstr "Baixar a pasta?" msgstr "Baixar a pasta?"
#: crates/pdfs-gui/src/app/pages/locations.rs:1386 #: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download" msgid "Download"
msgstr "Baixar" msgstr "Baixar"
#: crates/pdfs-gui/src/app/pages/locations.rs:1410 #: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder" msgid "Couldn't pause the folder"
msgstr "Não foi possível pausar a pasta" msgstr "Não foi possível pausar a pasta"
#: crates/pdfs-gui/src/app/pages/locations.rs:1411 #: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder" msgid "Couldn't resume the folder"
msgstr "Não foi possível retomar a pasta" msgstr "Não foi possível retomar a pasta"
#: crates/pdfs-gui/src/app/pages/locations.rs:1417 #: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused" msgid "Folder paused"
msgstr "Pasta pausada" msgstr "Pasta pausada"
#: crates/pdfs-gui/src/app/pages/locations.rs:1418 #: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed" msgid "Folder resumed"
msgstr "Pasta retomada" msgstr "Pasta retomada"
#: crates/pdfs-gui/src/app/pages/locations.rs:1442 #: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1446 #: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync" msgid "Couldn't sync"
msgstr "Não foi possível sincronizar" msgstr "Não foi possível sincronizar"
#: crates/pdfs-gui/src/app/pages/locations.rs:1472 #: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder" msgid "Shared folder"
msgstr "Pasta compartilhada" msgstr "Pasta compartilhada"
#: crates/pdfs-gui/src/app/pages/locations.rs:1474 #: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only" msgid "Going online only"
msgstr "Tornando somente online" msgstr "Tornando somente online"
#: crates/pdfs-gui/src/app/pages/locations.rs:1475 #: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced" msgid "Switching to synced"
msgstr "Passando para sincronizada" msgstr "Passando para sincronizada"
#: crates/pdfs-gui/src/app/pages/locations.rs:1485 #: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state" msgctxt "state"
msgid "paused" msgid "paused"
msgstr "pausada" msgstr "pausada"
#. Translators: a folder's files can't be opened right now. #. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496 #: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available" msgid "not available"
msgstr "indisponível" msgstr "indisponível"
@@ -5465,10 +5531,6 @@ msgstr "Salvar versão"
msgid "Couldn't save that version" msgid "Couldn't save that version"
msgstr "Não foi possível salvar essa versão" msgstr "Não foi possível salvar essa versão"
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "Esse local não é um arquivo local."
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358 #: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved" msgid "Version saved"
msgstr "Versão salva" msgstr "Versão salva"