diff --git a/crates/pdfs-cli/src/main.rs b/crates/pdfs-cli/src/main.rs index d358c42..dbc008e 100644 --- a/crates/pdfs-cli/src/main.rs +++ b/crates/pdfs-cli/src/main.rs @@ -356,6 +356,18 @@ enum Command { #[arg(required = true, num_args = 2.., value_name = "PATH")] paths: Vec, }, + /// Copy files or folders into another folder in My files via the running + /// daemon. + /// + /// The copy happens on Proton Drive, so nothing is downloaded or uploaded, + /// unlike `cp` inside the mount. A name already taken in the destination + /// gets a " (1)" suffix. The last path is the destination folder. + Copy { + /// Files/folders to copy, then the destination folder: inside My files, + /// or relative to the mountpoint. + #[arg(required = true, num_args = 2.., value_name = "PATH")] + paths: Vec, + }, /// Trash a file or folder via the running daemon. Rm { /// File/folder path, inside My files or an on-demand synced folder, or @@ -919,6 +931,10 @@ fn main() -> Result<()> { let new_parent = paths.pop().expect("clap requires at least two paths"); cmd_move(paths, new_parent) } + Command::Copy { mut paths } => { + let new_parent = paths.pop().expect("clap requires at least two paths"); + cmd_copy(paths, new_parent) + } Command::Rm { path } => cmd_rm(path), Command::Mkdir { parent, name } => cmd_mkdir(parent, name), Command::Upload { sources, parent } => cmd_upload(sources, parent), @@ -1765,6 +1781,7 @@ fn activity_verb(kind: pdfs_core::control::ActivityKind) -> &'static str { Sync => "sync", Rename => "rename", Move => "move", + Copy => "copy", CreateFolder => "mkdir", Trash => "trash", Restore => "restore", @@ -2920,6 +2937,35 @@ fn cmd_move(sources: Vec, new_parent: PathBuf) -> Result<()> { Ok(()) } +fn cmd_copy(sources: Vec, new_parent: PathBuf) -> Result<()> { + let new_parent = path_arg(&new_parent)?; + let mut failed = 0; + for source in &sources { + let outcome = path_arg(source).and_then(|path| { + match control_request(CtlRequest::Copy { + path, + new_parent: new_parent.clone(), + })? { + CtlResponse::Ok { message } => Ok(message), + CtlResponse::Error { message, kind } => bail!("{}", cli_error(kind, &message)), + other => bail!("unexpected response: {other:?}"), + } + }); + match outcome { + Ok(message) => println!("{message}"), + Err(e) if sources.len() == 1 => return Err(e), + Err(e) => { + eprintln!("{}: {e:#}", source.display()); + failed += 1; + } + } + } + if failed > 0 { + bail!("{failed} of {} could not be copied", sources.len()); + } + Ok(()) +} + fn cmd_rm(path: PathBuf) -> Result<()> { match control_request(CtlRequest::Delete { path: path_arg(&path)?, diff --git a/crates/pdfs-core/src/control.rs b/crates/pdfs-core/src/control.rs index 202240d..9104e87 100644 --- a/crates/pdfs-core/src/control.rs +++ b/crates/pdfs-core/src/control.rs @@ -344,6 +344,12 @@ pub enum Request { /// or a mirror synced folder), and the move is still made on Proton Drive /// without transferring content. Replies with [`Response::Ok`]. Move { path: String, new_parent: String }, + /// Copy a file or folder into a folder on Proton Drive, without + /// downloading or uploading it. Both `path` and `new_parent` are + /// mountpoint-relative, or absolute paths inside My files. A name already + /// taken in `new_parent` gets the next free ` (n)` suffix. Replies with + /// [`Response::Ok`]. + Copy { path: String, new_parent: String }, /// Trash a file or folder. `path` is mountpoint-relative. Replies with /// [`Response::Ok`]. Delete { path: String }, @@ -1169,6 +1175,7 @@ pub enum ActivityKind { Sync, Rename, Move, + Copy, CreateFolder, Trash, Restore, @@ -2687,6 +2694,10 @@ mod tests { path: "a/b.txt".into(), new_parent: "d".into(), }, + Request::Copy { + path: "a/b.txt".into(), + new_parent: "d".into(), + }, Request::Delete { path: "a/b.txt".into(), }, diff --git a/crates/pdfs-fuse/src/control.rs b/crates/pdfs-fuse/src/control.rs index 1e0f5ee..4030f68 100644 --- a/crates/pdfs-fuse/src/control.rs +++ b/crates/pdfs-fuse/src/control.rs @@ -1063,6 +1063,31 @@ fn handle_control_conn(core: &Core, username: &str, mountpoint: &Path, stream: U (Err(e), _) | (_, Err(e)) => CtlResponse::error(e), } } + Ok(CtlRequest::Copy { path, new_parent }) => { + match ( + rel_to_mount(mountpoint, &path), + rel_to_mount(mountpoint, &new_parent), + ) { + (Ok(rel), Ok(parent_rel)) => match core.copy_to(&rel, &parent_rel) { + Ok(name) => { + let dest = if new_parent.is_empty() { + "My files".to_string() + } else { + new_parent.clone() + }; + core.log_activity(ActivityKind::Copy, &name, format!("to {dest}"), true); + CtlResponse::Ok { + message: format!("copied to {name}"), + } + } + Err(e) => { + core.log_activity(ActivityKind::Copy, &path, &e, false); + CtlResponse::error(e) + } + }, + (Err(e), _) | (_, Err(e)) => CtlResponse::error(e), + } + } Ok(CtlRequest::Delete { path }) => match route_node(core, mountpoint, &path) { Ok((core, rel)) => match core.delete(&rel) { Ok(name) => { diff --git a/crates/pdfs-fuse/src/drive.rs b/crates/pdfs-fuse/src/drive.rs index 53686f4..5d9a261 100644 --- a/crates/pdfs-fuse/src/drive.rs +++ b/crates/pdfs-fuse/src/drive.rs @@ -28,8 +28,8 @@ use proton_drive_rs::proton_sdk::account::Quota; use proton_drive_rs::proton_sdk::error::Result; use proton_drive_rs::proton_sdk::ids::{DriveEventId, NodeUid}; use proton_drive_rs::{ - Device, DeviceType, DriveEvent, DriveEventScopeId, Node, NodeMoveItem, ProtonDriveClient, - RevisionReader, Thumbnail, + AvailableNameTarget, Device, DeviceType, DriveEvent, DriveEventScopeId, Node, NodeMoveItem, + ProtonDriveClient, RevisionReader, Thumbnail, }; /// One outcome per node of a batch request; see [`ProtonDriveClient::trash_nodes`]. @@ -138,6 +138,22 @@ pub(crate) trait DriveApi: Send + Sync { async fn move_node(&self, uid: &NodeUid, new_parent: &NodeUid) -> Result<()>; + /// See [`ProtonDriveClient::copy_node`]. + async fn copy_node( + &self, + uid: &NodeUid, + new_parent: &NodeUid, + name: Option<&str>, + ) -> Result; + + /// See [`ProtonDriveClient::get_available_name`]. + async fn get_available_name( + &self, + parent_uid: &NodeUid, + name: &str, + target: AvailableNameTarget, + ) -> Result; + fn move_nodes_streaming<'a>( &'a self, items: Vec, @@ -448,6 +464,24 @@ impl DriveApi for ProtonDriveClient { ProtonDriveClient::move_node(self, uid, new_parent).await } + async fn copy_node( + &self, + uid: &NodeUid, + new_parent: &NodeUid, + name: Option<&str>, + ) -> Result { + ProtonDriveClient::copy_node(self, uid, new_parent, name).await + } + + async fn get_available_name( + &self, + parent_uid: &NodeUid, + name: &str, + target: AvailableNameTarget, + ) -> Result { + ProtonDriveClient::get_available_name(self, parent_uid, name, target).await + } + fn move_nodes_streaming<'a>( &'a self, items: Vec, diff --git a/crates/pdfs-fuse/src/lib.rs b/crates/pdfs-fuse/src/lib.rs index 8d02340..72bf580 100644 --- a/crates/pdfs-fuse/src/lib.rs +++ b/crates/pdfs-fuse/src/lib.rs @@ -74,8 +74,8 @@ use proton_drive_rs::proton_sdk::api::ResponseCode; use proton_drive_rs::proton_sdk::error::ProtonError; use proton_drive_rs::proton_sdk::ids::{DriveEventId, LinkId, NodeUid, ShareId, VolumeId}; use proton_drive_rs::{ - DriveEvent, DriveEventScopeId, MemberRole, Node, NodeKind, NodeMoveItem, ProtonDriveClient, - ProtonPhotosClient, SharedWithMeItem, ThumbnailType, + AvailableNameTarget, DriveEvent, DriveEventScopeId, MemberRole, Node, NodeKind, NodeMoveItem, + ProtonDriveClient, ProtonPhotosClient, SharedWithMeItem, ThumbnailType, }; mod albums; @@ -5206,6 +5206,88 @@ impl Core { Ok(name) } + /// Copy a file or folder into `new_parent_rel` on Proton Drive, which copies + /// the content there: nothing is downloaded or uploaded. Both paths are + /// mountpoint-relative. A name already taken in the folder gets the next + /// free ` (n)` suffix. Returns the copy's name. + /// + /// Drive copies what it holds, so the copy is refused offline and while the + /// mount still owes Drive part of it: a node or folder only queued locally, + /// a file with a queued upload or unsaved writes, or — for a folder, whose + /// queued changes could sit anywhere below it — any queued op at all. + fn copy_to(&self, rel: &Path, new_parent_rel: &Path) -> CoreResult { + let (ino, uid) = self.resolve(rel)?; + let (pino, new_parent_uid) = self + .resolve_path(new_parent_rel) + .map_err(|e| self.errno_error(e, "resolve new parent"))?; + self.ensure_children(pino) + .map_err(|e| self.errno_error(e, "enumerate"))?; + self.require_uid_writable(&new_parent_uid) + .map_err(|error| self.errno_error(error, "copy access"))?; + let (name, is_folder, unsaved) = { + let st = self.state(); + let entry = st + .entries + .get(&ino) + .ok_or_else(|| CoreError::not_found(format!("{} is gone", rel.display())))?; + let unsaved = st.active_writes.get(&ino).is_some_and(|w| w.dirty); + (entry.node.name.clone(), entry.node.is_folder(), unsaved) + }; + // Unlike a move, a copy cannot wait in the queue: it needs the node as + // Drive has it, so it goes now or not at all, local-first or not. + if !self.is_online() { + return Err(CoreError::offline()); + } + let owed = unsaved + || is_local_uid(&uid) + || is_local_uid(&new_parent_uid) + || self.db.has_any_op(&uid.to_string()).unwrap_or(true) + || (is_folder + && self + .db + .pending_op_counts() + .map(|counts| counts.uploads + counts.changes > 0) + .unwrap_or(true)); + if owed { + return Err(CoreError::conflict(format!( + "{name} has changes that have not reached Proton Drive yet; \ + copy it once they have synced" + ))); + } + let target = if is_folder { + AvailableNameTarget::Folder + } else { + AvailableNameTarget::File + }; + let copy_name = self + .rt + .block_on( + self.drive + .get_available_name(&new_parent_uid, &name, target), + ) + .map_err(|e| CoreError::from_api(&e, "copy"))?; + let new_uid = self + .rt + .block_on( + self.drive + .copy_node(&uid, &new_parent_uid, Some(©_name)), + ) + .map_err(|e| CoreError::from_api(&e, "copy"))?; + let node = self + .fetch_minted_node(&new_uid, ©_name) + .ok_or_else(|| minted_but_unlisted(©_name))?; + let mut st = self.state(); + let copy_ino = st.intern(pino, node); + if let Some(kids) = st.children.get_mut(&pino) + && !kids.contains(©_ino) + { + kids.push(copy_ino); + } + drop(st); + self.flush_access_changes(); + Ok(copy_name) + } + /// Trash a file or folder. `rel` is mountpoint-relative. Forgets the node, /// evicts any cached content, and invalidates the parent listing. fn delete(&self, rel: &Path) -> CoreResult { diff --git a/crates/pdfs-fuse/src/sim/daemon.rs b/crates/pdfs-fuse/src/sim/daemon.rs index 126a10b..99cbbbc 100644 --- a/crates/pdfs-fuse/src/sim/daemon.rs +++ b/crates/pdfs-fuse/src/sim/daemon.rs @@ -2214,6 +2214,75 @@ mod tests { let _ = std::fs::remove_dir_all(&dir); } + #[test] + #[ignore = "mounts FUSE: run with `cargo test -p pdfs-fuse sim:: -- --ignored`"] + fn a_pdfs_copy_copies_on_drive_and_waits_for_unsynced_changes() { + let drive = FakeDrive::new(); + let dir = scratch("pdfs-copy"); + let daemon = Daemon::start(&dir, drive.client(1, Faults::lan())).unwrap(); + + let mount = &daemon.mountpoint; + std::fs::create_dir_all(mount.join("src/inner")).unwrap(); + std::fs::create_dir_all(mount.join("dest")).unwrap(); + std::fs::write(mount.join("src/a.txt"), b"alpha").unwrap(); + std::fs::write(mount.join("src/inner/b.txt"), b"beta").unwrap(); + let file = |bytes: &[u8]| Some(Entry::File(Arc::new(bytes.to_vec()))); + assert!(wait_until(Duration::from_secs(30), || { + drive.tree().get("src/inner/b.txt").cloned() == file(b"beta") + && daemon.pending().is_ok_and(|ops| ops.is_empty()) + })); + + let path = |rel: &str| mount.join(rel).to_string_lossy().into_owned(); + let copy = |from: &str, to: &str| { + daemon.request(&Request::Copy { + path: path(from), + new_parent: path(to), + }) + }; + let uploads = drive.tree().len(); + copy("src/a.txt", "dest").unwrap(); + // A name already taken gets a suffix rather than an error. + copy("src/a.txt", "dest").unwrap(); + copy("src", "dest").unwrap(); + assert_eq!(std::fs::read(mount.join("dest/a.txt")).unwrap(), b"alpha"); + assert_eq!( + std::fs::read(mount.join("dest/a (1).txt")).unwrap(), + b"alpha" + ); + assert_eq!( + std::fs::read(mount.join("dest/src/inner/b.txt")).unwrap(), + b"beta" + ); + let tree = drive.tree(); + assert_eq!(tree.get("dest/src/a.txt").cloned(), file(b"alpha")); + assert_eq!( + tree.len(), + uploads + 6, + "{:?}", + tree.keys().collect::>() + ); + + // Drive would copy what it has, not the bytes still queued. + let paused = |paused| Request::SetSyncPaused { + paused, + until: None, + }; + daemon.request(&paused(true)).unwrap(); + std::fs::write(mount.join("src/a.txt"), b"alpha, edited").unwrap(); + match copy("src/a.txt", "dest") { + Err(e) => assert!(e.to_string().contains("not reached Proton Drive"), "{e}"), + Ok(answer) => panic!("the copy went ahead: {answer:?}"), + } + match copy("src", "dest") { + Err(e) => assert!(e.to_string().contains("not reached Proton Drive"), "{e}"), + Ok(answer) => panic!("the folder copy went ahead: {answer:?}"), + } + daemon.request(&paused(false)).unwrap(); + + assert!(matches!(daemon.stop(), Ok(MountOutcome::Shutdown))); + let _ = std::fs::remove_dir_all(&dir); + } + #[test] #[ignore = "mounts FUSE: run with `cargo test -p pdfs-fuse sim:: -- --ignored`"] fn a_pdfs_rename_after_a_queued_rename_is_not_undone() { diff --git a/crates/pdfs-fuse/src/sim/fake_drive.rs b/crates/pdfs-fuse/src/sim/fake_drive.rs index 0e14808..eaf7e52 100644 --- a/crates/pdfs-fuse/src/sim/fake_drive.rs +++ b/crates/pdfs-fuse/src/sim/fake_drive.rs @@ -61,8 +61,8 @@ use proton_drive_rs::proton_sdk::ids::{ DeviceUid, DriveEventId, LinkId, NodeUid, ShareId, VolumeId, }; use proton_drive_rs::{ - Device as Computer, DeviceType, DriveEvent, DriveEventScopeId, Node, NodeKind, NodeMoveItem, - RevisionState, Thumbnail, + AvailableNameTarget, Device as Computer, DeviceType, DriveEvent, DriveEventScopeId, Node, + NodeKind, NodeMoveItem, RevisionState, Thumbnail, }; use sha1::{Digest as _, Sha1}; @@ -185,6 +185,39 @@ impl Server { } } + /// Copy `uid` and, for a folder, everything live below it under `parent` as + /// `name`, the way Drive's copy endpoint does. Returns the copy's uid. + fn copy_subtree(&mut self, uid: &NodeUid, parent: &NodeUid, name: String) -> NodeUid { + let source = self + .current(uid) + .cloned() + .expect("the caller checked the source"); + let copy = self.mint_uid(); + let now = now_secs(); + self.put( + ©, + Some(Remote { + parent: Some(parent.clone()), + name, + created: now, + ..source + }), + ); + let children: Vec<(NodeUid, String)> = self + .nodes + .keys() + .filter_map(|child| { + let remote = self.current(child)?; + (remote.parent.as_ref() == Some(uid) && !remote.trashed) + .then(|| (child.clone(), remote.name.clone())) + }) + .collect(); + for (child, child_name) in children { + self.copy_subtree(&child, ©, child_name); + } + copy + } + fn mint_uid(&mut self) -> NodeUid { self.next_link += 1; uid(&format!("L{}", self.next_link)) @@ -1490,6 +1523,61 @@ impl DriveApi for FakeClient { .await } + async fn copy_node( + &self, + uid: &NodeUid, + new_parent: &NodeUid, + name: Option<&str>, + ) -> Result { + self.request(true, |server| { + if !server.is_folder(new_parent) { + return Err(api(ResponseCode::DoesNotExist, "parent folder not found")); + } + let source = server + .current(uid) + .filter(|remote| !remote.trashed) + .cloned() + .ok_or_else(|| api(ResponseCode::DoesNotExist, "node not found"))?; + if server.is_below(new_parent, uid) { + return Err(api( + ResponseCode::InvalidRequirements, + "cannot copy a folder into itself", + )); + } + let name = name.map_or(source.name.clone(), str::to_owned); + if server.live_child_named(new_parent, &name).is_some() { + return Err(api( + ResponseCode::AlreadyExists, + "a file or folder with that name already exists", + )); + } + Ok(server.copy_subtree(uid, new_parent, name)) + }) + .await + } + + async fn get_available_name( + &self, + parent_uid: &NodeUid, + name: &str, + target: AvailableNameTarget, + ) -> Result { + self.request(false, |server| { + let (stem, extension) = match (target, name.rsplit_once('.')) { + (AvailableNameTarget::File, Some((stem, ext))) if !stem.is_empty() => { + (stem, format!(".{ext}")) + } + _ => (name, String::new()), + }; + let free = std::iter::once(name.to_owned()) + .chain((1..).map(|n| format!("{stem} ({n}){extension}"))) + .find(|candidate| server.live_child_named(parent_uid, candidate).is_none()) + .expect("an unbounded sequence has a free name"); + Ok(free) + }) + .await + } + fn move_nodes_streaming<'a>( &'a self, items: Vec, diff --git a/crates/pdfs-gui/src/app/pages/activity.rs b/crates/pdfs-gui/src/app/pages/activity.rs index 9a7b558..cb627c4 100644 --- a/crates/pdfs-gui/src/app/pages/activity.rs +++ b/crates/pdfs-gui/src/app/pages/activity.rs @@ -1043,6 +1043,7 @@ pub(crate) fn activity_icon(kind: ActivityKind) -> &'static str { ActivityKind::Sync => "pdfs-sync-symbolic", ActivityKind::Rename => "document-edit-symbolic", ActivityKind::Move => "go-jump-symbolic", + ActivityKind::Copy => "edit-copy-symbolic", ActivityKind::CreateFolder => "folder-new-symbolic", ActivityKind::Trash => "user-trash-symbolic", ActivityKind::DeleteForever | ActivityKind::EmptyTrash => "edit-delete-symbolic", diff --git a/crates/pdfs-gui/src/app/pages/activity_text.rs b/crates/pdfs-gui/src/app/pages/activity_text.rs index f18f82a..1454443 100644 --- a/crates/pdfs-gui/src/app/pages/activity_text.rs +++ b/crates/pdfs-gui/src/app/pages/activity_text.rs @@ -179,6 +179,10 @@ pub(crate) fn activity_title(kind: ActivityKind, ok: bool, name: &str) -> String (ActivityKind::Move, true) => gettext_f("Moved {name}", &args), // Translators: {name} is a file or folder name. (ActivityKind::Move, false) => gettext_f("Couldn't move {name}", &args), + // Translators: {name} is a file or folder name. + (ActivityKind::Copy, true) => gettext_f("Copied {name}", &args), + // Translators: {name} is a file or folder name. + (ActivityKind::Copy, false) => gettext_f("Couldn't copy {name}", &args), // Translators: {name} is a folder name. (ActivityKind::CreateFolder, true) => gettext_f("Created folder {name}", &args), // Translators: {name} is a folder name. diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 7393bed..26a5ae7 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -19,6 +19,10 @@ scratch (user data in `staging/` and `recovery/` is never touched by this). the app asks GitHub once a day and shows a banner with a **Download** button when a newer version is out. It is off by default, and not offered for packages that a package manager updates (COPR, the AUR, Nix) (#42). +- **`pdfs copy` copies files and folders on Proton Drive**, without downloading or uploading + them: `pdfs copy ~/ProtonDrive/report.pdf ~/ProtonDrive/Archive`. A folder is copied with + everything in it, and a name already taken gets a " (1)" suffix. A file or folder with changes + that have not synced yet is refused until they have. ### Changed - **Reorganised documentation, now also on the diff --git a/docs/CLI.md b/docs/CLI.md index 0aa6b15..ffa582b 100644 --- a/docs/CLI.md +++ b/docs/CLI.md @@ -58,6 +58,7 @@ browser, complete it, then press Enter. | `pdfs mkdir PARENT NAME` | Create a folder. | | `pdfs rename PATH NEW_NAME` | Rename a file or folder. | | `pdfs move PATH... NEW_PARENT` | Move one or more files or folders into another folder. The two may be in different locations (My files, an on-demand or a mirrored synced folder); the move happens on Proton Drive, without downloading or uploading anything. | +| `pdfs copy PATH... NEW_PARENT` | Copy one or more files or folders into another folder in My files. The copy happens on Proton Drive, without downloading or uploading anything; a name already taken gets a " (1)" suffix. Changes that have not synced yet must sync first. | | `pdfs rm PATH` | Move to the Trash. | | `pdfs upload SOURCES... [-t FOLDER]` | Upload local files and folders (recursively) in the background. Follow with `pdfs transfers`. | | `pdfs refresh [TARGET] [--full]` | Forget a cached listing so the next read fetches it again. `TARGET` is a folder, `trash` or `photos`; `--full` with `photos` re-reads every photo's metadata. | diff --git a/po/de.po b/po/de.po index 5555d25..8b90cec 100644 --- a/po/de.po +++ b/po/de.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 2.1.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-17 01:23+0200\n" +"POT-Creation-Date: 2026-10-25 20:52+0100\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: German\n" @@ -58,7 +58,7 @@ msgid "%A, %B %-d, %Y, %H:%M" msgstr "%A, %-d. %B %Y, %H:%M" #: crates/pdfs-gui/src/app/main.rs:856 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:539 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:543 #: crates/pdfs-gui/src/app/pages/browser.rs:454 #: crates/pdfs-gui/src/app/pages/browser.rs:833 #: crates/pdfs-gui/src/app/pages/browser.rs:1239 @@ -824,189 +824,201 @@ msgstr "{name} verschoben" msgid "Couldn't move {name}" msgstr "{name} konnte nicht verschoben werden" -#. Translators: {name} is a folder name. +#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:183 #, rust-format +msgid "Copied {name}" +msgstr "{name} kopiert" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#, rust-format +msgid "Couldn't copy {name}" +msgstr "{name} konnte nicht kopiert werden" + +#. Translators: {name} is a folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#, rust-format msgid "Created folder {name}" msgstr "Ordner {name} erstellt" #. Translators: {name} is a folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 #, rust-format msgid "Couldn't create folder {name}" msgstr "Ordner {name} konnte nicht erstellt werden" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 #, rust-format msgid "Moved {name} to the Trash" msgstr "{name} in den Papierkorb verschoben" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 #, rust-format msgid "Couldn't move {name} to the Trash" msgstr "{name} konnte nicht in den Papierkorb verschoben werden" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 #, rust-format msgid "Restored {name}" msgstr "{name} wiederhergestellt" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 #, rust-format msgid "Couldn't restore {name}" msgstr "{name} konnte nicht wiederhergestellt werden" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 #, rust-format msgid "Deleted {name} forever" msgstr "{name} endgültig gelöscht" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 #, rust-format msgid "Couldn't delete {name}" msgstr "{name} konnte nicht gelöscht werden" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:198 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:202 msgid "Emptied the Trash" msgstr "Papierkorb geleert" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 msgid "Couldn't empty the Trash" msgstr "Papierkorb konnte nicht geleert werden" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 #, rust-format msgid "Shared {name}" msgstr "{name} geteilt" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 #, rust-format msgid "Couldn't share {name}" msgstr "{name} konnte nicht geteilt werden" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 #, rust-format msgid "Created a link to {name}" msgstr "Link zu {name} erstellt" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 #, rust-format msgid "Couldn't create a link to {name}" msgstr "Link zu {name} konnte nicht erstellt werden" #. Translators: {name} is a file or folder name. #. Translators: {name} is the item's name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:559 #, rust-format msgid "Stopped sharing {name}" msgstr "Freigabe von {name} beendet" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:215 #, rust-format msgid "Couldn't stop sharing {name}" msgstr "Freigabe von {name} konnte nicht beendet werden" #. Translators: {name} is the name of the conflicting copy. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:217 #, rust-format msgid "Conflicting copy {name}" msgstr "Konfliktkopie {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:236 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:240 msgid "Removed on Proton Drive" msgstr "In Proton Drive entfernt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:237 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:241 msgid "Removed on this computer" msgstr "Auf diesem Computer entfernt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:239 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 msgid "Replaced by a renamed file" msgstr "Durch eine umbenannte Datei ersetzt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:247 msgid "" "The destination folder no longer exists, so the file stayed where it was" msgstr "Der Zielordner existiert nicht mehr, daher blieb die Datei, wo sie war" #. Translators: {name} is the folder an item was moved into. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:262 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 #, rust-format msgid "To {name}" msgstr "Nach {name}" #. Translators: {name} is an item's previous name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:270 #, rust-format msgid "Previously {name}" msgstr "Vorher {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:269 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:273 msgid "Restored an earlier version" msgstr "Eine frühere Version wiederhergestellt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:272 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:276 msgid "Deleted an earlier version" msgstr "Eine frühere Version gelöscht" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:279 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:283 #, rust-format msgid "Saved an earlier version to {path}" msgstr "Eine frühere Version unter {path} gespeichert" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:286 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:290 #, rust-format msgid "Kept both; the copy is now {name}" msgstr "Beide behalten; die Kopie heißt jetzt {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:296 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:300 #, rust-format msgid "Kept {name}; the copy is in the Trash" msgstr "{name} behalten; die Kopie liegt im Papierkorb" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:301 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 msgid "Kept the conflicting copy" msgstr "Konfliktkopie behalten" #. Translators: {name} is the file that was kept. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:309 #, rust-format msgid "Kept {name}" msgstr "{name} behalten" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:310 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:314 #, rust-format msgid "Same as {name}, so it was removed" msgstr "Identisch mit {name}, daher entfernt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:317 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:321 #, rust-format msgid "The name was taken, so it was moved as {name}" msgstr "Der Name war vergeben, daher als {name} verschoben" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:324 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:328 #, rust-format msgid "The name was taken on Proton Drive, so it was renamed to {name}" msgstr "Der Name war in Proton Drive vergeben, daher in {name} umbenannt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:331 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:335 #, rust-format msgid "The name was taken on Proton Drive, so it was created as {name}" msgstr "Der Name war in Proton Drive vergeben, daher als {name} erstellt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:340 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:344 #, rust-format msgid "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " @@ -1015,7 +1027,7 @@ msgstr "" "Sein Ordner wurde in Proton Drive in den Papierkorb verschoben, daher auf " "oberster Ebene als {name} erstellt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:350 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:354 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" @@ -1023,7 +1035,7 @@ msgstr "" "Die Datei existiert in Proton Drive nicht mehr, daher wurden deine " "Änderungen als {name} hochgeladen" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:356 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:360 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " @@ -1032,7 +1044,7 @@ msgstr "" "Die Datei wurde in Proton Drive in den Papierkorb verschoben, daher wurden " "deine Änderungen als {name} hochgeladen" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:362 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:366 #, rust-format msgid "It was changed on Proton Drive, so your changes were uploaded as {name}" msgstr "" @@ -1041,12 +1053,12 @@ msgstr "" #. Translators: {name} is the copy the changes made on this #. computer were uploaded as. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:367 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:371 #, rust-format msgid "Your changes were uploaded as {name}" msgstr "Deine Änderungen wurden als {name} hochgeladen" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:377 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:381 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were kept in {path}" @@ -1054,7 +1066,7 @@ msgstr "" "Die Datei existiert in Proton Drive nicht mehr, daher wurden deine " "Änderungen in {path} aufbewahrt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:383 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:387 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were kept in " @@ -1063,7 +1075,7 @@ msgstr "" "Die Datei wurde in Proton Drive in den Papierkorb verschoben, daher wurden " "deine Änderungen in {path} aufbewahrt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:389 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:393 #, rust-format msgid "It was changed on Proton Drive, so your changes were kept in {path}" msgstr "" @@ -1072,59 +1084,59 @@ msgstr "" #. Translators: {path} is the file on this computer that holds the #. changes which could not be uploaded. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:394 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:398 #, rust-format msgid "Your changes were kept in {path}" msgstr "Deine Änderungen wurden in {path} aufbewahrt" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:399 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:403 #: crates/pdfs-gui/src/app/pages/locations.rs:989 #, rust-format msgid "Differs from {name}" msgstr "Unterscheidet sich von {name}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:406 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:410 #, rust-format msgid "{name} no longer exists" msgstr "{name} existiert nicht mehr" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:413 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:417 #, rust-format msgid "Same as {name}" msgstr "Identisch mit {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:420 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:424 #, rust-format msgid "{n} person can view" msgid_plural "{n} people can view" msgstr[0] "{n} Person kann ansehen" msgstr[1] "{n} Personen können ansehen" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:421 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:425 #, rust-format msgid "{n} person can edit" msgid_plural "{n} people can edit" msgstr[0] "{n} Person kann bearbeiten" msgstr[1] "{n} Personen können bearbeiten" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:422 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:426 #, rust-format msgid "{n} person invited" msgid_plural "{n} people invited" msgstr[0] "{n} Person eingeladen" msgstr[1] "{n} Personen eingeladen" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:427 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:431 #, rust-format msgid "{n} file kept as a conflicting copy" msgid_plural "{n} files kept as conflicting copies" msgstr[0] "{n} Datei als Konfliktkopie behalten" msgstr[1] "{n} Dateien als Konfliktkopien behalten" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:435 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:439 #, rust-format msgid "{n} item failed and will be tried again" msgid_plural "{n} items failed and will be tried again" @@ -1132,8 +1144,8 @@ msgstr[0] "{n} Element fehlgeschlagen, wird erneut versucht" msgstr[1] "{n} Elemente fehlgeschlagen, werden erneut versucht" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:473 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:504 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 #, rust-format msgid "{n} uploaded" msgid_plural "{n} uploaded" @@ -1141,7 +1153,7 @@ msgstr[0] "{n} hochgeladen" msgstr[1] "{n} hochgeladen" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:475 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 #, rust-format msgid "{n} downloaded" msgid_plural "{n} downloaded" @@ -1149,7 +1161,7 @@ msgstr[0] "{n} heruntergeladen" msgstr[1] "{n} heruntergeladen" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 #, rust-format msgid "{n} folder created" msgid_plural "{n} folders created" @@ -1157,7 +1169,7 @@ msgstr[0] "{n} Ordner erstellt" msgstr[1] "{n} Ordner erstellt" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:483 #, rust-format msgid "{n} deleted" msgid_plural "{n} deleted" @@ -1165,7 +1177,7 @@ msgstr[0] "{n} gelöscht" msgstr[1] "{n} gelöscht" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:485 #, rust-format msgid "{n} in conflict" msgid_plural "{n} in conflict" @@ -1174,7 +1186,7 @@ msgstr[1] "{n} im Konflikt" #. Translators: part of a list summing up a sync pass; the files are #. still open in another app. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:484 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:488 #, rust-format msgid "{n} still open" msgid_plural "{n} still open" @@ -1182,28 +1194,28 @@ msgstr[0] "{n} noch geöffnet" msgstr[1] "{n} noch geöffnet" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:486 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:509 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:490 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:513 #, rust-format msgid "{n} failed" msgid_plural "{n} failed" msgstr[0] "{n} fehlgeschlagen" msgstr[1] "{n} fehlgeschlagen" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:498 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:502 msgid "Cancelled" msgstr "Abgebrochen" #. Translators: photos an import skipped because they were already #. in Proton Drive. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:507 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:511 #, rust-format msgid "{n} already there" msgid_plural "{n} already there" msgstr[0] "{n} bereits vorhanden" msgstr[1] "{n} bereits vorhanden" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:512 #: crates/pdfs-gui/src/app/pages/albums.rs:107 #: crates/pdfs-gui/src/app/pages/albums.rs:694 #, rust-format diff --git a/po/en_GB.po b/po/en_GB.po index 640f186..9a017b9 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 2.1.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-17 01:23+0200\n" +"POT-Creation-Date: 2026-10-25 20:52+0100\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: English (United Kingdom)\n" @@ -58,7 +58,7 @@ msgid "%A, %B %-d, %Y, %H:%M" msgstr "%A %-d %B %Y, %H:%M" #: crates/pdfs-gui/src/app/main.rs:856 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:539 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:543 #: crates/pdfs-gui/src/app/pages/browser.rs:454 #: crates/pdfs-gui/src/app/pages/browser.rs:833 #: crates/pdfs-gui/src/app/pages/browser.rs:1239 @@ -816,190 +816,202 @@ msgstr "Moved {name}" msgid "Couldn't move {name}" msgstr "Couldn't move {name}" -#. Translators: {name} is a folder name. +#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:183 #, rust-format +msgid "Copied {name}" +msgstr "Copied {name}" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#, rust-format +msgid "Couldn't copy {name}" +msgstr "Couldn't copy {name}" + +#. Translators: {name} is a folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#, rust-format msgid "Created folder {name}" msgstr "Created folder {name}" #. Translators: {name} is a folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 #, rust-format msgid "Couldn't create folder {name}" msgstr "Couldn't create folder {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 #, rust-format msgid "Moved {name} to the Trash" msgstr "Moved {name} to the Trash" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 #, rust-format msgid "Couldn't move {name} to the Trash" msgstr "Couldn't move {name} to the Trash" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 #, rust-format msgid "Restored {name}" msgstr "Restored {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 #, rust-format msgid "Couldn't restore {name}" msgstr "Couldn't restore {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 #, rust-format msgid "Deleted {name} forever" msgstr "Deleted {name} forever" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 #, rust-format msgid "Couldn't delete {name}" msgstr "Couldn't delete {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:198 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:202 msgid "Emptied the Trash" msgstr "Emptied the Trash" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 msgid "Couldn't empty the Trash" msgstr "Couldn't empty the Trash" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 #, rust-format msgid "Shared {name}" msgstr "Shared {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 #, rust-format msgid "Couldn't share {name}" msgstr "Couldn't share {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 #, rust-format msgid "Created a link to {name}" msgstr "Created a link to {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 #, rust-format msgid "Couldn't create a link to {name}" msgstr "Couldn't create a link to {name}" #. Translators: {name} is a file or folder name. #. Translators: {name} is the item's name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:559 #, rust-format msgid "Stopped sharing {name}" msgstr "Stopped sharing {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:215 #, rust-format msgid "Couldn't stop sharing {name}" msgstr "Couldn't stop sharing {name}" #. Translators: {name} is the name of the conflicting copy. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:217 #, rust-format msgid "Conflicting copy {name}" msgstr "Conflicting copy {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:236 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:240 msgid "Removed on Proton Drive" msgstr "Removed on Proton Drive" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:237 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:241 msgid "Removed on this computer" msgstr "Removed on this computer" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:239 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 msgid "Replaced by a renamed file" msgstr "Replaced by a renamed file" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:247 msgid "" "The destination folder no longer exists, so the file stayed where it was" msgstr "" "The destination folder no longer exists, so the file stayed where it was" #. Translators: {name} is the folder an item was moved into. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:262 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 #, rust-format msgid "To {name}" msgstr "To {name}" #. Translators: {name} is an item's previous name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:270 #, rust-format msgid "Previously {name}" msgstr "Previously {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:269 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:273 msgid "Restored an earlier version" msgstr "Restored an earlier version" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:272 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:276 msgid "Deleted an earlier version" msgstr "Deleted an earlier version" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:279 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:283 #, rust-format msgid "Saved an earlier version to {path}" msgstr "Saved an earlier version to {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:286 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:290 #, rust-format msgid "Kept both; the copy is now {name}" msgstr "Kept both; the copy is now {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:296 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:300 #, rust-format msgid "Kept {name}; the copy is in the Trash" msgstr "Kept {name}; the copy is in the Trash" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:301 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 msgid "Kept the conflicting copy" msgstr "Kept the conflicting copy" #. Translators: {name} is the file that was kept. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:309 #, rust-format msgid "Kept {name}" msgstr "Kept {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:310 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:314 #, rust-format msgid "Same as {name}, so it was removed" msgstr "Same as {name}, so it was removed" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:317 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:321 #, rust-format msgid "The name was taken, so it was moved as {name}" msgstr "The name was taken, so it was moved as {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:324 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:328 #, rust-format msgid "The name was taken on Proton Drive, so it was renamed to {name}" msgstr "The name was taken on Proton Drive, so it was renamed to {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:331 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:335 #, rust-format msgid "The name was taken on Proton Drive, so it was created as {name}" msgstr "The name was taken on Proton Drive, so it was created as {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:340 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:344 #, rust-format msgid "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " @@ -1008,14 +1020,14 @@ msgstr "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " "top as {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:350 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:354 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" msgstr "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:356 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:360 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " @@ -1024,7 +1036,7 @@ msgstr "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " "{name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:362 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:366 #, rust-format msgid "It was changed on Proton Drive, so your changes were uploaded as {name}" msgstr "" @@ -1032,19 +1044,19 @@ msgstr "" #. Translators: {name} is the copy the changes made on this #. computer were uploaded as. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:367 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:371 #, rust-format msgid "Your changes were uploaded as {name}" msgstr "Your changes were uploaded as {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:377 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:381 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were kept in {path}" msgstr "" "It no longer exists on Proton Drive, so your changes were kept in {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:383 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:387 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were kept in " @@ -1053,66 +1065,66 @@ msgstr "" "It was moved to the Trash on Proton Drive, so your changes were kept in " "{path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:389 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:393 #, rust-format msgid "It was changed on Proton Drive, so your changes were kept in {path}" msgstr "It was changed on Proton Drive, so your changes were kept in {path}" #. Translators: {path} is the file on this computer that holds the #. changes which could not be uploaded. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:394 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:398 #, rust-format msgid "Your changes were kept in {path}" msgstr "Your changes were kept in {path}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:399 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:403 #: crates/pdfs-gui/src/app/pages/locations.rs:989 #, rust-format msgid "Differs from {name}" msgstr "Differs from {name}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:406 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:410 #, rust-format msgid "{name} no longer exists" msgstr "{name} no longer exists" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:413 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:417 #, rust-format msgid "Same as {name}" msgstr "Same as {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:420 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:424 #, rust-format msgid "{n} person can view" msgid_plural "{n} people can view" msgstr[0] "{n} person can view" msgstr[1] "{n} people can view" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:421 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:425 #, rust-format msgid "{n} person can edit" msgid_plural "{n} people can edit" msgstr[0] "{n} person can edit" msgstr[1] "{n} people can edit" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:422 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:426 #, rust-format msgid "{n} person invited" msgid_plural "{n} people invited" msgstr[0] "{n} person invited" msgstr[1] "{n} people invited" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:427 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:431 #, rust-format msgid "{n} file kept as a conflicting copy" msgid_plural "{n} files kept as conflicting copies" msgstr[0] "{n} file kept as a conflicting copy" msgstr[1] "{n} files kept as conflicting copies" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:435 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:439 #, rust-format msgid "{n} item failed and will be tried again" msgid_plural "{n} items failed and will be tried again" @@ -1120,8 +1132,8 @@ msgstr[0] "{n} item failed and will be tried again" msgstr[1] "{n} items failed and will be tried again" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:473 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:504 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 #, rust-format msgid "{n} uploaded" msgid_plural "{n} uploaded" @@ -1129,7 +1141,7 @@ msgstr[0] "{n} uploaded" msgstr[1] "{n} uploaded" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:475 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 #, rust-format msgid "{n} downloaded" msgid_plural "{n} downloaded" @@ -1137,7 +1149,7 @@ msgstr[0] "{n} downloaded" msgstr[1] "{n} downloaded" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 #, rust-format msgid "{n} folder created" msgid_plural "{n} folders created" @@ -1145,7 +1157,7 @@ msgstr[0] "{n} folder created" msgstr[1] "{n} folders created" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:483 #, rust-format msgid "{n} deleted" msgid_plural "{n} deleted" @@ -1153,7 +1165,7 @@ msgstr[0] "{n} deleted" msgstr[1] "{n} deleted" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:485 #, rust-format msgid "{n} in conflict" msgid_plural "{n} in conflict" @@ -1162,7 +1174,7 @@ msgstr[1] "{n} in conflict" #. Translators: part of a list summing up a sync pass; the files are #. still open in another app. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:484 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:488 #, rust-format msgid "{n} still open" msgid_plural "{n} still open" @@ -1170,28 +1182,28 @@ msgstr[0] "{n} still open" msgstr[1] "{n} still open" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:486 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:509 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:490 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:513 #, rust-format msgid "{n} failed" msgid_plural "{n} failed" msgstr[0] "{n} failed" msgstr[1] "{n} failed" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:498 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:502 msgid "Cancelled" msgstr "Cancelled" #. Translators: photos an import skipped because they were already #. in Proton Drive. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:507 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:511 #, rust-format msgid "{n} already there" msgid_plural "{n} already there" msgstr[0] "{n} already there" msgstr[1] "{n} already there" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:512 #: crates/pdfs-gui/src/app/pages/albums.rs:107 #: crates/pdfs-gui/src/app/pages/albums.rs:694 #, rust-format diff --git a/po/es.po b/po/es.po index 3eb416c..0fb8f24 100644 --- a/po/es.po +++ b/po/es.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 2.1.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-17 01:23+0200\n" +"POT-Creation-Date: 2026-10-25 20:52+0100\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Spanish\n" @@ -58,7 +58,7 @@ msgid "%A, %B %-d, %Y, %H:%M" msgstr "%A, %-d de %B de %Y, %H:%M" #: crates/pdfs-gui/src/app/main.rs:856 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:539 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:543 #: crates/pdfs-gui/src/app/pages/browser.rs:454 #: crates/pdfs-gui/src/app/pages/browser.rs:833 #: crates/pdfs-gui/src/app/pages/browser.rs:1239 @@ -821,190 +821,202 @@ msgstr "Se movió {name}" msgid "Couldn't move {name}" msgstr "No se pudo mover {name}" -#. Translators: {name} is a folder name. +#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:183 #, rust-format +msgid "Copied {name}" +msgstr "Se copió {name}" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#, rust-format +msgid "Couldn't copy {name}" +msgstr "No se pudo copiar {name}" + +#. Translators: {name} is a folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#, rust-format msgid "Created folder {name}" msgstr "Se creó la carpeta {name}" #. Translators: {name} is a folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 #, rust-format msgid "Couldn't create folder {name}" msgstr "No se pudo crear la carpeta {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 #, rust-format msgid "Moved {name} to the Trash" msgstr "Se movió {name} a la papelera" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 #, rust-format msgid "Couldn't move {name} to the Trash" msgstr "No se pudo mover {name} a la papelera" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 #, rust-format msgid "Restored {name}" msgstr "Se restauró {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 #, rust-format msgid "Couldn't restore {name}" msgstr "No se pudo restaurar {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 #, rust-format msgid "Deleted {name} forever" msgstr "Se eliminó {name} para siempre" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 #, rust-format msgid "Couldn't delete {name}" msgstr "No se pudo eliminar {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:198 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:202 msgid "Emptied the Trash" msgstr "Se vació la papelera" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 msgid "Couldn't empty the Trash" msgstr "No se pudo vaciar la papelera" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 #, rust-format msgid "Shared {name}" msgstr "Se compartió {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 #, rust-format msgid "Couldn't share {name}" msgstr "No se pudo compartir {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 #, rust-format msgid "Created a link to {name}" msgstr "Se creó un enlace a {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 #, rust-format msgid "Couldn't create a link to {name}" msgstr "No se pudo crear un enlace a {name}" #. Translators: {name} is a file or folder name. #. Translators: {name} is the item's name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:559 #, rust-format msgid "Stopped sharing {name}" msgstr "Se dejó de compartir {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:215 #, rust-format msgid "Couldn't stop sharing {name}" msgstr "No se pudo dejar de compartir {name}" #. Translators: {name} is the name of the conflicting copy. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:217 #, rust-format msgid "Conflicting copy {name}" msgstr "Copia en conflicto {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:236 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:240 msgid "Removed on Proton Drive" msgstr "Se quitó en Proton Drive" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:237 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:241 msgid "Removed on this computer" msgstr "Se quitó en este equipo" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:239 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 msgid "Replaced by a renamed file" msgstr "Sustituido por un archivo renombrado" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:247 msgid "" "The destination folder no longer exists, so the file stayed where it was" msgstr "" "La carpeta de destino ya no existe, así que el archivo se quedó donde estaba" #. Translators: {name} is the folder an item was moved into. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:262 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 #, rust-format msgid "To {name}" msgstr "A {name}" #. Translators: {name} is an item's previous name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:270 #, rust-format msgid "Previously {name}" msgstr "Antes {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:269 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:273 msgid "Restored an earlier version" msgstr "Se restauró una versión anterior" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:272 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:276 msgid "Deleted an earlier version" msgstr "Se eliminó una versión anterior" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:279 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:283 #, rust-format msgid "Saved an earlier version to {path}" msgstr "Se guardó una versión anterior en {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:286 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:290 #, rust-format msgid "Kept both; the copy is now {name}" msgstr "Se conservaron ambos; la copia ahora es {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:296 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:300 #, rust-format msgid "Kept {name}; the copy is in the Trash" msgstr "Se conservó {name}; la copia está en la papelera" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:301 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 msgid "Kept the conflicting copy" msgstr "Se conservó la copia en conflicto" #. Translators: {name} is the file that was kept. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:309 #, rust-format msgid "Kept {name}" msgstr "Se conservó {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:310 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:314 #, rust-format msgid "Same as {name}, so it was removed" msgstr "Igual que {name}, así que se quitó" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:317 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:321 #, rust-format msgid "The name was taken, so it was moved as {name}" msgstr "El nombre ya existía, así que se movió como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:324 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:328 #, rust-format msgid "The name was taken on Proton Drive, so it was renamed to {name}" msgstr "El nombre ya existía en Proton Drive, así que se renombró como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:331 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:335 #, rust-format msgid "The name was taken on Proton Drive, so it was created as {name}" msgstr "El nombre ya existía en Proton Drive, así que se creó como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:340 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:344 #, rust-format msgid "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " @@ -1013,14 +1025,14 @@ msgstr "" "Su carpeta se movió a la papelera en Proton Drive, así que se creó en el " "nivel superior como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:350 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:354 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" msgstr "" "Ya no existe en Proton Drive, así que sus cambios se subieron como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:356 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:360 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " @@ -1029,7 +1041,7 @@ msgstr "" "Se movió a la papelera en Proton Drive, así que sus cambios se subieron como " "{name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:362 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:366 #, rust-format msgid "It was changed on Proton Drive, so your changes were uploaded as {name}" msgstr "" @@ -1037,19 +1049,19 @@ msgstr "" #. Translators: {name} is the copy the changes made on this #. computer were uploaded as. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:367 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:371 #, rust-format msgid "Your changes were uploaded as {name}" msgstr "Sus cambios se subieron como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:377 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:381 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were kept in {path}" msgstr "" "Ya no existe en Proton Drive, así que sus cambios se guardaron en {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:383 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:387 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were kept in " @@ -1058,7 +1070,7 @@ msgstr "" "Se movió a la papelera en Proton Drive, así que sus cambios se guardaron en " "{path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:389 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:393 #, rust-format msgid "It was changed on Proton Drive, so your changes were kept in {path}" msgstr "" @@ -1066,59 +1078,59 @@ msgstr "" #. Translators: {path} is the file on this computer that holds the #. changes which could not be uploaded. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:394 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:398 #, rust-format msgid "Your changes were kept in {path}" msgstr "Sus cambios se guardaron en {path}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:399 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:403 #: crates/pdfs-gui/src/app/pages/locations.rs:989 #, rust-format msgid "Differs from {name}" msgstr "Difiere de {name}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:406 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:410 #, rust-format msgid "{name} no longer exists" msgstr "{name} ya no existe" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:413 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:417 #, rust-format msgid "Same as {name}" msgstr "Igual que {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:420 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:424 #, rust-format msgid "{n} person can view" msgid_plural "{n} people can view" msgstr[0] "{n} persona puede ver" msgstr[1] "{n} personas pueden ver" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:421 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:425 #, rust-format msgid "{n} person can edit" msgid_plural "{n} people can edit" msgstr[0] "{n} persona puede editar" msgstr[1] "{n} personas pueden editar" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:422 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:426 #, rust-format msgid "{n} person invited" msgid_plural "{n} people invited" msgstr[0] "{n} persona invitada" msgstr[1] "{n} personas invitadas" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:427 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:431 #, rust-format msgid "{n} file kept as a conflicting copy" msgid_plural "{n} files kept as conflicting copies" msgstr[0] "{n} archivo se conservó como copia en conflicto" msgstr[1] "{n} archivos se conservaron como copias en conflicto" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:435 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:439 #, rust-format msgid "{n} item failed and will be tried again" msgid_plural "{n} items failed and will be tried again" @@ -1126,8 +1138,8 @@ msgstr[0] "{n} elemento falló y se volverá a intentar" msgstr[1] "{n} elementos fallaron y se volverán a intentar" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:473 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:504 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 #, rust-format msgid "{n} uploaded" msgid_plural "{n} uploaded" @@ -1135,7 +1147,7 @@ msgstr[0] "{n} subido" msgstr[1] "{n} subidos" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:475 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 #, rust-format msgid "{n} downloaded" msgid_plural "{n} downloaded" @@ -1143,7 +1155,7 @@ msgstr[0] "{n} descargado" msgstr[1] "{n} descargados" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 #, rust-format msgid "{n} folder created" msgid_plural "{n} folders created" @@ -1151,7 +1163,7 @@ msgstr[0] "{n} carpeta creada" msgstr[1] "{n} carpetas creadas" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:483 #, rust-format msgid "{n} deleted" msgid_plural "{n} deleted" @@ -1159,7 +1171,7 @@ msgstr[0] "{n} eliminado" msgstr[1] "{n} eliminados" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:485 #, rust-format msgid "{n} in conflict" msgid_plural "{n} in conflict" @@ -1168,7 +1180,7 @@ msgstr[1] "{n} en conflicto" #. Translators: part of a list summing up a sync pass; the files are #. still open in another app. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:484 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:488 #, rust-format msgid "{n} still open" msgid_plural "{n} still open" @@ -1176,28 +1188,28 @@ msgstr[0] "{n} aún abierto" msgstr[1] "{n} aún abiertos" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:486 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:509 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:490 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:513 #, rust-format msgid "{n} failed" msgid_plural "{n} failed" msgstr[0] "{n} fallido" msgstr[1] "{n} fallidos" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:498 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:502 msgid "Cancelled" msgstr "Cancelado" #. Translators: photos an import skipped because they were already #. in Proton Drive. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:507 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:511 #, rust-format msgid "{n} already there" msgid_plural "{n} already there" msgstr[0] "{n} ya existía" msgstr[1] "{n} ya existían" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:512 #: crates/pdfs-gui/src/app/pages/albums.rs:107 #: crates/pdfs-gui/src/app/pages/albums.rs:694 #, rust-format diff --git a/po/fr.po b/po/fr.po index 507fc15..b52fc6d 100644 --- a/po/fr.po +++ b/po/fr.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 2.1.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-17 01:23+0200\n" +"POT-Creation-Date: 2026-10-25 20:52+0100\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: French\n" @@ -58,7 +58,7 @@ msgid "%A, %B %-d, %Y, %H:%M" msgstr "%A %-d %B %Y à %H:%M" #: crates/pdfs-gui/src/app/main.rs:856 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:539 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:543 #: crates/pdfs-gui/src/app/pages/browser.rs:454 #: crates/pdfs-gui/src/app/pages/browser.rs:833 #: crates/pdfs-gui/src/app/pages/browser.rs:1239 @@ -824,194 +824,206 @@ msgstr "{name} déplacé" msgid "Couldn't move {name}" msgstr "Impossible de déplacer {name}" -#. Translators: {name} is a folder name. +#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:183 #, rust-format +msgid "Copied {name}" +msgstr "{name} copié" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#, rust-format +msgid "Couldn't copy {name}" +msgstr "Impossible de copier {name}" + +#. Translators: {name} is a folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#, rust-format msgid "Created folder {name}" msgstr "Dossier {name} créé" #. Translators: {name} is a folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 #, rust-format msgid "Couldn't create folder {name}" msgstr "Impossible de créer le dossier {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 #, rust-format msgid "Moved {name} to the Trash" msgstr "{name} mis à la corbeille" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 #, rust-format msgid "Couldn't move {name} to the Trash" msgstr "Impossible de mettre {name} à la corbeille" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 #, rust-format msgid "Restored {name}" msgstr "{name} restauré" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 #, rust-format msgid "Couldn't restore {name}" msgstr "Impossible de restaurer {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 #, rust-format msgid "Deleted {name} forever" msgstr "{name} supprimé définitivement" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 #, rust-format msgid "Couldn't delete {name}" msgstr "Impossible de supprimer {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:198 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:202 msgid "Emptied the Trash" msgstr "Corbeille vidée" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 msgid "Couldn't empty the Trash" msgstr "Impossible de vider la corbeille" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 #, rust-format msgid "Shared {name}" msgstr "{name} partagé" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 #, rust-format msgid "Couldn't share {name}" msgstr "Impossible de partager {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 #, rust-format msgid "Created a link to {name}" msgstr "Lien vers {name} créé" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 #, rust-format msgid "Couldn't create a link to {name}" msgstr "Impossible de créer un lien vers {name}" #. Translators: {name} is a file or folder name. #. Translators: {name} is the item's name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:559 #, rust-format msgid "Stopped sharing {name}" msgstr "Partage de {name} arrêté" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:215 #, rust-format msgid "Couldn't stop sharing {name}" msgstr "Impossible d’arrêter le partage de {name}" #. Translators: {name} is the name of the conflicting copy. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:217 #, rust-format msgid "Conflicting copy {name}" msgstr "Copie en conflit {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:236 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:240 msgid "Removed on Proton Drive" msgstr "Retiré sur Proton Drive" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:237 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:241 msgid "Removed on this computer" msgstr "Retiré sur cet ordinateur" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:239 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 msgid "Replaced by a renamed file" msgstr "Remplacé par un fichier renommé" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:247 msgid "" "The destination folder no longer exists, so the file stayed where it was" msgstr "" "Le dossier de destination n’existe plus, le fichier est donc resté à sa place" #. Translators: {name} is the folder an item was moved into. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:262 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 #, rust-format msgid "To {name}" msgstr "Vers {name}" #. Translators: {name} is an item's previous name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:270 #, rust-format msgid "Previously {name}" msgstr "Auparavant {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:269 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:273 msgid "Restored an earlier version" msgstr "Version antérieure restaurée" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:272 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:276 msgid "Deleted an earlier version" msgstr "Version antérieure supprimée" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:279 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:283 #, rust-format msgid "Saved an earlier version to {path}" msgstr "Version antérieure enregistrée dans {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:286 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:290 #, rust-format msgid "Kept both; the copy is now {name}" msgstr "Les deux ont été conservés ; la copie s’appelle maintenant {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:296 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:300 #, rust-format msgid "Kept {name}; the copy is in the Trash" msgstr "{name} conservé ; la copie est dans la corbeille" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:301 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 msgid "Kept the conflicting copy" msgstr "Copie en conflit conservée" #. Translators: {name} is the file that was kept. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:309 #, rust-format msgid "Kept {name}" msgstr "{name} conservé" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:310 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:314 #, rust-format msgid "Same as {name}, so it was removed" msgstr "Identique à {name}, donc retiré" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:317 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:321 #, rust-format msgid "The name was taken, so it was moved as {name}" msgstr "" "Le nom était déjà pris, l’élément a donc été déplacé sous le nom {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:324 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:328 #, rust-format msgid "The name was taken on Proton Drive, so it was renamed to {name}" msgstr "" "Le nom était déjà pris sur Proton Drive, l’élément a donc été renommé {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:331 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:335 #, rust-format msgid "The name was taken on Proton Drive, so it was created as {name}" msgstr "" "Le nom était déjà pris sur Proton Drive, l’élément a donc été créé sous le " "nom {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:340 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:344 #, rust-format msgid "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " @@ -1020,7 +1032,7 @@ msgstr "" "Son dossier a été mis à la corbeille sur Proton Drive, l’élément a donc été " "créé à la racine sous le nom {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:350 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:354 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" @@ -1028,7 +1040,7 @@ msgstr "" "Le fichier n’existe plus sur Proton Drive, vos modifications ont donc été " "envoyées sous le nom {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:356 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:360 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " @@ -1037,7 +1049,7 @@ msgstr "" "Le fichier a été mis à la corbeille sur Proton Drive, vos modifications ont " "donc été envoyées sous le nom {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:362 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:366 #, rust-format msgid "It was changed on Proton Drive, so your changes were uploaded as {name}" msgstr "" @@ -1046,12 +1058,12 @@ msgstr "" #. Translators: {name} is the copy the changes made on this #. computer were uploaded as. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:367 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:371 #, rust-format msgid "Your changes were uploaded as {name}" msgstr "Vos modifications ont été envoyées sous le nom {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:377 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:381 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were kept in {path}" @@ -1059,7 +1071,7 @@ msgstr "" "Le fichier n’existe plus sur Proton Drive, vos modifications ont donc été " "conservées dans {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:383 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:387 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were kept in " @@ -1068,7 +1080,7 @@ msgstr "" "Le fichier a été mis à la corbeille sur Proton Drive, vos modifications ont " "donc été conservées dans {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:389 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:393 #, rust-format msgid "It was changed on Proton Drive, so your changes were kept in {path}" msgstr "" @@ -1077,59 +1089,59 @@ msgstr "" #. Translators: {path} is the file on this computer that holds the #. changes which could not be uploaded. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:394 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:398 #, rust-format msgid "Your changes were kept in {path}" msgstr "Vos modifications ont été conservées dans {path}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:399 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:403 #: crates/pdfs-gui/src/app/pages/locations.rs:989 #, rust-format msgid "Differs from {name}" msgstr "Diffère de {name}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:406 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:410 #, rust-format msgid "{name} no longer exists" msgstr "{name} n’existe plus" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:413 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:417 #, rust-format msgid "Same as {name}" msgstr "Identique à {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:420 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:424 #, rust-format msgid "{n} person can view" msgid_plural "{n} people can view" msgstr[0] "{n} personne peut consulter" msgstr[1] "{n} personnes peuvent consulter" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:421 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:425 #, rust-format msgid "{n} person can edit" msgid_plural "{n} people can edit" msgstr[0] "{n} personne peut modifier" msgstr[1] "{n} personnes peuvent modifier" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:422 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:426 #, rust-format msgid "{n} person invited" msgid_plural "{n} people invited" msgstr[0] "{n} personne invitée" msgstr[1] "{n} personnes invitées" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:427 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:431 #, rust-format msgid "{n} file kept as a conflicting copy" msgid_plural "{n} files kept as conflicting copies" msgstr[0] "{n} fichier conservé comme copie en conflit" msgstr[1] "{n} fichiers conservés comme copies en conflit" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:435 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:439 #, rust-format msgid "{n} item failed and will be tried again" msgid_plural "{n} items failed and will be tried again" @@ -1137,8 +1149,8 @@ msgstr[0] "{n} élément a échoué et sera réessayé" msgstr[1] "{n} éléments ont échoué et seront réessayés" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:473 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:504 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 #, rust-format msgid "{n} uploaded" msgid_plural "{n} uploaded" @@ -1146,7 +1158,7 @@ msgstr[0] "{n} téléversé" msgstr[1] "{n} téléversés" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:475 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 #, rust-format msgid "{n} downloaded" msgid_plural "{n} downloaded" @@ -1154,7 +1166,7 @@ msgstr[0] "{n} téléchargé" msgstr[1] "{n} téléchargés" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 #, rust-format msgid "{n} folder created" msgid_plural "{n} folders created" @@ -1162,7 +1174,7 @@ msgstr[0] "{n} dossier créé" msgstr[1] "{n} dossiers créés" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:483 #, rust-format msgid "{n} deleted" msgid_plural "{n} deleted" @@ -1170,7 +1182,7 @@ msgstr[0] "{n} supprimé" msgstr[1] "{n} supprimés" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:485 #, rust-format msgid "{n} in conflict" msgid_plural "{n} in conflict" @@ -1179,7 +1191,7 @@ msgstr[1] "{n} en conflit" #. Translators: part of a list summing up a sync pass; the files are #. still open in another app. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:484 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:488 #, rust-format msgid "{n} still open" msgid_plural "{n} still open" @@ -1187,28 +1199,28 @@ msgstr[0] "{n} encore ouvert" msgstr[1] "{n} encore ouverts" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:486 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:509 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:490 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:513 #, rust-format msgid "{n} failed" msgid_plural "{n} failed" msgstr[0] "{n} en échec" msgstr[1] "{n} en échec" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:498 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:502 msgid "Cancelled" msgstr "Annulé" #. Translators: photos an import skipped because they were already #. in Proton Drive. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:507 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:511 #, rust-format msgid "{n} already there" msgid_plural "{n} already there" msgstr[0] "{n} déjà présent" msgstr[1] "{n} déjà présents" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:512 #: crates/pdfs-gui/src/app/pages/albums.rs:107 #: crates/pdfs-gui/src/app/pages/albums.rs:694 #, rust-format diff --git a/po/it.po b/po/it.po index 09893d8..2ff25fc 100644 --- a/po/it.po +++ b/po/it.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 2.1.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-17 01:23+0200\n" +"POT-Creation-Date: 2026-10-25 20:52+0100\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Italian\n" @@ -58,7 +58,7 @@ msgid "%A, %B %-d, %Y, %H:%M" msgstr "%A %-d %B %Y, %H:%M" #: crates/pdfs-gui/src/app/main.rs:856 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:539 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:543 #: crates/pdfs-gui/src/app/pages/browser.rs:454 #: crates/pdfs-gui/src/app/pages/browser.rs:833 #: crates/pdfs-gui/src/app/pages/browser.rs:1239 @@ -820,192 +820,204 @@ msgstr "Spostato {name}" msgid "Couldn't move {name}" msgstr "Impossibile spostare {name}" -#. Translators: {name} is a folder name. +#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:183 #, rust-format +msgid "Copied {name}" +msgstr "Copiato {name}" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#, rust-format +msgid "Couldn't copy {name}" +msgstr "Impossibile copiare {name}" + +#. Translators: {name} is a folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#, rust-format msgid "Created folder {name}" msgstr "Creata la cartella {name}" #. Translators: {name} is a folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 #, rust-format msgid "Couldn't create folder {name}" msgstr "Impossibile creare la cartella {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 #, rust-format msgid "Moved {name} to the Trash" msgstr "Spostato {name} nel cestino" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 #, rust-format msgid "Couldn't move {name} to the Trash" msgstr "Impossibile spostare {name} nel cestino" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 #, rust-format msgid "Restored {name}" msgstr "Ripristinato {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 #, rust-format msgid "Couldn't restore {name}" msgstr "Impossibile ripristinare {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 #, rust-format msgid "Deleted {name} forever" msgstr "Eliminato {name} per sempre" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 #, rust-format msgid "Couldn't delete {name}" msgstr "Impossibile eliminare {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:198 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:202 msgid "Emptied the Trash" msgstr "Svuotato il cestino" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 msgid "Couldn't empty the Trash" msgstr "Impossibile svuotare il cestino" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 #, rust-format msgid "Shared {name}" msgstr "Condiviso {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 #, rust-format msgid "Couldn't share {name}" msgstr "Impossibile condividere {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 #, rust-format msgid "Created a link to {name}" msgstr "Creato un collegamento a {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 #, rust-format msgid "Couldn't create a link to {name}" msgstr "Impossibile creare un collegamento a {name}" #. Translators: {name} is a file or folder name. #. Translators: {name} is the item's name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:559 #, rust-format msgid "Stopped sharing {name}" msgstr "Condivisione di {name} interrotta" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:215 #, rust-format msgid "Couldn't stop sharing {name}" msgstr "Impossibile interrompere la condivisione di {name}" #. Translators: {name} is the name of the conflicting copy. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:217 #, rust-format msgid "Conflicting copy {name}" msgstr "Copia in conflitto {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:236 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:240 msgid "Removed on Proton Drive" msgstr "Rimosso su Proton Drive" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:237 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:241 msgid "Removed on this computer" msgstr "Rimosso su questo computer" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:239 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 msgid "Replaced by a renamed file" msgstr "Sostituito da un file rinominato" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:247 msgid "" "The destination folder no longer exists, so the file stayed where it was" msgstr "" "La cartella di destinazione non esiste più, quindi il file è rimasto dov’era" #. Translators: {name} is the folder an item was moved into. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:262 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 #, rust-format msgid "To {name}" msgstr "In {name}" #. Translators: {name} is an item's previous name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:270 #, rust-format msgid "Previously {name}" msgstr "In precedenza {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:269 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:273 msgid "Restored an earlier version" msgstr "Ripristinata una versione precedente" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:272 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:276 msgid "Deleted an earlier version" msgstr "Eliminata una versione precedente" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:279 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:283 #, rust-format msgid "Saved an earlier version to {path}" msgstr "Salvata una versione precedente in {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:286 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:290 #, rust-format msgid "Kept both; the copy is now {name}" msgstr "Mantenuti entrambi; la copia ora è {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:296 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:300 #, rust-format msgid "Kept {name}; the copy is in the Trash" msgstr "Mantenuto {name}; la copia è nel cestino" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:301 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 msgid "Kept the conflicting copy" msgstr "Mantenuta la copia in conflitto" #. Translators: {name} is the file that was kept. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:309 #, rust-format msgid "Kept {name}" msgstr "Mantenuto {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:310 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:314 #, rust-format msgid "Same as {name}, so it was removed" msgstr "Uguale a {name}, quindi è stato rimosso" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:317 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:321 #, rust-format msgid "The name was taken, so it was moved as {name}" msgstr "Il nome era già in uso, quindi è stato spostato come {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:324 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:328 #, rust-format msgid "The name was taken on Proton Drive, so it was renamed to {name}" msgstr "" "Il nome era già in uso su Proton Drive, quindi è stato rinominato in {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:331 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:335 #, rust-format msgid "The name was taken on Proton Drive, so it was created as {name}" msgstr "" "Il nome era già in uso su Proton Drive, quindi è stato creato come {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:340 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:344 #, rust-format msgid "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " @@ -1014,7 +1026,7 @@ msgstr "" "La sua cartella è stata spostata nel cestino su Proton Drive, quindi è stato " "creato al primo livello come {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:350 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:354 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" @@ -1022,7 +1034,7 @@ msgstr "" "Non esiste più su Proton Drive, quindi le tue modifiche sono state caricate " "come {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:356 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:360 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " @@ -1031,7 +1043,7 @@ msgstr "" "È stato spostato nel cestino su Proton Drive, quindi le tue modifiche sono " "state caricate come {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:362 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:366 #, rust-format msgid "It was changed on Proton Drive, so your changes were uploaded as {name}" msgstr "" @@ -1040,12 +1052,12 @@ msgstr "" #. Translators: {name} is the copy the changes made on this #. computer were uploaded as. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:367 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:371 #, rust-format msgid "Your changes were uploaded as {name}" msgstr "Le tue modifiche sono state caricate come {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:377 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:381 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were kept in {path}" @@ -1053,7 +1065,7 @@ msgstr "" "Non esiste più su Proton Drive, quindi le tue modifiche sono state " "conservate in {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:383 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:387 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were kept in " @@ -1062,7 +1074,7 @@ msgstr "" "È stato spostato nel cestino su Proton Drive, quindi le tue modifiche sono " "state conservate in {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:389 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:393 #, rust-format msgid "It was changed on Proton Drive, so your changes were kept in {path}" msgstr "" @@ -1071,59 +1083,59 @@ msgstr "" #. Translators: {path} is the file on this computer that holds the #. changes which could not be uploaded. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:394 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:398 #, rust-format msgid "Your changes were kept in {path}" msgstr "Le tue modifiche sono state conservate in {path}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:399 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:403 #: crates/pdfs-gui/src/app/pages/locations.rs:989 #, rust-format msgid "Differs from {name}" msgstr "Diverso da {name}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:406 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:410 #, rust-format msgid "{name} no longer exists" msgstr "{name} non esiste più" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:413 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:417 #, rust-format msgid "Same as {name}" msgstr "Uguale a {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:420 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:424 #, rust-format msgid "{n} person can view" msgid_plural "{n} people can view" msgstr[0] "{n} persona può visualizzare" msgstr[1] "{n} persone possono visualizzare" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:421 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:425 #, rust-format msgid "{n} person can edit" msgid_plural "{n} people can edit" msgstr[0] "{n} persona può modificare" msgstr[1] "{n} persone possono modificare" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:422 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:426 #, rust-format msgid "{n} person invited" msgid_plural "{n} people invited" msgstr[0] "{n} persona invitata" msgstr[1] "{n} persone invitate" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:427 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:431 #, rust-format msgid "{n} file kept as a conflicting copy" msgid_plural "{n} files kept as conflicting copies" msgstr[0] "{n} file mantenuto come copia in conflitto" msgstr[1] "{n} file mantenuti come copie in conflitto" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:435 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:439 #, rust-format msgid "{n} item failed and will be tried again" msgid_plural "{n} items failed and will be tried again" @@ -1131,8 +1143,8 @@ msgstr[0] "{n} elemento non riuscito, verrà riprovato" msgstr[1] "{n} elementi non riusciti, verranno riprovati" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:473 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:504 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 #, rust-format msgid "{n} uploaded" msgid_plural "{n} uploaded" @@ -1140,7 +1152,7 @@ msgstr[0] "{n} caricato" msgstr[1] "{n} caricati" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:475 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 #, rust-format msgid "{n} downloaded" msgid_plural "{n} downloaded" @@ -1148,7 +1160,7 @@ msgstr[0] "{n} scaricato" msgstr[1] "{n} scaricati" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 #, rust-format msgid "{n} folder created" msgid_plural "{n} folders created" @@ -1156,7 +1168,7 @@ msgstr[0] "{n} cartella creata" msgstr[1] "{n} cartelle create" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:483 #, rust-format msgid "{n} deleted" msgid_plural "{n} deleted" @@ -1164,7 +1176,7 @@ msgstr[0] "{n} eliminato" msgstr[1] "{n} eliminati" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:485 #, rust-format msgid "{n} in conflict" msgid_plural "{n} in conflict" @@ -1173,7 +1185,7 @@ msgstr[1] "{n} in conflitto" #. Translators: part of a list summing up a sync pass; the files are #. still open in another app. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:484 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:488 #, rust-format msgid "{n} still open" msgid_plural "{n} still open" @@ -1181,28 +1193,28 @@ msgstr[0] "{n} ancora aperto" msgstr[1] "{n} ancora aperti" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:486 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:509 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:490 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:513 #, rust-format msgid "{n} failed" msgid_plural "{n} failed" msgstr[0] "{n} non riuscito" msgstr[1] "{n} non riusciti" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:498 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:502 msgid "Cancelled" msgstr "Annullato" #. Translators: photos an import skipped because they were already #. in Proton Drive. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:507 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:511 #, rust-format msgid "{n} already there" msgid_plural "{n} already there" msgstr[0] "{n} già presente" msgstr[1] "{n} già presenti" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:512 #: crates/pdfs-gui/src/app/pages/albums.rs:107 #: crates/pdfs-gui/src/app/pages/albums.rs:694 #, rust-format diff --git a/po/nl.po b/po/nl.po index adc8ef5..d36d279 100644 --- a/po/nl.po +++ b/po/nl.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 2.1.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-17 01:23+0200\n" +"POT-Creation-Date: 2026-10-25 20:52+0100\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Dutch\n" @@ -58,7 +58,7 @@ msgid "%A, %B %-d, %Y, %H:%M" msgstr "%A %-d %B %Y, %H:%M" #: crates/pdfs-gui/src/app/main.rs:856 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:539 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:543 #: crates/pdfs-gui/src/app/pages/browser.rs:454 #: crates/pdfs-gui/src/app/pages/browser.rs:833 #: crates/pdfs-gui/src/app/pages/browser.rs:1239 @@ -821,189 +821,201 @@ msgstr "{name} verplaatst" msgid "Couldn't move {name}" msgstr "Kon {name} niet verplaatsen" -#. Translators: {name} is a folder name. +#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:183 #, rust-format +msgid "Copied {name}" +msgstr "{name} gekopieerd" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#, rust-format +msgid "Couldn't copy {name}" +msgstr "Kon {name} niet kopiëren" + +#. Translators: {name} is a folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#, rust-format msgid "Created folder {name}" msgstr "Map {name} aangemaakt" #. Translators: {name} is a folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 #, rust-format msgid "Couldn't create folder {name}" msgstr "Kon map {name} niet aanmaken" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 #, rust-format msgid "Moved {name} to the Trash" msgstr "{name} naar de prullenbak verplaatst" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 #, rust-format msgid "Couldn't move {name} to the Trash" msgstr "Kon {name} niet naar de prullenbak verplaatsen" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 #, rust-format msgid "Restored {name}" msgstr "{name} teruggezet" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 #, rust-format msgid "Couldn't restore {name}" msgstr "Kon {name} niet terugzetten" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 #, rust-format msgid "Deleted {name} forever" msgstr "{name} definitief verwijderd" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 #, rust-format msgid "Couldn't delete {name}" msgstr "Kon {name} niet verwijderen" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:198 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:202 msgid "Emptied the Trash" msgstr "Prullenbak geleegd" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 msgid "Couldn't empty the Trash" msgstr "Kon de prullenbak niet legen" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 #, rust-format msgid "Shared {name}" msgstr "{name} gedeeld" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 #, rust-format msgid "Couldn't share {name}" msgstr "Kon {name} niet delen" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 #, rust-format msgid "Created a link to {name}" msgstr "Link naar {name} aangemaakt" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 #, rust-format msgid "Couldn't create a link to {name}" msgstr "Kon geen link naar {name} aanmaken" #. Translators: {name} is a file or folder name. #. Translators: {name} is the item's name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:559 #, rust-format msgid "Stopped sharing {name}" msgstr "Delen van {name} gestopt" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:215 #, rust-format msgid "Couldn't stop sharing {name}" msgstr "Kon het delen van {name} niet stoppen" #. Translators: {name} is the name of the conflicting copy. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:217 #, rust-format msgid "Conflicting copy {name}" msgstr "Conflictkopie {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:236 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:240 msgid "Removed on Proton Drive" msgstr "Verwijderd in Proton Drive" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:237 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:241 msgid "Removed on this computer" msgstr "Verwijderd op deze computer" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:239 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 msgid "Replaced by a renamed file" msgstr "Vervangen door een hernoemd bestand" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:247 msgid "" "The destination folder no longer exists, so the file stayed where it was" msgstr "De doelmap bestaat niet meer, dus het bestand is gebleven waar het was" #. Translators: {name} is the folder an item was moved into. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:262 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 #, rust-format msgid "To {name}" msgstr "Naar {name}" #. Translators: {name} is an item's previous name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:270 #, rust-format msgid "Previously {name}" msgstr "Eerder {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:269 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:273 msgid "Restored an earlier version" msgstr "Een eerdere versie teruggezet" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:272 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:276 msgid "Deleted an earlier version" msgstr "Een eerdere versie verwijderd" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:279 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:283 #, rust-format msgid "Saved an earlier version to {path}" msgstr "Een eerdere versie opgeslagen in {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:286 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:290 #, rust-format msgid "Kept both; the copy is now {name}" msgstr "Beide behouden; de kopie heet nu {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:296 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:300 #, rust-format msgid "Kept {name}; the copy is in the Trash" msgstr "{name} behouden; de kopie staat in de prullenbak" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:301 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 msgid "Kept the conflicting copy" msgstr "Conflictkopie behouden" #. Translators: {name} is the file that was kept. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:309 #, rust-format msgid "Kept {name}" msgstr "{name} behouden" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:310 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:314 #, rust-format msgid "Same as {name}, so it was removed" msgstr "Hetzelfde als {name}, dus verwijderd" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:317 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:321 #, rust-format msgid "The name was taken, so it was moved as {name}" msgstr "De naam was al in gebruik, dus verplaatst als {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:324 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:328 #, rust-format msgid "The name was taken on Proton Drive, so it was renamed to {name}" msgstr "De naam was al in gebruik in Proton Drive, dus hernoemd naar {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:331 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:335 #, rust-format msgid "The name was taken on Proton Drive, so it was created as {name}" msgstr "De naam was al in gebruik in Proton Drive, dus aangemaakt als {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:340 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:344 #, rust-format msgid "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " @@ -1012,7 +1024,7 @@ msgstr "" "De map ervan is in Proton Drive naar de prullenbak verplaatst, dus " "aangemaakt op het hoogste niveau als {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:350 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:354 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" @@ -1020,7 +1032,7 @@ msgstr "" "Het bestaat niet meer in Proton Drive, dus je wijzigingen zijn geüpload als " "{name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:356 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:360 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " @@ -1029,7 +1041,7 @@ msgstr "" "Het is in Proton Drive naar de prullenbak verplaatst, dus je wijzigingen " "zijn geüpload als {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:362 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:366 #, rust-format msgid "It was changed on Proton Drive, so your changes were uploaded as {name}" msgstr "" @@ -1037,12 +1049,12 @@ msgstr "" #. Translators: {name} is the copy the changes made on this #. computer were uploaded as. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:367 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:371 #, rust-format msgid "Your changes were uploaded as {name}" msgstr "Je wijzigingen zijn geüpload als {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:377 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:381 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were kept in {path}" @@ -1050,7 +1062,7 @@ msgstr "" "Het bestaat niet meer in Proton Drive, dus je wijzigingen zijn bewaard in " "{path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:383 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:387 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were kept in " @@ -1059,7 +1071,7 @@ msgstr "" "Het is in Proton Drive naar de prullenbak verplaatst, dus je wijzigingen " "zijn bewaard in {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:389 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:393 #, rust-format msgid "It was changed on Proton Drive, so your changes were kept in {path}" msgstr "" @@ -1067,59 +1079,59 @@ msgstr "" #. Translators: {path} is the file on this computer that holds the #. changes which could not be uploaded. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:394 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:398 #, rust-format msgid "Your changes were kept in {path}" msgstr "Je wijzigingen zijn bewaard in {path}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:399 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:403 #: crates/pdfs-gui/src/app/pages/locations.rs:989 #, rust-format msgid "Differs from {name}" msgstr "Verschilt van {name}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:406 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:410 #, rust-format msgid "{name} no longer exists" msgstr "{name} bestaat niet meer" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:413 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:417 #, rust-format msgid "Same as {name}" msgstr "Hetzelfde als {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:420 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:424 #, rust-format msgid "{n} person can view" msgid_plural "{n} people can view" msgstr[0] "{n} persoon kan bekijken" msgstr[1] "{n} personen kunnen bekijken" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:421 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:425 #, rust-format msgid "{n} person can edit" msgid_plural "{n} people can edit" msgstr[0] "{n} persoon kan bewerken" msgstr[1] "{n} personen kunnen bewerken" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:422 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:426 #, rust-format msgid "{n} person invited" msgid_plural "{n} people invited" msgstr[0] "{n} persoon uitgenodigd" msgstr[1] "{n} personen uitgenodigd" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:427 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:431 #, rust-format msgid "{n} file kept as a conflicting copy" msgid_plural "{n} files kept as conflicting copies" msgstr[0] "{n} bestand behouden als conflictkopie" msgstr[1] "{n} bestanden behouden als conflictkopieën" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:435 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:439 #, rust-format msgid "{n} item failed and will be tried again" msgid_plural "{n} items failed and will be tried again" @@ -1127,8 +1139,8 @@ msgstr[0] "{n} item mislukt en wordt opnieuw geprobeerd" msgstr[1] "{n} items mislukt en worden opnieuw geprobeerd" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:473 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:504 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 #, rust-format msgid "{n} uploaded" msgid_plural "{n} uploaded" @@ -1136,7 +1148,7 @@ msgstr[0] "{n} geüpload" msgstr[1] "{n} geüpload" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:475 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 #, rust-format msgid "{n} downloaded" msgid_plural "{n} downloaded" @@ -1144,7 +1156,7 @@ msgstr[0] "{n} gedownload" msgstr[1] "{n} gedownload" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 #, rust-format msgid "{n} folder created" msgid_plural "{n} folders created" @@ -1152,7 +1164,7 @@ msgstr[0] "{n} map aangemaakt" msgstr[1] "{n} mappen aangemaakt" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:483 #, rust-format msgid "{n} deleted" msgid_plural "{n} deleted" @@ -1160,7 +1172,7 @@ msgstr[0] "{n} verwijderd" msgstr[1] "{n} verwijderd" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:485 #, rust-format msgid "{n} in conflict" msgid_plural "{n} in conflict" @@ -1169,7 +1181,7 @@ msgstr[1] "{n} in conflict" #. Translators: part of a list summing up a sync pass; the files are #. still open in another app. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:484 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:488 #, rust-format msgid "{n} still open" msgid_plural "{n} still open" @@ -1177,28 +1189,28 @@ msgstr[0] "{n} nog geopend" msgstr[1] "{n} nog geopend" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:486 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:509 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:490 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:513 #, rust-format msgid "{n} failed" msgid_plural "{n} failed" msgstr[0] "{n} mislukt" msgstr[1] "{n} mislukt" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:498 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:502 msgid "Cancelled" msgstr "Geannuleerd" #. Translators: photos an import skipped because they were already #. in Proton Drive. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:507 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:511 #, rust-format msgid "{n} already there" msgid_plural "{n} already there" msgstr[0] "{n} al aanwezig" msgstr[1] "{n} al aanwezig" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:512 #: crates/pdfs-gui/src/app/pages/albums.rs:107 #: crates/pdfs-gui/src/app/pages/albums.rs:694 #, rust-format diff --git a/po/pdfs.pot b/po/pdfs.pot index 19f0a40..75ce199 100644 --- a/po/pdfs.pot +++ b/po/pdfs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 3.5.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-17 01:23+0200\n" +"POT-Creation-Date: 2026-10-25 20:52+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -61,7 +61,7 @@ msgid "%A, %B %-d, %Y, %H:%M" msgstr "" #: crates/pdfs-gui/src/app/main.rs:856 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:539 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:543 #: crates/pdfs-gui/src/app/pages/browser.rs:454 #: crates/pdfs-gui/src/app/pages/browser.rs:833 #: crates/pdfs-gui/src/app/pages/browser.rs:1239 @@ -791,293 +791,305 @@ msgstr "" msgid "Couldn't move {name}" msgstr "" -#. Translators: {name} is a folder name. +#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:183 #, rust-format +msgid "Copied {name}" +msgstr "" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#, rust-format +msgid "Couldn't copy {name}" +msgstr "" + +#. Translators: {name} is a folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#, rust-format msgid "Created folder {name}" msgstr "" #. Translators: {name} is a folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 #, rust-format msgid "Couldn't create folder {name}" msgstr "" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 #, rust-format msgid "Moved {name} to the Trash" msgstr "" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 #, rust-format msgid "Couldn't move {name} to the Trash" msgstr "" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 #, rust-format msgid "Restored {name}" msgstr "" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 #, rust-format msgid "Couldn't restore {name}" msgstr "" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 #, rust-format msgid "Deleted {name} forever" msgstr "" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 #, rust-format msgid "Couldn't delete {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:198 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:202 msgid "Emptied the Trash" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 -msgid "Couldn't empty the Trash" -msgstr "" - -#. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 -#, rust-format -msgid "Shared {name}" -msgstr "" - -#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:203 -#, rust-format -msgid "Couldn't share {name}" +msgid "Couldn't empty the Trash" msgstr "" #. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:205 #, rust-format -msgid "Created a link to {name}" +msgid "Shared {name}" msgstr "" #. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:207 #, rust-format +msgid "Couldn't share {name}" +msgstr "" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#, rust-format +msgid "Created a link to {name}" +msgstr "" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#, rust-format msgid "Couldn't create a link to {name}" msgstr "" #. Translators: {name} is a file or folder name. #. Translators: {name} is the item's name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:559 #, rust-format msgid "Stopped sharing {name}" msgstr "" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:215 #, rust-format msgid "Couldn't stop sharing {name}" msgstr "" #. Translators: {name} is the name of the conflicting copy. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:217 #, rust-format msgid "Conflicting copy {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:236 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:240 msgid "Removed on Proton Drive" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:237 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:241 msgid "Removed on this computer" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:239 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 msgid "Replaced by a renamed file" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:247 msgid "" "The destination folder no longer exists, so the file stayed where it was" msgstr "" #. Translators: {name} is the folder an item was moved into. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:262 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 #, rust-format msgid "To {name}" msgstr "" #. Translators: {name} is an item's previous name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:270 #, rust-format msgid "Previously {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:269 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:273 msgid "Restored an earlier version" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:272 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:276 msgid "Deleted an earlier version" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:279 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:283 #, rust-format msgid "Saved an earlier version to {path}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:286 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:290 #, rust-format msgid "Kept both; the copy is now {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:296 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:300 #, rust-format msgid "Kept {name}; the copy is in the Trash" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:301 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 msgid "Kept the conflicting copy" msgstr "" #. Translators: {name} is the file that was kept. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:309 #, rust-format msgid "Kept {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:310 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:314 #, rust-format msgid "Same as {name}, so it was removed" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:317 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:321 #, rust-format msgid "The name was taken, so it was moved as {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:324 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:328 #, rust-format msgid "The name was taken on Proton Drive, so it was renamed to {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:331 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:335 #, rust-format msgid "The name was taken on Proton Drive, so it was created as {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:340 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:344 #, rust-format msgid "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " "top as {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:350 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:354 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:356 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:360 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " "{name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:362 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:366 #, rust-format msgid "It was changed on Proton Drive, so your changes were uploaded as {name}" msgstr "" #. Translators: {name} is the copy the changes made on this #. computer were uploaded as. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:367 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:371 #, rust-format msgid "Your changes were uploaded as {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:377 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:381 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were kept in {path}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:383 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:387 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were kept in " "{path}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:389 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:393 #, rust-format msgid "It was changed on Proton Drive, so your changes were kept in {path}" msgstr "" #. Translators: {path} is the file on this computer that holds the #. changes which could not be uploaded. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:394 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:398 #, rust-format msgid "Your changes were kept in {path}" msgstr "" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:399 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:403 #: crates/pdfs-gui/src/app/pages/locations.rs:989 #, rust-format msgid "Differs from {name}" msgstr "" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:406 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:410 #, rust-format msgid "{name} no longer exists" msgstr "" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:413 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:417 #, rust-format msgid "Same as {name}" msgstr "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:420 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:424 #, rust-format msgid "{n} person can view" msgid_plural "{n} people can view" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:421 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:425 #, rust-format msgid "{n} person can edit" msgid_plural "{n} people can edit" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:422 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:426 #, rust-format msgid "{n} person invited" msgid_plural "{n} people invited" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:427 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:431 #, rust-format msgid "{n} file kept as a conflicting copy" msgid_plural "{n} files kept as conflicting copies" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:435 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:439 #, rust-format msgid "{n} item failed and will be tried again" msgid_plural "{n} items failed and will be tried again" @@ -1085,8 +1097,8 @@ msgstr[0] "" msgstr[1] "" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:473 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:504 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 #, rust-format msgid "{n} uploaded" msgid_plural "{n} uploaded" @@ -1094,7 +1106,7 @@ msgstr[0] "" msgstr[1] "" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:475 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 #, rust-format msgid "{n} downloaded" msgid_plural "{n} downloaded" @@ -1102,7 +1114,7 @@ msgstr[0] "" msgstr[1] "" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 #, rust-format msgid "{n} folder created" msgid_plural "{n} folders created" @@ -1110,7 +1122,7 @@ msgstr[0] "" msgstr[1] "" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:483 #, rust-format msgid "{n} deleted" msgid_plural "{n} deleted" @@ -1118,7 +1130,7 @@ msgstr[0] "" msgstr[1] "" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:485 #, rust-format msgid "{n} in conflict" msgid_plural "{n} in conflict" @@ -1127,7 +1139,7 @@ msgstr[1] "" #. Translators: part of a list summing up a sync pass; the files are #. still open in another app. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:484 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:488 #, rust-format msgid "{n} still open" msgid_plural "{n} still open" @@ -1135,28 +1147,28 @@ msgstr[0] "" msgstr[1] "" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:486 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:509 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:490 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:513 #, rust-format msgid "{n} failed" msgid_plural "{n} failed" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:498 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:502 msgid "Cancelled" msgstr "" #. Translators: photos an import skipped because they were already #. in Proton Drive. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:507 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:511 #, rust-format msgid "{n} already there" msgid_plural "{n} already there" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:512 #: crates/pdfs-gui/src/app/pages/albums.rs:107 #: crates/pdfs-gui/src/app/pages/albums.rs:694 #, rust-format diff --git a/po/pl.po b/po/pl.po index a1d7248..3d07192 100644 --- a/po/pl.po +++ b/po/pl.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 2.1.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-17 01:23+0200\n" +"POT-Creation-Date: 2026-10-25 20:52+0100\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Polish\n" @@ -60,7 +60,7 @@ msgid "%A, %B %-d, %Y, %H:%M" msgstr "%A, %-d %B %Y, %H:%M" #: crates/pdfs-gui/src/app/main.rs:856 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:539 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:543 #: crates/pdfs-gui/src/app/pages/browser.rs:454 #: crates/pdfs-gui/src/app/pages/browser.rs:833 #: crates/pdfs-gui/src/app/pages/browser.rs:1239 @@ -840,189 +840,201 @@ msgstr "Przeniesiono {name}" msgid "Couldn't move {name}" msgstr "Nie można przenieść {name}" -#. Translators: {name} is a folder name. +#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:183 #, rust-format +msgid "Copied {name}" +msgstr "Skopiowano {name}" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#, rust-format +msgid "Couldn't copy {name}" +msgstr "Nie można skopiować {name}" + +#. Translators: {name} is a folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#, rust-format msgid "Created folder {name}" msgstr "Utworzono katalog {name}" #. Translators: {name} is a folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 #, rust-format msgid "Couldn't create folder {name}" msgstr "Nie można utworzyć katalogu {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 #, rust-format msgid "Moved {name} to the Trash" msgstr "Przeniesiono {name} do kosza" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 #, rust-format msgid "Couldn't move {name} to the Trash" msgstr "Nie można przenieść {name} do kosza" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 #, rust-format msgid "Restored {name}" msgstr "Przywrócono {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 #, rust-format msgid "Couldn't restore {name}" msgstr "Nie można przywrócić {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 #, rust-format msgid "Deleted {name} forever" msgstr "Trwale usunięto {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 #, rust-format msgid "Couldn't delete {name}" msgstr "Nie można usunąć {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:198 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:202 msgid "Emptied the Trash" msgstr "Opróżniono kosz" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 msgid "Couldn't empty the Trash" msgstr "Nie można opróżnić kosza" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 #, rust-format msgid "Shared {name}" msgstr "Udostępniono {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 #, rust-format msgid "Couldn't share {name}" msgstr "Nie można udostępnić {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 #, rust-format msgid "Created a link to {name}" msgstr "Utworzono odnośnik do {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 #, rust-format msgid "Couldn't create a link to {name}" msgstr "Nie można utworzyć odnośnika do {name}" #. Translators: {name} is a file or folder name. #. Translators: {name} is the item's name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:559 #, rust-format msgid "Stopped sharing {name}" msgstr "Zakończono udostępnianie {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:215 #, rust-format msgid "Couldn't stop sharing {name}" msgstr "Nie można zakończyć udostępniania {name}" #. Translators: {name} is the name of the conflicting copy. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:217 #, rust-format msgid "Conflicting copy {name}" msgstr "Kopia konfliktowa {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:236 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:240 msgid "Removed on Proton Drive" msgstr "Usunięto w Proton Drive" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:237 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:241 msgid "Removed on this computer" msgstr "Usunięto na tym komputerze" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:239 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 msgid "Replaced by a renamed file" msgstr "Zastąpiono plikiem o zmienionej nazwie" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:247 msgid "" "The destination folder no longer exists, so the file stayed where it was" msgstr "Katalog docelowy już nie istnieje, więc plik pozostał na miejscu" #. Translators: {name} is the folder an item was moved into. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:262 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 #, rust-format msgid "To {name}" msgstr "Do {name}" #. Translators: {name} is an item's previous name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:270 #, rust-format msgid "Previously {name}" msgstr "Wcześniej {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:269 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:273 msgid "Restored an earlier version" msgstr "Przywrócono wcześniejszą wersję" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:272 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:276 msgid "Deleted an earlier version" msgstr "Usunięto wcześniejszą wersję" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:279 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:283 #, rust-format msgid "Saved an earlier version to {path}" msgstr "Zapisano wcześniejszą wersję w {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:286 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:290 #, rust-format msgid "Kept both; the copy is now {name}" msgstr "Zachowano oba; kopia to teraz {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:296 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:300 #, rust-format msgid "Kept {name}; the copy is in the Trash" msgstr "Zachowano {name}; kopia jest w koszu" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:301 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 msgid "Kept the conflicting copy" msgstr "Zachowano kopię konfliktową" #. Translators: {name} is the file that was kept. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:309 #, rust-format msgid "Kept {name}" msgstr "Zachowano {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:310 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:314 #, rust-format msgid "Same as {name}, so it was removed" msgstr "Taki sam jak {name}, więc został usunięty" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:317 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:321 #, rust-format msgid "The name was taken, so it was moved as {name}" msgstr "Nazwa była zajęta, więc przeniesiono jako {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:324 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:328 #, rust-format msgid "The name was taken on Proton Drive, so it was renamed to {name}" msgstr "Nazwa była zajęta w Proton Drive, więc zmieniono ją na {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:331 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:335 #, rust-format msgid "The name was taken on Proton Drive, so it was created as {name}" msgstr "Nazwa była zajęta w Proton Drive, więc utworzono jako {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:340 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:344 #, rust-format msgid "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " @@ -1031,14 +1043,14 @@ msgstr "" "Jego katalog został przeniesiony do kosza w Proton Drive, więc utworzono go " "na najwyższym poziomie jako {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:350 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:354 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" msgstr "" "Plik już nie istnieje w Proton Drive, więc Twoje zmiany przesłano jako {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:356 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:360 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " @@ -1047,7 +1059,7 @@ msgstr "" "Plik został przeniesiony do kosza w Proton Drive, więc Twoje zmiany " "przesłano jako {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:362 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:366 #, rust-format msgid "It was changed on Proton Drive, so your changes were uploaded as {name}" msgstr "" @@ -1055,19 +1067,19 @@ msgstr "" #. Translators: {name} is the copy the changes made on this #. computer were uploaded as. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:367 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:371 #, rust-format msgid "Your changes were uploaded as {name}" msgstr "Twoje zmiany przesłano jako {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:377 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:381 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were kept in {path}" msgstr "" "Plik już nie istnieje w Proton Drive, więc Twoje zmiany zachowano w {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:383 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:387 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were kept in " @@ -1076,7 +1088,7 @@ msgstr "" "Plik został przeniesiony do kosza w Proton Drive, więc Twoje zmiany " "zachowano w {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:389 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:393 #, rust-format msgid "It was changed on Proton Drive, so your changes were kept in {path}" msgstr "" @@ -1084,31 +1096,31 @@ msgstr "" #. Translators: {path} is the file on this computer that holds the #. changes which could not be uploaded. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:394 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:398 #, rust-format msgid "Your changes were kept in {path}" msgstr "Twoje zmiany zachowano w {path}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:399 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:403 #: crates/pdfs-gui/src/app/pages/locations.rs:989 #, rust-format msgid "Differs from {name}" msgstr "Różni się od {name}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:406 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:410 #, rust-format msgid "{name} no longer exists" msgstr "{name} już nie istnieje" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:413 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:417 #, rust-format msgid "Same as {name}" msgstr "Taki sam jak {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:420 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:424 #, rust-format msgid "{n} person can view" msgid_plural "{n} people can view" @@ -1116,7 +1128,7 @@ msgstr[0] "Osoby z prawem do wyświetlania: {n}" msgstr[1] "Osoby z prawem do wyświetlania: {n}" msgstr[2] "Osoby z prawem do wyświetlania: {n}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:421 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:425 #, rust-format msgid "{n} person can edit" msgid_plural "{n} people can edit" @@ -1124,7 +1136,7 @@ msgstr[0] "Osoby z prawem do edycji: {n}" msgstr[1] "Osoby z prawem do edycji: {n}" msgstr[2] "Osoby z prawem do edycji: {n}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:422 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:426 #, rust-format msgid "{n} person invited" msgid_plural "{n} people invited" @@ -1132,7 +1144,7 @@ msgstr[0] "Zaproszone osoby: {n}" msgstr[1] "Zaproszone osoby: {n}" msgstr[2] "Zaproszone osoby: {n}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:427 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:431 #, rust-format msgid "{n} file kept as a conflicting copy" msgid_plural "{n} files kept as conflicting copies" @@ -1140,7 +1152,7 @@ msgstr[0] "Pliki zachowane jako kopie konfliktowe: {n}" msgstr[1] "Pliki zachowane jako kopie konfliktowe: {n}" msgstr[2] "Pliki zachowane jako kopie konfliktowe: {n}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:435 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:439 #, rust-format msgid "{n} item failed and will be tried again" msgid_plural "{n} items failed and will be tried again" @@ -1149,8 +1161,8 @@ msgstr[1] "Nieudane elementy, które zostaną ponowione: {n}" msgstr[2] "Nieudane elementy, które zostaną ponowione: {n}" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:473 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:504 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 #, rust-format msgid "{n} uploaded" msgid_plural "{n} uploaded" @@ -1159,7 +1171,7 @@ msgstr[1] "Wysłano: {n}" msgstr[2] "Wysłano: {n}" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:475 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 #, rust-format msgid "{n} downloaded" msgid_plural "{n} downloaded" @@ -1168,7 +1180,7 @@ msgstr[1] "Pobrano: {n}" msgstr[2] "Pobrano: {n}" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 #, rust-format msgid "{n} folder created" msgid_plural "{n} folders created" @@ -1177,7 +1189,7 @@ msgstr[1] "Utworzone katalogi: {n}" msgstr[2] "Utworzone katalogi: {n}" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:483 #, rust-format msgid "{n} deleted" msgid_plural "{n} deleted" @@ -1186,7 +1198,7 @@ msgstr[1] "Usunięto: {n}" msgstr[2] "Usunięto: {n}" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:485 #, rust-format msgid "{n} in conflict" msgid_plural "{n} in conflict" @@ -1196,7 +1208,7 @@ msgstr[2] "W konflikcie: {n}" #. Translators: part of a list summing up a sync pass; the files are #. still open in another app. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:484 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:488 #, rust-format msgid "{n} still open" msgid_plural "{n} still open" @@ -1205,8 +1217,8 @@ msgstr[1] "Wciąż otwarte: {n}" msgstr[2] "Wciąż otwarte: {n}" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:486 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:509 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:490 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:513 #, rust-format msgid "{n} failed" msgid_plural "{n} failed" @@ -1214,13 +1226,13 @@ msgstr[0] "Niepowodzenia: {n}" msgstr[1] "Niepowodzenia: {n}" msgstr[2] "Niepowodzenia: {n}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:498 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:502 msgid "Cancelled" msgstr "Anulowano" #. Translators: photos an import skipped because they were already #. in Proton Drive. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:507 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:511 #, rust-format msgid "{n} already there" msgid_plural "{n} already there" @@ -1228,7 +1240,7 @@ msgstr[0] "Już obecne: {n}" msgstr[1] "Już obecne: {n}" msgstr[2] "Już obecne: {n}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:512 #: crates/pdfs-gui/src/app/pages/albums.rs:107 #: crates/pdfs-gui/src/app/pages/albums.rs:694 #, rust-format diff --git a/po/pt_BR.po b/po/pt_BR.po index 0bba657..62778e1 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 2.1.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-17 01:23+0200\n" +"POT-Creation-Date: 2026-10-25 20:52+0100\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Portuguese (Brazil)\n" @@ -58,7 +58,7 @@ msgid "%A, %B %-d, %Y, %H:%M" msgstr "%A, %-d de %B de %Y, %H:%M" #: crates/pdfs-gui/src/app/main.rs:856 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:539 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:543 #: crates/pdfs-gui/src/app/pages/browser.rs:454 #: crates/pdfs-gui/src/app/pages/browser.rs:833 #: crates/pdfs-gui/src/app/pages/browser.rs:1239 @@ -820,189 +820,201 @@ msgstr "{name} movido" msgid "Couldn't move {name}" msgstr "Não foi possível mover {name}" -#. Translators: {name} is a folder name. +#. Translators: {name} is a file or folder name. #: crates/pdfs-gui/src/app/pages/activity_text.rs:183 #, rust-format +msgid "Copied {name}" +msgstr "{name} copiado" + +#. Translators: {name} is a file or folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#, rust-format +msgid "Couldn't copy {name}" +msgstr "Não foi possível copiar {name}" + +#. Translators: {name} is a folder name. +#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#, rust-format msgid "Created folder {name}" msgstr "Pasta {name} criada" #. Translators: {name} is a folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:185 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 #, rust-format msgid "Couldn't create folder {name}" msgstr "Não foi possível criar a pasta {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:187 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 #, rust-format msgid "Moved {name} to the Trash" msgstr "{name} movido para a lixeira" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:189 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 #, rust-format msgid "Couldn't move {name} to the Trash" msgstr "Não foi possível mover {name} para a lixeira" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:191 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 #, rust-format msgid "Restored {name}" msgstr "{name} restaurado" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:193 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 #, rust-format msgid "Couldn't restore {name}" msgstr "Não foi possível restaurar {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:195 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 #, rust-format msgid "Deleted {name} forever" msgstr "{name} excluído para sempre" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:197 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 #, rust-format msgid "Couldn't delete {name}" msgstr "Não foi possível excluir {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:198 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:202 msgid "Emptied the Trash" msgstr "Lixeira esvaziada" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:199 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 msgid "Couldn't empty the Trash" msgstr "Não foi possível esvaziar a lixeira" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:201 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 #, rust-format msgid "Shared {name}" msgstr "{name} compartilhado" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:203 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 #, rust-format msgid "Couldn't share {name}" msgstr "Não foi possível compartilhar {name}" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:205 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 #, rust-format msgid "Created a link to {name}" msgstr "Link para {name} criado" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:207 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 #, rust-format msgid "Couldn't create a link to {name}" msgstr "Não foi possível criar um link para {name}" #. Translators: {name} is a file or folder name. #. Translators: {name} is the item's name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:209 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 #: crates/pdfs-gui/src/app/pages/shared_by_me.rs:559 #, rust-format msgid "Stopped sharing {name}" msgstr "{name} deixou de ser compartilhado" #. Translators: {name} is a file or folder name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:211 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:215 #, rust-format msgid "Couldn't stop sharing {name}" msgstr "Não foi possível parar de compartilhar {name}" #. Translators: {name} is the name of the conflicting copy. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:213 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:217 #, rust-format msgid "Conflicting copy {name}" msgstr "Cópia em conflito {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:236 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:240 msgid "Removed on Proton Drive" msgstr "Removido no Proton Drive" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:237 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:241 msgid "Removed on this computer" msgstr "Removido neste computador" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:239 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 msgid "Replaced by a renamed file" msgstr "Substituído por um arquivo renomeado" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:243 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:247 msgid "" "The destination folder no longer exists, so the file stayed where it was" msgstr "A pasta de destino não existe mais, então o arquivo ficou onde estava" #. Translators: {name} is the folder an item was moved into. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:262 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 #, rust-format msgid "To {name}" msgstr "Para {name}" #. Translators: {name} is an item's previous name. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:266 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:270 #, rust-format msgid "Previously {name}" msgstr "Antes {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:269 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:273 msgid "Restored an earlier version" msgstr "Versão anterior restaurada" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:272 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:276 msgid "Deleted an earlier version" msgstr "Versão anterior excluída" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:279 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:283 #, rust-format msgid "Saved an earlier version to {path}" msgstr "Versão anterior salva em {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:286 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:290 #, rust-format msgid "Kept both; the copy is now {name}" msgstr "Ambos mantidos; a cópia agora é {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:296 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:300 #, rust-format msgid "Kept {name}; the copy is in the Trash" msgstr "{name} mantido; a cópia está na lixeira" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:301 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 msgid "Kept the conflicting copy" msgstr "Cópia em conflito mantida" #. Translators: {name} is the file that was kept. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:305 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:309 #, rust-format msgid "Kept {name}" msgstr "{name} mantido" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:310 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:314 #, rust-format msgid "Same as {name}, so it was removed" msgstr "Igual a {name}, então foi removido" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:317 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:321 #, rust-format msgid "The name was taken, so it was moved as {name}" msgstr "O nome já existia, então foi movido como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:324 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:328 #, rust-format msgid "The name was taken on Proton Drive, so it was renamed to {name}" msgstr "O nome já existia no Proton Drive, então foi renomeado para {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:331 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:335 #, rust-format msgid "The name was taken on Proton Drive, so it was created as {name}" msgstr "O nome já existia no Proton Drive, então foi criado como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:340 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:344 #, rust-format msgid "" "Its folder was moved to the Trash on Proton Drive, so it was created at the " @@ -1011,7 +1023,7 @@ msgstr "" "A pasta dele foi movida para a lixeira no Proton Drive, então foi criado no " "nível superior como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:350 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:354 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were uploaded as {name}" @@ -1019,7 +1031,7 @@ msgstr "" "Ele não existe mais no Proton Drive, então suas alterações foram enviadas " "como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:356 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:360 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were uploaded as " @@ -1028,7 +1040,7 @@ msgstr "" "Ele foi movido para a lixeira no Proton Drive, então suas alterações foram " "enviadas como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:362 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:366 #, rust-format msgid "It was changed on Proton Drive, so your changes were uploaded as {name}" msgstr "" @@ -1037,12 +1049,12 @@ msgstr "" #. Translators: {name} is the copy the changes made on this #. computer were uploaded as. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:367 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:371 #, rust-format msgid "Your changes were uploaded as {name}" msgstr "Suas alterações foram enviadas como {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:377 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:381 #, rust-format msgid "" "It no longer exists on Proton Drive, so your changes were kept in {path}" @@ -1050,7 +1062,7 @@ msgstr "" "Ele não existe mais no Proton Drive, então suas alterações foram mantidas em " "{path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:383 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:387 #, rust-format msgid "" "It was moved to the Trash on Proton Drive, so your changes were kept in " @@ -1059,7 +1071,7 @@ msgstr "" "Ele foi movido para a lixeira no Proton Drive, então suas alterações foram " "mantidas em {path}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:389 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:393 #, rust-format msgid "It was changed on Proton Drive, so your changes were kept in {path}" msgstr "" @@ -1068,59 +1080,59 @@ msgstr "" #. Translators: {path} is the file on this computer that holds the #. changes which could not be uploaded. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:394 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:398 #, rust-format msgid "Your changes were kept in {path}" msgstr "Suas alterações foram mantidas em {path}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:399 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:403 #: crates/pdfs-gui/src/app/pages/locations.rs:989 #, rust-format msgid "Differs from {name}" msgstr "Difere de {name}" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:406 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:410 #, rust-format msgid "{name} no longer exists" msgstr "{name} não existe mais" #. Translators: {name} is the file the conflicting copy was made from. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:413 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:417 #, rust-format msgid "Same as {name}" msgstr "Igual a {name}" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:420 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:424 #, rust-format msgid "{n} person can view" msgid_plural "{n} people can view" msgstr[0] "{n} pessoa pode ver" msgstr[1] "{n} pessoas podem ver" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:421 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:425 #, rust-format msgid "{n} person can edit" msgid_plural "{n} people can edit" msgstr[0] "{n} pessoa pode editar" msgstr[1] "{n} pessoas podem editar" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:422 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:426 #, rust-format msgid "{n} person invited" msgid_plural "{n} people invited" msgstr[0] "{n} pessoa convidada" msgstr[1] "{n} pessoas convidadas" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:427 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:431 #, rust-format msgid "{n} file kept as a conflicting copy" msgid_plural "{n} files kept as conflicting copies" msgstr[0] "{n} arquivo mantido como cópia em conflito" msgstr[1] "{n} arquivos mantidos como cópias em conflito" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:435 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:439 #, rust-format msgid "{n} item failed and will be tried again" msgid_plural "{n} items failed and will be tried again" @@ -1128,8 +1140,8 @@ msgstr[0] "{n} item falhou e será tentado novamente" msgstr[1] "{n} itens falharam e serão tentados novamente" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:473 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:504 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 #, rust-format msgid "{n} uploaded" msgid_plural "{n} uploaded" @@ -1137,7 +1149,7 @@ msgstr[0] "{n} enviado" msgstr[1] "{n} enviados" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:475 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 #, rust-format msgid "{n} downloaded" msgid_plural "{n} downloaded" @@ -1145,7 +1157,7 @@ msgstr[0] "{n} baixado" msgstr[1] "{n} baixados" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:477 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 #, rust-format msgid "{n} folder created" msgid_plural "{n} folders created" @@ -1153,7 +1165,7 @@ msgstr[0] "{n} pasta criada" msgstr[1] "{n} pastas criadas" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:479 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:483 #, rust-format msgid "{n} deleted" msgid_plural "{n} deleted" @@ -1161,7 +1173,7 @@ msgstr[0] "{n} excluído" msgstr[1] "{n} excluídos" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:481 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:485 #, rust-format msgid "{n} in conflict" msgid_plural "{n} in conflict" @@ -1170,7 +1182,7 @@ msgstr[1] "{n} em conflito" #. Translators: part of a list summing up a sync pass; the files are #. still open in another app. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:484 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:488 #, rust-format msgid "{n} still open" msgid_plural "{n} still open" @@ -1178,28 +1190,28 @@ msgstr[0] "{n} ainda aberto" msgstr[1] "{n} ainda abertos" #. Translators: part of a list summing up a sync pass. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:486 -#: crates/pdfs-gui/src/app/pages/activity_text.rs:509 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:490 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:513 #, rust-format msgid "{n} failed" msgid_plural "{n} failed" msgstr[0] "{n} com falha" msgstr[1] "{n} com falha" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:498 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:502 msgid "Cancelled" msgstr "Cancelado" #. Translators: photos an import skipped because they were already #. in Proton Drive. -#: crates/pdfs-gui/src/app/pages/activity_text.rs:507 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:511 #, rust-format msgid "{n} already there" msgid_plural "{n} already there" msgstr[0] "{n} já existia" msgstr[1] "{n} já existiam" -#: crates/pdfs-gui/src/app/pages/activity_text.rs:508 +#: crates/pdfs-gui/src/app/pages/activity_text.rs:512 #: crates/pdfs-gui/src/app/pages/albums.rs:107 #: crates/pdfs-gui/src/app/pages/albums.rs:694 #, rust-format