feat(sharing,gui,cli): change public links and show folder sizes

The share dialog gets Link settings under an existing link: role, password
and expiry apply at once and keep the URL. The daemon fills in the options a
change keeps from the link as it stands, and refuses to keep a password it
cannot read rather than dropping it. pdfs public-link update does the same
from a terminal, and pdfs members shows the expiry.

Details shows a folder's size and item count as Proton Drive counts it,
trash included, and pdfs du prints it. Both are refused offline and for a
folder that is not on Drive yet.

Needs proton-drive-rs with update_public_link, get_folder_size and
PublicLink::custom_password.
This commit is contained in:
nvrl committed 2026-10-25 22:18:11 +01:00
1 parent ee59e338b6
commit 4edcff3f87
21 files changed
+1824 -686

No files matched your search

+92 -2
View File
@@ -13,7 +13,7 @@ use pdfs_core::auth;
use pdfs_core::cache::ContentCache;
use pdfs_core::config::AppDirs;
use pdfs_core::control::{
ConflictKeep, ErrorKind, MountKind, RefreshScope, Request as CtlRequest,
ConflictKeep, ErrorKind, LinkChange, MountKind, RefreshScope, Request as CtlRequest,
Response as CtlResponse, RestoreItem as CtlRestoreItem, ShareEntryKind, SyncIssue, SyncPhase,
daemon_outdated, pending_summary,
};
@@ -368,6 +368,14 @@ enum Command {
#[arg(required = true, num_args = 2.., value_name = "PATH")]
paths: Vec<PathBuf>,
},
/// Show how much a folder holds on Proton Drive.
///
/// Proton Drive adds it up, so nothing is downloaded. The size is the
/// encrypted bytes on storage and includes items in the trash.
Du {
/// Folder path, inside My files or relative to the mountpoint.
path: PathBuf,
},
/// Trash a file or folder via the running daemon.
Rm {
/// File/folder path, inside My files or an on-demand synced folder, or
@@ -789,6 +797,29 @@ enum PublicLinkCmd {
#[arg(long)]
expires: Option<i64>,
},
/// Change a node's public link. The URL stays the same; an option not
/// given is kept.
Update {
/// File/folder path, inside the mountpoint or relative to it.
path: PathBuf,
/// Public-link id, from `pdfs members`.
id: String,
/// New role: viewer or editor.
#[arg(long)]
role: Option<String>,
/// New custom password protecting the link.
#[arg(long, conflicts_with = "no_password")]
password: Option<String>,
/// Remove the custom password.
#[arg(long)]
no_password: bool,
/// New expiry, Unix epoch seconds.
#[arg(long, conflicts_with = "no_expiry")]
expires: Option<i64>,
/// Remove the expiry.
#[arg(long)]
no_expiry: bool,
},
/// Remove a node's public link.
Remove {
/// File/folder path, inside the mountpoint or relative to it.
@@ -935,6 +966,7 @@ fn main() -> Result<()> {
let new_parent = paths.pop().expect("clap requires at least two paths");
cmd_copy(paths, new_parent)
}
Command::Du { path } => cmd_du(path),
Command::Rm { path } => cmd_rm(path),
Command::Mkdir { parent, name } => cmd_mkdir(parent, name),
Command::Upload { sources, parent } => cmd_upload(sources, parent),
@@ -1528,7 +1560,11 @@ fn cmd_members(path: PathBuf) -> Result<()> {
Some(l) => {
let url = l.url.as_deref().unwrap_or("(url hidden)");
let pw = if l.has_password { " +password" } else { "" };
println!("public link ({}{pw}): {url} [{}]", l.role, l.id);
let expiry = l
.expires
.map(|at| format!(", expires {}", format_epoch_utc(at)))
.unwrap_or_default();
println!("public link ({}{pw}{expiry}): {url} [{}]", l.role, l.id);
}
None => println!("public link: none"),
}
@@ -1580,6 +1616,27 @@ fn cmd_public_link(action: PublicLinkCmd) -> Result<()> {
CtlResponse::Error { message, kind } => bail!("{}", cli_error(kind, &message)),
other => bail!("unexpected response: {other:?}"),
},
PublicLinkCmd::Update {
path,
id,
role,
password,
no_password,
expires,
no_expiry,
} => match control_request(CtlRequest::UpdatePublicLink {
path: path_arg(&path)?,
id,
role,
password: link_change(password, no_password),
expires: link_change(expires, no_expiry),
})? {
CtlResponse::PublicLink { link } => {
println!("{}", link.url.as_deref().unwrap_or("(no url returned)"));
}
CtlResponse::Error { message, kind } => bail!("{}", cli_error(kind, &message)),
other => bail!("unexpected response: {other:?}"),
},
PublicLinkCmd::Remove { path, id } => {
ok_or_bail(control_request(CtlRequest::RemovePublicLink {
path: path_arg(&path)?,
@@ -1590,6 +1647,15 @@ fn cmd_public_link(action: PublicLinkCmd) -> Result<()> {
Ok(())
}
/// A `--x VALUE` / `--no-x` flag pair as one link option change.
fn link_change<T>(value: Option<T>, remove: bool) -> LinkChange<T> {
match (value, remove) {
(Some(value), _) => LinkChange::Set(value),
(None, true) => LinkChange::Remove,
(None, false) => LinkChange::Keep,
}
}
fn cmd_shared() -> Result<()> {
match control_request(CtlRequest::ListSharedByMe)? {
CtlResponse::SharedByMe { items } if items.is_empty() => {
@@ -2966,6 +3032,23 @@ fn cmd_copy(sources: Vec<PathBuf>, new_parent: PathBuf) -> Result<()> {
Ok(())
}
fn cmd_du(path: PathBuf) -> Result<()> {
match control_request(CtlRequest::FolderSize {
path: path_arg(&path)?,
})? {
CtlResponse::FolderSize { size, items } => {
let noun = if items == 1 { "item" } else { "items" };
println!(
"{} in {items} {noun} (on Proton Drive, trash included)",
human_bytes(size)
);
}
CtlResponse::Error { message, kind } => bail!("{}", cli_error(kind, &message)),
other => bail!("unexpected response: {other:?}"),
}
Ok(())
}
fn cmd_rm(path: PathBuf) -> Result<()> {
match control_request(CtlRequest::Delete {
path: path_arg(&path)?,
@@ -3952,6 +4035,13 @@ mod login_wait_tests {
assert_eq!(slept, 0);
}
#[test]
fn a_link_flag_pair_keeps_removes_or_sets() {
assert_eq!(link_change::<i64>(None, false), LinkChange::Keep);
assert_eq!(link_change::<i64>(None, true), LinkChange::Remove);
assert_eq!(link_change(Some(5), false), LinkChange::Set(5));
}
#[test]
fn epoch_seconds_format_as_utc_calendar_dates() {
assert_eq!(format_epoch_utc(0), "1970-01-01");
+90 -2
View File
@@ -350,6 +350,11 @@ pub enum Request {
/// taken in `new_parent` gets the next free ` (n)` suffix. Replies with
/// [`Response::Ok`].
Copy { path: String, new_parent: String },
/// Ask Proton Drive how much the folder at mountpoint-relative `path`
/// holds. Replies with [`Response::FolderSize`].
FolderSize { path: String },
/// The by-uid twin of [`Request::FolderSize`].
FolderSizeByUid { uid: String },
/// Trash a file or folder. `path` is mountpoint-relative. Replies with
/// [`Response::Ok`].
Delete { path: String },
@@ -602,6 +607,24 @@ pub enum Request {
RemovePublicLink { path: String, id: String },
/// The by-uid twin of [`Request::RemovePublicLink`].
RemovePublicLinkByUid { uid: String, id: String },
/// Change the public link `id` on the node at `path`, keeping its URL.
/// `role` is "viewer" or "editor", or `None` to keep the current one.
/// Replies with [`Response::PublicLink`].
UpdatePublicLink {
path: String,
id: String,
role: Option<String>,
password: LinkChange<String>,
expires: LinkChange<i64>,
},
/// The by-uid twin of [`Request::UpdatePublicLink`].
UpdatePublicLinkByUid {
uid: String,
id: String,
role: Option<String>,
password: LinkChange<String>,
expires: LinkChange<i64>,
},
/// Stop sharing the node at `path`: remove its public link, every pending
/// invitation and every member. Each removal is attempted even if an
/// earlier one fails. Replies with [`Response::Ok`], or an error naming
@@ -1081,6 +1104,18 @@ pub struct PublicLinkInfo {
pub created: i64,
}
/// What [`Request::UpdatePublicLink`] does with one option of a link: its
/// custom password or its expiry.
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
pub enum LinkChange<T> {
/// Leave the option as it is.
Keep,
/// Remove the option: no custom password, or no expiry.
Remove,
/// Set the option to this value.
Set(T),
}
/// One invitation addressed to me (in [`Response::Invitations`]).
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct InvitationInfo {
@@ -2192,9 +2227,14 @@ pub enum Response {
entries: Vec<ShareEntry>,
link: Option<PublicLinkInfo>,
},
/// A freshly created public link, carrying the shareable URL (reply to
/// [`Request::CreatePublicLink`]).
/// A freshly created or changed public link, carrying the shareable URL
/// (reply to [`Request::CreatePublicLink`] and
/// [`Request::UpdatePublicLink`]).
PublicLink { link: PublicLinkInfo },
/// What a folder holds on Proton Drive (reply to [`Request::FolderSize`]):
/// the bytes on storage and the number of items below it, folders and
/// trashed items included.
FolderSize { size: u64, items: u64 },
/// Invitations addressed to me (reply to [`Request::ListInvitations`]).
Invitations { items: Vec<InvitationInfo> },
/// Saved public links (reply to [`Request::ListBookmarks`]).
@@ -3258,6 +3298,24 @@ mod tests {
uid: "vol~link".into(),
id: "url-1".into(),
},
Request::UpdatePublicLink {
path: "a/b".into(),
id: "url-1".into(),
role: Some("editor".into()),
password: LinkChange::Set("pw".into()),
expires: LinkChange::Remove,
},
Request::UpdatePublicLinkByUid {
uid: "vol~link".into(),
id: "url-1".into(),
role: None,
password: LinkChange::Keep,
expires: LinkChange::Set(1_700_000_000),
},
Request::FolderSize { path: "a".into() },
Request::FolderSizeByUid {
uid: "vol~link".into(),
},
Request::ListSharedByMe,
Request::ListActivity { limit: 100 },
Request::ListSharedWithMe,
@@ -3632,6 +3690,16 @@ mod tests {
},
"RemovePublicLinkByUid",
),
(
Request::UpdatePublicLinkByUid {
uid: "vol~link".into(),
id: "link".into(),
role: None,
password: LinkChange::Keep,
expires: LinkChange::Keep,
},
"UpdatePublicLinkByUid",
),
(
Request::StopSharingByUid {
uid: "vol~link".into(),
@@ -3657,6 +3725,7 @@ mod tests {
| Request::RemoveShareEntryByUid { uid, .. }
| Request::CreatePublicLinkByUid { uid, .. }
| Request::RemovePublicLinkByUid { uid, .. }
| Request::UpdatePublicLinkByUid { uid, .. }
| Request::StopSharingByUid { uid } => uid,
other => panic!("decoded into the wrong dispatch variant: {other:?}"),
};
@@ -3665,6 +3734,25 @@ mod tests {
}
}
#[test]
fn a_link_update_names_what_it_keeps_removes_and_sets() {
let request = Request::UpdatePublicLink {
path: "a/b".into(),
id: "url-1".into(),
role: None,
password: LinkChange::Keep,
expires: LinkChange::Set(1_700_000_000),
};
assert_eq!(
serde_json::to_string(&request).unwrap(),
r#"{"UpdatePublicLink":{"path":"a/b","id":"url-1","role":null,"password":"Keep","expires":{"Set":1700000000}}}"#
);
assert_eq!(
serde_json::to_string(&LinkChange::<String>::Remove).unwrap(),
r#""Remove""#
);
}
#[test]
fn open_file_accepts_a_request_from_a_client_predating_the_uid_field() {
let legacy = r#"{"OpenFile":{"path":"Documents/ONBOARDING.md"}}"#;
+43
View File
@@ -29,6 +29,17 @@ use super::{Core, count_noun, human_bytes, human_duration, parse_uid};
const MAX_CONTROL_REQUEST_BYTES: u64 = 1024 * 1024;
const CONTROL_READ_TIMEOUT: Duration = Duration::from_secs(10);
/// Answer a [`CtlRequest::FolderSize`].
fn folder_size_reply(size: CoreResult<proton_drive_rs::FolderSize>) -> CtlResponse {
match size {
Ok(size) => CtlResponse::FolderSize {
size: size.size,
items: size.descendants,
},
Err(e) => CtlResponse::error(e),
}
}
/// Answer a [`CtlRequest::StopSharing`]: log it, and turn a partial removal
/// into an error that names what is still shared.
fn stop_sharing_reply(
@@ -392,6 +403,8 @@ fn touched_topics(request: &CtlRequest) -> &'static [Topic] {
| R::CreatePublicLinkByUid { .. }
| R::RemovePublicLink { .. }
| R::RemovePublicLinkByUid { .. }
| R::UpdatePublicLink { .. }
| R::UpdatePublicLinkByUid { .. }
| R::StopSharing { .. }
| R::StopSharingByUid { .. } => &[Topic::Shares, Topic::Files],
R::LeaveShared { .. }
@@ -1088,6 +1101,11 @@ fn handle_control_conn(core: &Core, username: &str, mountpoint: &Path, stream: U
(Err(e), _) | (_, Err(e)) => CtlResponse::error(e),
}
}
Ok(CtlRequest::FolderSize { path }) => match rel_to_mount(mountpoint, &path) {
Ok(rel) => folder_size_reply(core.folder_size(&rel)),
Err(e) => CtlResponse::error(e),
},
Ok(CtlRequest::FolderSizeByUid { uid }) => folder_size_reply(core.folder_size_by_uid(&uid)),
Ok(CtlRequest::Delete { path }) => match route_node(core, mountpoint, &path) {
Ok((core, rel)) => match core.delete(&rel) {
Ok(name) => {
@@ -1655,6 +1673,31 @@ fn handle_control_conn(core: &Core, username: &str, mountpoint: &Path, stream: U
CtlResponse::error(e)
}
},
Ok(CtlRequest::UpdatePublicLink {
path,
id,
role,
password,
expires,
}) => match rel_to_mount(mountpoint, &path) {
Ok(rel) => {
match core.update_public_link(&rel, &id, role.as_deref(), password, expires) {
Ok(link) => CtlResponse::PublicLink { link },
Err(e) => CtlResponse::error(e),
}
}
Err(e) => CtlResponse::error(e),
},
Ok(CtlRequest::UpdatePublicLinkByUid {
uid,
id,
role,
password,
expires,
}) => match core.update_public_link_by_uid(&uid, &id, role.as_deref(), password, expires) {
Ok(link) => CtlResponse::PublicLink { link },
Err(e) => CtlResponse::error(e),
},
Ok(CtlRequest::RemovePublicLink { path, id }) => match rel_to_mount(mountpoint, &path) {
Ok(rel) => match core.remove_public_link(&rel, &id) {
Ok(()) => {
+37
View File
@@ -5288,6 +5288,43 @@ impl Core {
Ok(copy_name)
}
/// What the folder at `rel` holds on Proton Drive: bytes on storage and the
/// number of items below it. Drive adds it up, so nothing is listed here;
/// trashed items count, and the bytes are encrypted ones.
pub(crate) fn folder_size(&self, rel: &Path) -> CoreResult<proton_drive_rs::FolderSize> {
let (ino, uid) = self.resolve(rel)?;
let is_folder = self
.state()
.entries
.get(&ino)
.is_some_and(|entry| entry.node.is_folder());
if !is_folder {
return Err(CoreError::invalid(format!(
"{} is not a folder",
rel.display()
)));
}
self.folder_size_for_uid(&uid)
}
/// [`Core::folder_size`] for a folder addressed through any daemon location.
pub(crate) fn folder_size_by_uid(&self, uid: &str) -> CoreResult<proton_drive_rs::FolderSize> {
let uid = self.resolve_anywhere(uid)?;
self.folder_size_for_uid(&uid)
}
fn folder_size_for_uid(&self, uid: &NodeUid) -> CoreResult<proton_drive_rs::FolderSize> {
if is_local_uid(uid) {
return Err(CoreError::conflict("the folder is not on Proton Drive yet"));
}
if !self.is_online() {
return Err(CoreError::offline());
}
self.rt
.block_on(self.client.get_folder_size(uid))
.map_err(|e| CoreError::from_api(&e, "folder size"))
}
/// 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<String> {
+85 -1
View File
@@ -9,7 +9,8 @@
use std::path::Path;
use pdfs_core::control::{
BookmarkInfo, DirEntry, InvitationInfo, PublicLinkInfo, ShareEntry, ShareEntryKind, SharedItem,
BookmarkInfo, DirEntry, InvitationInfo, LinkChange, PublicLinkInfo, ShareEntry, ShareEntryKind,
SharedItem,
};
use pdfs_core::{CoreError, CoreResult};
use tracing::debug;
@@ -367,6 +368,89 @@ impl Core {
Ok(public_link_info(link))
}
/// Change the public link `id` on the node at `rel`, keeping its URL.
pub(crate) fn update_public_link(
&self,
rel: &Path,
id: &str,
role: Option<&str>,
password: LinkChange<String>,
expires: LinkChange<i64>,
) -> CoreResult<PublicLinkInfo> {
let (_ino, uid) = self.resolve(rel)?;
self.update_public_link_for_uid(&uid, id, role, password, expires)
}
/// [`Core::update_public_link`] for a node addressed through any daemon
/// location.
pub(crate) fn update_public_link_by_uid(
&self,
uid: &str,
id: &str,
role: Option<&str>,
password: LinkChange<String>,
expires: LinkChange<i64>,
) -> CoreResult<PublicLinkInfo> {
let uid = self.resolve_anywhere(uid)?;
self.update_public_link_for_uid(&uid, id, role, password, expires)
}
/// The SDK sets all three options on every update, so each `Keep` is
/// filled in from the link as it stands.
fn update_public_link_for_uid(
&self,
uid: &NodeUid,
id: &str,
role: Option<&str>,
password: LinkChange<String>,
expires: LinkChange<i64>,
) -> CoreResult<PublicLinkInfo> {
let link = self
.rt
.block_on(self.client.get_public_link(uid))
.map_err(|e| CoreError::from_api(&e, "get public link"))?
.filter(|l| l.public_link_id == id)
.ok_or_else(|| CoreError::not_found("public link not found"))?;
let role = match role {
Some(role) => role_from_str(role)?,
None => link.role,
};
let unchanged = role == link.role
&& matches!(password, LinkChange::Keep)
&& matches!(expires, LinkChange::Keep);
if unchanged {
return Ok(public_link_info(link));
}
let password = match password {
LinkChange::Keep if link.has_custom_password => {
// Sending `None` here would quietly remove the password.
Some(link.custom_password.clone().ok_or_else(|| {
CoreError::conflict(
"the link's password could not be read; set a new one or remove it",
)
})?)
}
LinkChange::Keep | LinkChange::Remove => None,
LinkChange::Set(password) if password.is_empty() => {
return Err(CoreError::invalid("the new password is empty"));
}
LinkChange::Set(password) => Some(password),
};
let expires = match expires {
LinkChange::Keep => link.expiration_time,
LinkChange::Remove => None,
LinkChange::Set(at) => Some(at),
};
let link = self
.rt
.block_on(
self.client
.update_public_link(uid, role, password.as_deref(), expires),
)
.map_err(|e| CoreError::from_api(&e, "update public link"))?;
Ok(public_link_info(link))
}
/// Remove the public link `id` from the node at `rel`.
pub(crate) fn remove_public_link(&self, rel: &Path, id: &str) -> CoreResult<()> {
let (_ino, uid) = self.resolve(rel)?;
+5 -5
View File
@@ -75,11 +75,11 @@ use pdfs_core::config::{AppDirs, FileSort, FilesView, WindowState};
use pdfs_core::control::{
ActivityEntry, ActivityKind, AlbumInfo, BookmarkInfo, ConflictInfo, ConflictKeep, DeviceInfo,
DirEntry, ErrorKind, ImportSummary, InvitationInfo, JobItem, MappingProgress, PendingOpInfo,
PhotoItem, PhotoKind, PhotoMonth, PlaceInfo, PublicLinkInfo, RefreshScope, Request, Response,
RestorableFolder, RestoreItem, RevisionInfo, SearchHit, ShareEntry, ShareEntryKind, SharedItem,
SyncFolderInfo, SyncIssue, SyncPhase, SyncProgress, ThumbnailBuildStatus, Topic,
TransferDirection, TransferItem, send,
DirEntry, ErrorKind, ImportSummary, InvitationInfo, JobItem, LinkChange, MappingProgress,
PendingOpInfo, PhotoItem, PhotoKind, PhotoMonth, PlaceInfo, PublicLinkInfo, RefreshScope,
Request, Response, RestorableFolder, RestoreItem, RevisionInfo, SearchHit, ShareEntry,
ShareEntryKind, SharedItem, SyncFolderInfo, SyncIssue, SyncPhase, SyncProgress,
ThumbnailBuildStatus, Topic, TransferDirection, TransferItem, send,
};
use pdfs_core::mounts::{MountAccess, MountKind, MountMode, MountSpec};
+50 -7
View File
@@ -368,12 +368,19 @@ pub(crate) fn show_details(ui: &Rc<Ui>, entry: &DirEntry) {
} else {
gettext("File")
});
d.size_row.set_subtitle(&if entry.is_dir {
"—".to_string()
// A folder's size is Proton Drive's count, which takes a request; it lands
// in `load_details_extras`.
if entry.is_dir {
d.size_row.set_title(&gettext("Size on Proton Drive"));
d.size_row.set_subtitle("—");
d.size_row.set_tooltip_text(Some(&gettext(
"Counted by Proton Drive, including items in the trash.",
)));
} else {
human_bytes(entry.size)
});
d.size_row.set_visible(!entry.is_dir);
d.size_row.set_title(&pgettext("column", "Size"));
d.size_row.set_subtitle(&human_bytes(entry.size));
d.size_row.set_tooltip_text(None);
}
d.modified_row
.set_subtitle(&dates::short_date(entry.modified));
let rel = entry_rel(ui, entry);
@@ -426,8 +433,8 @@ pub(crate) fn show_details(ui: &Rc<Ui>, entry: &DirEntry) {
d.pages.set_visible_child_name("details");
}
/// Fill the Sharing and Versions rows, which need the network. The answers
/// land only if the pane still shows the same entry.
/// Fill the Sharing and Versions rows, and a folder's size, which need the
/// network. The answers land only if the pane still shows the same entry.
fn load_details_extras(ui: &Rc<Ui>, entry: &DirEntry) {
let by_uid = entry.path.is_empty() && !entry.uid.is_empty();
let rel = entry_rel(ui, entry);
@@ -453,6 +460,24 @@ fn load_details_extras(ui: &Rc<Ui>, entry: &DirEntry) {
});
if entry.is_dir {
let req = if by_uid {
Request::FolderSizeByUid {
uid: entry.uid.clone(),
}
} else {
Request::FolderSize { path: rel }
};
let rx = spawn_request(ui.dirs.control_socket(), req);
let (ui_c, uid) = (ui.clone(), entry.uid.clone());
glib::spawn_future_local(async move {
let text = match rx.recv().await {
Ok(Ok(Response::FolderSize { size, items })) => folder_size_summary(size, items),
_ => gettext("Couldn't load the size"),
};
if details_showing(&ui_c, &uid) {
ui_c.details.details.size_row.set_subtitle(&text);
}
});
return;
}
let req = if by_uid {
@@ -499,6 +524,18 @@ pub(crate) fn sharing_summary(people: usize, link: bool) -> String {
}
}
/// "1.2 GiB · 340 items": what a folder holds, as Proton Drive counts it.
pub(crate) fn folder_size_summary(size: u64, items: u64) -> String {
// Translators: {size} is a size such as "1.2 GiB"; {n} counts the files
// and folders inside a folder.
ngettext_f(
"{size} · {n} item",
"{size} · {n} items",
items,
&[("size", &human_bytes(size))],
)
}
/// "3 versions · latest 2 Sep 2026".
pub(crate) fn versions_summary(items: &[RevisionInfo]) -> String {
let latest = items.iter().map(|r| r.created).max();
@@ -547,6 +584,12 @@ pub(crate) fn selected_entry(ui: &Rc<Ui>) -> Option<DirEntry> {
mod tests {
use super::*;
#[test]
fn folder_size_summary_reads_size_and_item_count() {
assert_eq!(folder_size_summary(0, 0), "0 bytes · 0 items");
assert_eq!(folder_size_summary(2048, 1), "2.0 KiB · 1 item");
}
#[test]
fn sharing_summary_names_people_and_link() {
assert_eq!(sharing_summary(0, false), "Only you");
+233 -19
View File
@@ -51,6 +51,48 @@ pub(crate) fn link_expiry_at(idx: u32, now: i64) -> Option<i64> {
.map(|days| now + days * 86_400)
}
/// The labels of the Expires dropdown on an existing link. When the link has
/// an expiry, the first entry is that expiry, so the dropdown shows what is
/// set and choosing it again changes nothing.
pub(crate) fn link_expiry_choices(current: Option<i64>, now: i64) -> Vec<String> {
let current = current.map(|at| capitalize(&link_expiry_label(at, now)));
current
.into_iter()
.chain(LINK_EXPIRY.iter().map(|(name, _)| gettext(name)))
.collect()
}
/// What choosing entry `idx` of [`link_expiry_choices`] does to the expiry.
pub(crate) fn link_expiry_change(idx: u32, current: Option<i64>, now: i64) -> LinkChange<i64> {
let idx = match (current, idx) {
(Some(_), 0) => return LinkChange::Keep,
(Some(_), idx) => idx - 1,
(None, idx) => idx,
};
match link_expiry_at(idx, now) {
Some(at) => LinkChange::Set(at),
None if current.is_some() => LinkChange::Remove,
None => LinkChange::Keep,
}
}
/// A row with a title and a dropdown of `labels` as its suffix.
fn dropdown_row(title: &str, labels: &[String], selected: u32) -> (adw::ActionRow, gtk4::DropDown) {
let drop = gtk4::DropDown::builder()
.model(&string_list(labels))
.selected(selected)
.valign(gtk4::Align::Center)
.build();
let row = adw::ActionRow::builder().title(title).build();
row.add_suffix(&drop);
(row, drop)
}
/// The roles a public link can grant, in dropdown order.
fn link_roles() -> [String; 2] {
[pgettext("role", "Viewer"), pgettext("role", "Editor")]
}
/// A loose shape check for an email address: one `@` with something before
/// it and a dotted domain after it. The server does the real validation; this
/// only catches typos before the Invite button is pressed.
@@ -237,6 +279,31 @@ impl ShareTarget {
}
}
fn update_link(
&self,
id: String,
role: Option<String>,
password: LinkChange<String>,
expires: LinkChange<i64>,
) -> Request {
match self {
ShareTarget::Path(path) => Request::UpdatePublicLink {
path: path.clone(),
id,
role,
password,
expires,
},
ShareTarget::Uid(uid) => Request::UpdatePublicLinkByUid {
uid: uid.clone(),
id,
role,
password,
expires,
},
}
}
fn remove_link(&self, id: String) -> Request {
match self {
ShareTarget::Path(path) => Request::RemovePublicLink {
@@ -585,8 +652,8 @@ pub(crate) fn repaint_share_people(state: &Rc<ShareDialog>, entries: &[ShareEntr
*state.people_rows.borrow_mut() = rows;
}
/// Rebuild the public-link section: an existing link (copy / remove) or a
/// create control.
/// Rebuild the public-link section: an existing link (copy / remove, and its
/// settings) or a create control.
pub(crate) fn repaint_share_link(state: &Rc<ShareDialog>, link: Option<&PublicLinkInfo>) {
for row in state.link_rows.borrow_mut().drain(..) {
state.link_group.remove(&row);
@@ -670,30 +737,19 @@ pub(crate) fn repaint_share_link(state: &Rc<ShareDialog>, link: Option<&PublicLi
state.link_group.add(&row);
rows.push(row.upcast());
let settings = link_settings_row(state, link);
state.link_group.add(&settings);
rows.push(settings.upcast());
}
None => {
let role_model = string_list(&[pgettext("role", "Viewer"), pgettext("role", "Editor")]);
let role_drop = gtk4::DropDown::builder()
.model(&role_model)
.selected(0)
.valign(gtk4::Align::Center)
.build();
let role_row = adw::ActionRow::builder()
.title(gettext("Link role"))
.build();
role_row.add_suffix(&role_drop);
let (role_row, role_drop) = dropdown_row(&gettext("Link role"), &link_roles(), 0);
let pw_row = adw::PasswordEntryRow::builder()
.title(gettext("Password (optional)"))
.build();
let expiry_names: Vec<String> =
LINK_EXPIRY.iter().map(|(name, _)| gettext(name)).collect();
let expiry_drop = gtk4::DropDown::builder()
.model(&string_list(&expiry_names))
.selected(0)
.valign(gtk4::Align::Center)
.build();
let expiry_row = adw::ActionRow::builder().title(gettext("Expires")).build();
expiry_row.add_suffix(&expiry_drop);
let (expiry_row, expiry_drop) = dropdown_row(&gettext("Expires"), &expiry_names, 0);
let create = group_button(&gettext("Create Public Link"));
// Enter in the password field creates the link.
@@ -734,6 +790,142 @@ pub(crate) fn repaint_share_link(state: &Rc<ShareDialog>, link: Option<&PublicLi
*state.link_rows.borrow_mut() = rows;
}
/// The settings of an existing link, collapsed under one row. Each control
/// applies at once, the way a member's role does. While a change is on its way
/// the whole row is insensitive: the daemon fills in what a change keeps from
/// the link as it stands, so two changes in flight could undo each other.
fn link_settings_row(state: &Rc<ShareDialog>, link: &PublicLinkInfo) -> adw::ExpanderRow {
let now = glib::real_time() / 1_000_000;
let expander = adw::ExpanderRow::builder()
.title(gettext("Link settings"))
.subtitle(gettext(
"Change who can edit, the password or the expiry. The link stays the same.",
))
.build();
let selected_role = u32::from(link.role == "editor");
let (role_row, role_drop) = dropdown_row(&gettext("Link role"), &link_roles(), selected_role);
let (state_w, expander_w, id) = (Rc::downgrade(state), expander.clone(), link.id.clone());
role_drop.connect_selected_notify(move |d| {
let Some(state) = state_w.upgrade() else {
return;
};
let role = if d.selected() == 1 {
"editor"
} else {
"viewer"
};
let request = state.target.update_link(
id.clone(),
Some(role.into()),
LinkChange::Keep,
LinkChange::Keep,
);
share_dialog_update_link(&state, request, &expander_w);
});
expander.add_row(&role_row);
let current = link.expires;
let (expiry_row, expiry_drop) =
dropdown_row(&gettext("Expires"), &link_expiry_choices(current, now), 0);
let (state_w, expander_w, id) = (Rc::downgrade(state), expander.clone(), link.id.clone());
expiry_drop.connect_selected_notify(move |d| {
let Some(state) = state_w.upgrade() else {
return;
};
let expires = link_expiry_change(d.selected(), current, glib::real_time() / 1_000_000);
if expires == LinkChange::Keep {
return;
}
let request = state
.target
.update_link(id.clone(), None, LinkChange::Keep, expires);
share_dialog_update_link(&state, request, &expander_w);
});
expander.add_row(&expiry_row);
let pw_row = adw::PasswordEntryRow::builder()
.title(if link.has_password {
gettext("New password")
} else {
gettext("Add a password")
})
.show_apply_button(true)
.build();
let (state_w, expander_w, id) = (Rc::downgrade(state), expander.clone(), link.id.clone());
pw_row.connect_apply(move |row| {
let Some(state) = state_w.upgrade() else {
return;
};
let password = row.text().to_string();
if password.is_empty() {
return;
}
let request = state.target.update_link(
id.clone(),
None,
LinkChange::Set(password),
LinkChange::Keep,
);
share_dialog_update_link(&state, request, &expander_w);
});
expander.add_row(&pw_row);
if link.has_password {
let remove = gtk4::Button::builder()
.label(gettext("Remove"))
.valign(gtk4::Align::Center)
.build();
remove.add_css_class("flat");
let row = adw::ActionRow::builder()
.title(gettext("Remove the password"))
.subtitle(gettext(
"Anyone with the link can open it without a password.",
))
.build();
row.add_suffix(&remove);
let (state_w, expander_w, id) = (Rc::downgrade(state), expander.clone(), link.id.clone());
remove.connect_clicked(move |_| {
let Some(state) = state_w.upgrade() else {
return;
};
let request =
state
.target
.update_link(id.clone(), None, LinkChange::Remove, LinkChange::Keep);
share_dialog_update_link(&state, request, &expander_w);
});
expander.add_row(&row);
}
expander
}
/// Send a link change, then reload the dialog: on success to show the link as
/// it now is, on failure to put the controls back to what the link still is.
fn share_dialog_update_link(
state: &Rc<ShareDialog>,
request: Request,
settings: &adw::ExpanderRow,
) {
settings.set_sensitive(false);
let rx = spawn_request(state.ui.dirs.control_socket(), request);
let state = state.clone();
glib::spawn_future_local(async move {
match rx.recv().await {
Ok(Ok(Response::PublicLink { .. })) => toast(&state.ui, &gettext("Link updated")),
Ok(Ok(Response::Error { message, .. })) => {
toast_error(&state.ui, &gettext("Couldn't change the link"), &message)
}
_ => toast_error(
&state.ui,
&gettext("Couldn't change the link"),
&gettext("The Proton Drive service didn't respond."),
),
}
share_dialog_reload(&state);
});
}
/// Create a public link, then reload the dialog so the copy/remove controls
/// replace the create form (and the freshly minted URL is shown).
pub(crate) fn share_dialog_create_link(
@@ -863,6 +1055,28 @@ mod tests {
assert_eq!(link_expiry_at(99, 0), None);
}
#[test]
fn choosing_an_expiry_keeps_removes_or_sets_it() {
let now = 1_000;
// No expiry yet: the choices are just Never and the lifetimes.
assert_eq!(link_expiry_choices(None, now).len(), LINK_EXPIRY.len());
assert_eq!(link_expiry_change(0, None, now), LinkChange::Keep);
assert_eq!(
link_expiry_change(2, None, now),
LinkChange::Set(now + 7 * 86_400)
);
// An expiry set: it comes first, then Never and the lifetimes.
let at = Some(2_000_000_000);
assert_eq!(link_expiry_choices(at, now).len(), LINK_EXPIRY.len() + 1);
assert_eq!(link_expiry_change(0, at, now), LinkChange::Keep);
assert_eq!(link_expiry_change(1, at, now), LinkChange::Remove);
assert_eq!(
link_expiry_change(2, at, now),
LinkChange::Set(now + 86_400)
);
}
#[test]
fn past_expiry_reads_expired() {
assert_eq!(link_expiry_label(10, 20), "expired");
+7
View File
@@ -25,6 +25,13 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
`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.
- **Change a public link without getting a new one.** In **Share…**, open **Link settings** under
the link to switch between Viewer and Editor, set, change or remove the password, and change or
remove the expiry. The address stays the same, so people who already have the link keep it.
From a terminal: `pdfs public-link update PATH ID [--role] [--password | --no-password]
[--expires EPOCH | --no-expiry]`. `pdfs members` now also shows when a link expires.
- **Folder sizes.** **Details** shows how much a folder holds and how many items are in it, as
Proton Drive counts it, including items in the trash. From a terminal: `pdfs du PATH`.
### Changed
- **Reorganised documentation, now also on the
+3 -1
View File
@@ -59,6 +59,7 @@ browser, complete it, then press Enter.
| `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 du PATH` | Show how much a folder holds on Proton Drive and how many items are in it. The size includes items in the trash. |
| `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. |
@@ -134,10 +135,11 @@ commands are for scripts and for cases where the mount is not available.
| Command | Description |
|---|---|
| `pdfs share PATH EMAILS... [--role viewer\|editor\|admin] [--message TEXT]` | Invite people to a file or folder. |
| `pdfs members PATH` | List members, pending invitations and the public link. |
| `pdfs members PATH` | List members, pending invitations and the public link, with the link's id and expiry. |
| `pdfs share-role PATH ID KIND ROLE` | Change a member's or invitation's role. |
| `pdfs unshare PATH [ID KIND]` | Stop sharing, or remove one member or invitation. |
| `pdfs public-link create PATH [--role] [--password] [--expires EPOCH]` | Create a public link. `--expires` takes Unix seconds. |
| `pdfs public-link update PATH ID [--role] [--password TEXT \| --no-password] [--expires EPOCH \| --no-expiry]` | Change a public link's role, password or expiry. The URL stays the same, and an option you leave out is kept. |
| `pdfs public-link remove PATH ID` | Remove a public link. |
| `pdfs shared` | List what you share. |
| `pdfs shared-with-me [UID]` | List what others share with you, or the contents of one shared folder. |
+2 -1
View File
@@ -59,7 +59,8 @@ folder off instead.
The **My files** page shows the same files without going through the folder. It has a grid and
a list view, sorting, thumbnails (including camera RAW previews), multi-select, and drag and drop
to upload. **Details** (Alt+Enter) shows the size, dates, sharing and version history of the
selected item.
selected item. For a folder, the size and the number of items in it come from Proton Drive and
include items in the trash; `pdfs du PATH` prints the same.
Right-click an item for more. **Make a Copy** copies it into the same folder, and **Copy To…**
copies it, or a whole selection, into another folder in My files. The copy is made on Proton
+6
View File
@@ -33,6 +33,12 @@ In **Share…**, create a public link. Anyone with the link can open the item. Y
link with a password and let it expire on a date. From a terminal, use `pdfs public-link create`
and `pdfs public-link remove`.
To change a link later, open **Link settings** under it. You can switch it between Viewer and
Editor, set, change or remove its password, and change or remove its expiry. The address stays
the same, so everyone who has the link keeps it. From a terminal, use `pdfs public-link update`;
`pdfs members` shows the link's id. A link made long ago by an older Proton app may not be
changeable; remove it and create a new one instead.
## See what you share
**Shared by me** lists everything you share. Filter it by links, by people, or by expired links.
+130 -72
View File
@@ -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-25 21:32+0100\n"
"POT-Creation-Date: 2026-10-25 22:10+0100\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: German\n"
@@ -515,7 +515,7 @@ msgstr "Ansichtsoptionen"
#: crates/pdfs-gui/src/app/pages/shared.rs:424
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:349
#: crates/pdfs-gui/src/app/pages/trash.rs:284
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:145
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:187
msgid "Loading…"
msgstr "Wird geladen …"
@@ -1300,9 +1300,10 @@ msgstr "Alben konnten nicht geladen werden"
#: crates/pdfs-gui/src/app/pages/status.rs:1642
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:618
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:765
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:803
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:516
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:922
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:957
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:995
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:170
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:381
msgid "The Proton Drive service didn't respond."
@@ -1315,7 +1316,7 @@ msgstr "Der Proton-Drive-Dienst hat nicht geantwortet."
#: crates/pdfs-gui/src/app/pages/shared.rs:536
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:476
#: crates/pdfs-gui/src/app/widgets/details.rs:157
#: crates/pdfs-gui/src/app/widgets/details.rs:406
#: crates/pdfs-gui/src/app/widgets/details.rs:413
#: crates/pdfs-gui/src/hud/preview.rs:277
msgctxt "verb"
msgid "Open"
@@ -1507,6 +1508,7 @@ msgstr "Name"
#: crates/pdfs-gui/src/app/pages/shared.rs:273
#: crates/pdfs-gui/src/app/pages/trash.rs:153
#: crates/pdfs-gui/src/app/widgets/details.rs:88
#: crates/pdfs-gui/src/app/widgets/details.rs:380
#: crates/pdfs-gui/src/hud/preview.rs:143
msgctxt "column"
msgid "Size"
@@ -1616,7 +1618,7 @@ msgstr "Verschieben in den Papierkorb fehlgeschlagen"
#: crates/pdfs-gui/src/app/pages/browser.rs:2376
#: crates/pdfs-gui/src/app/pages/browser.rs:2432
#: crates/pdfs-gui/src/app/pages/browser.rs:2620
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:274
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:341
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:91
msgid "Proton Drive isn't connected."
msgstr "Proton Drive ist nicht verbunden."
@@ -1799,7 +1801,7 @@ msgstr "Für „Öffnen mit“ muss der Proton-Drive-Dienst laufen."
#: crates/pdfs-gui/src/app/pages/shared.rs:888
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:215
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:494
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:633
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:700
msgid "Link copied"
msgstr "Link kopiert"
@@ -2505,7 +2507,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:567
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr "Entfernen"
@@ -4306,14 +4309,14 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:646
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:6
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Viewer"
msgstr "Betrachter"
#: crates/pdfs-gui/src/app/pages/shared.rs:647
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:7
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Editor"
msgstr "Bearbeiter"
@@ -4474,7 +4477,7 @@ msgid "Link removed"
msgstr "Link entfernt"
#: crates/pdfs-gui/src/app/pages/shared.rs:1039
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:662
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:729
msgid "Couldn't remove the link"
msgstr "Der Link konnte nicht entfernt werden"
@@ -4538,7 +4541,7 @@ msgid "People"
msgstr "Personen"
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:198
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:624
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:691
msgid "Copy link"
msgstr "Link kopieren"
@@ -5630,7 +5633,7 @@ msgid "Info"
msgstr "Info"
#: crates/pdfs-gui/src/app/widgets/details.rs:115
#: crates/pdfs-gui/src/app/widgets/details.rs:399
#: crates/pdfs-gui/src/app/widgets/details.rs:406
msgid "Keep a copy on this computer, even without a connection."
msgstr "Eine Kopie auf diesem Computer behalten, auch ohne Verbindung."
@@ -5668,17 +5671,25 @@ msgstr "Ordner"
msgid "File"
msgstr "Datei"
#: crates/pdfs-gui/src/app/widgets/details.rs:385
#: crates/pdfs-gui/src/app/widgets/details.rs:374
msgid "Size on Proton Drive"
msgstr "Größe auf Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:377
msgid "Counted by Proton Drive, including items in the trash."
msgstr "Von Proton Drive gezählt, einschließlich der Objekte im Papierkorb."
#: crates/pdfs-gui/src/app/widgets/details.rs:392
msgid "Proton Drive"
msgstr "Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:393
#: crates/pdfs-gui/src/app/widgets/details.rs:400
msgid "Kept on this computer because a folder it is in is available offline."
msgstr ""
"Auf diesem Computer behalten, weil ein übergeordneter Ordner offline "
"verfügbar ist."
#: crates/pdfs-gui/src/app/widgets/details.rs:396
#: crates/pdfs-gui/src/app/widgets/details.rs:403
msgid ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
@@ -5686,57 +5697,68 @@ msgstr ""
"Eine Kopie von allem in diesem Ordner auf diesem Computer behalten, auch "
"ohne Verbindung."
#: crates/pdfs-gui/src/app/widgets/details.rs:404
#: crates/pdfs-gui/src/app/widgets/details.rs:411
#: crates/pdfs-gui/src/hud/preview.rs:275
msgid "Open folder"
msgstr "Ordner öffnen"
#: crates/pdfs-gui/src/app/widgets/details.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:442
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:465
#: crates/pdfs-gui/src/app/widgets/details.rs:455
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:509
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:515
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:532
msgid "Couldn't load sharing"
msgstr "Freigaben konnten nicht geladen werden"
#: crates/pdfs-gui/src/app/widgets/details.rs:470
#: crates/pdfs-gui/src/app/widgets/details.rs:475
msgid "Couldn't load the size"
msgstr "Die Größe konnte nicht geladen werden"
#: crates/pdfs-gui/src/app/widgets/details.rs:495
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:165
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:169
msgid "Couldn't load versions"
msgstr "Versionen konnten nicht geladen werden"
#: crates/pdfs-gui/src/app/widgets/details.rs:490
#: crates/pdfs-gui/src/app/widgets/details.rs:515
msgid "Only you"
msgstr "Nur ich"
#: crates/pdfs-gui/src/app/widgets/details.rs:491
#: crates/pdfs-gui/src/app/widgets/details.rs:516
msgid "Anyone with the link"
msgstr "Alle mit dem Link"
#: crates/pdfs-gui/src/app/widgets/details.rs:492
#: crates/pdfs-gui/src/app/widgets/details.rs:517
#, rust-format
msgid "Shared with {n} person"
msgid_plural "Shared with {n} people"
msgstr[0] "Mit {n} Person geteilt"
msgstr[1] "Mit {n} Personen geteilt"
#: crates/pdfs-gui/src/app/widgets/details.rs:494
#: crates/pdfs-gui/src/app/widgets/details.rs:519
#, rust-format
msgid "Shared with {n} person · Public link"
msgid_plural "Shared with {n} people · Public link"
msgstr[0] "Mit {n} Person geteilt · Öffentlicher Link"
msgstr[1] "Mit {n} Personen geteilt · Öffentlicher Link"
#: crates/pdfs-gui/src/app/widgets/details.rs:506
#: crates/pdfs-gui/src/app/widgets/details.rs:532
#, rust-format
msgid "{size} · {n} item"
msgid_plural "{size} · {n} items"
msgstr[0] "{size} · {n} Element"
msgstr[1] "{size} · {n} Elemente"
#: crates/pdfs-gui/src/app/widgets/details.rs:543
msgid "No earlier versions"
msgstr "Keine früheren Versionen"
#. Translators: {date} is the date of the only version.
#: crates/pdfs-gui/src/app/widgets/details.rs:508
#: crates/pdfs-gui/src/app/widgets/details.rs:545
#, rust-format
msgid "1 version · {date}"
msgstr "1 Version · {date}"
#: crates/pdfs-gui/src/app/widgets/details.rs:511
#: crates/pdfs-gui/src/app/widgets/details.rs:548
#, rust-format
msgid "{n} version · latest {date}"
msgid_plural "{n} versions · latest {date}"
@@ -5760,123 +5782,123 @@ msgstr "7 Tage"
msgid "30 days"
msgstr "30 Tage"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:273
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:340
msgid "Can't share"
msgstr "Teilen nicht möglich"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:289
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:343
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:356
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:410
msgctxt "verb"
msgid "Share"
msgstr "Teilen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:296
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:363
msgid "Invite people"
msgstr "Personen einladen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:298
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:365
msgid "Proton and non-Proton email addresses, separated by spaces or commas."
msgstr ""
"Proton- und andere E-Mail-Adressen, durch Leerzeichen oder Kommas getrennt."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:302
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
msgid "Email addresses"
msgstr "E-Mail-Adressen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:311
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:378
msgid "Role"
msgstr "Rolle"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:314
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:381
msgid "Message (optional)"
msgstr "Nachricht (optional)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:316
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:383
msgid "Send Invitations"
msgstr "Einladungen senden"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:323
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:390
msgid "People with access"
msgstr "Personen mit Zugriff"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:326
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:393
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:679
msgid "Public link"
msgstr "Öffentlicher Link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:436
#, rust-format
msgid "“{text}” isn't an email address"
msgstr "„{text}“ ist keine E-Mail-Adresse"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:408
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:475
msgid "Invitations sent"
msgstr "Einladungen gesendet"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:409
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:476
msgid "Couldn't send invitations"
msgstr "Einladungen konnten nicht gesendet werden"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:477
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:544
msgid "No one else has access yet."
msgstr "Noch hat niemand sonst Zugriff."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:488
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:555
msgid "Invitation pending"
msgstr "Einladung ausstehend"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:489
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:556
msgid "Invitation pending, no Proton account yet"
msgstr "Einladung ausstehend, noch kein Proton-Konto"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:527
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:594
msgid "Role updated"
msgstr "Rolle aktualisiert"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:528
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:595
msgid "Couldn't update the role"
msgstr "Die Rolle konnte nicht aktualisiert werden"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:545
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
msgid "Remove access"
msgstr "Zugriff entfernen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:561
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:628
msgid "Remove Access?"
msgstr "Zugriff entfernen?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:564
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:631
#, rust-format
msgid "{email} will no longer be able to open this item."
msgstr "{email} kann dieses Element nicht mehr öffnen."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:572
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:639
msgid "Access removed"
msgstr "Zugriff entfernt"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:573
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
msgid "Couldn't remove access"
msgstr "Zugriff konnte nicht entfernt werden"
#. Translators: {role} is the link's role, such as "Viewer".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:601
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:668
#, rust-format
msgid "Anyone with the link ({role})"
msgstr "Alle mit dem Link ({role})"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:604
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:671
msgid "password-protected"
msgstr "passwortgeschützt"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:707
msgid "Remove link"
msgstr "Link entfernen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:654
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:721
msgid "Remove Public Link?"
msgstr "Öffentlichen Link entfernen?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:655
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:722
msgid ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
@@ -5884,51 +5906,87 @@ msgstr ""
"Der Link funktioniert für niemanden mehr, der ihn hat. Ein neuer Link erhält "
"eine andere Adresse."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:656
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:723
msgid "Remove Link"
msgstr "Link entfernen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:661
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:728
msgid "Public link removed"
msgstr "Öffentlicher Link entfernt"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:682
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:746
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:807
msgid "Link role"
msgstr "Rolle des Links"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:686
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:748
msgid "Password (optional)"
msgstr "Passwort (optional)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:695
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:752
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:830
msgid "Expires"
msgstr "Läuft ab"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:697
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:753
msgid "Create Public Link"
msgstr "Öffentlichen Link erstellen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:756
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:800
msgid "Link settings"
msgstr "Link-Einstellungen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
msgid ""
"Change who can edit, the password or the expiry. The link stays the same."
msgstr "Ändern, wer bearbeiten darf, das Passwort oder den Ablauf. Der Link bleibt derselbe."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
msgid "New password"
msgstr "Neues Passwort"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:851
msgid "Add a password"
msgstr "Passwort hinzufügen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:881
msgid "Remove the password"
msgstr "Passwort entfernen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:883
msgid "Anyone with the link can open it without a password."
msgstr "Jeder mit dem Link kann ihn ohne Passwort öffnen."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:915
msgid "Link updated"
msgstr "Link aktualisiert"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:917
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:921
msgid "Couldn't change the link"
msgstr "Der Link konnte nicht geändert werden"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:948
msgid "Public link created"
msgstr "Öffentlicher Link erstellt"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:760
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:764
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:952
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:956
msgid "Couldn't create the link"
msgstr "Der Link konnte nicht erstellt werden"
#. Translators: a public link past its expiry date.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:816
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1008
msgid "expired"
msgstr "abgelaufen"
#. Translators: strftime format for a link's expiry date; "%x" is the locale's date, such as "09/23/26".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:819
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1011
msgid "%x"
msgstr "%x"
#. Translators: {date} is the date a public link stops working.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:826
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1018
#, rust-format
msgid "expires {date}"
msgstr "läuft ab am {date}"
+130 -72
View File
@@ -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-25 21:32+0100\n"
"POT-Creation-Date: 2026-10-25 22:10+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"
@@ -509,7 +509,7 @@ msgstr "View Options"
#: crates/pdfs-gui/src/app/pages/shared.rs:424
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:349
#: crates/pdfs-gui/src/app/pages/trash.rs:284
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:145
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:187
msgid "Loading…"
msgstr "Loading…"
@@ -1288,9 +1288,10 @@ msgstr "Couldn't load albums"
#: crates/pdfs-gui/src/app/pages/status.rs:1642
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:618
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:765
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:803
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:516
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:922
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:957
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:995
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:170
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:381
msgid "The Proton Drive service didn't respond."
@@ -1303,7 +1304,7 @@ msgstr "The Proton Drive service didn't respond."
#: crates/pdfs-gui/src/app/pages/shared.rs:536
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:476
#: crates/pdfs-gui/src/app/widgets/details.rs:157
#: crates/pdfs-gui/src/app/widgets/details.rs:406
#: crates/pdfs-gui/src/app/widgets/details.rs:413
#: crates/pdfs-gui/src/hud/preview.rs:277
msgctxt "verb"
msgid "Open"
@@ -1495,6 +1496,7 @@ msgstr "Name"
#: crates/pdfs-gui/src/app/pages/shared.rs:273
#: crates/pdfs-gui/src/app/pages/trash.rs:153
#: crates/pdfs-gui/src/app/widgets/details.rs:88
#: crates/pdfs-gui/src/app/widgets/details.rs:380
#: crates/pdfs-gui/src/hud/preview.rs:143
msgctxt "column"
msgid "Size"
@@ -1604,7 +1606,7 @@ msgstr "Couldn't move to Trash"
#: crates/pdfs-gui/src/app/pages/browser.rs:2376
#: crates/pdfs-gui/src/app/pages/browser.rs:2432
#: crates/pdfs-gui/src/app/pages/browser.rs:2620
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:274
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:341
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:91
msgid "Proton Drive isn't connected."
msgstr "Proton Drive isn't connected."
@@ -1783,7 +1785,7 @@ msgstr "Open With needs the Proton Drive service to be running."
#: crates/pdfs-gui/src/app/pages/shared.rs:888
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:215
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:494
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:633
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:700
msgid "Link copied"
msgstr "Link copied"
@@ -2476,7 +2478,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:567
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr "Remove"
@@ -4231,14 +4234,14 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:646
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:6
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Viewer"
msgstr "Viewer"
#: crates/pdfs-gui/src/app/pages/shared.rs:647
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:7
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Editor"
msgstr "Editor"
@@ -4395,7 +4398,7 @@ msgid "Link removed"
msgstr "Link removed"
#: crates/pdfs-gui/src/app/pages/shared.rs:1039
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:662
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:729
msgid "Couldn't remove the link"
msgstr "Couldn't remove the link"
@@ -4458,7 +4461,7 @@ msgid "People"
msgstr "People"
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:198
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:624
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:691
msgid "Copy link"
msgstr "Copy link"
@@ -5516,7 +5519,7 @@ msgid "Info"
msgstr "Info"
#: crates/pdfs-gui/src/app/widgets/details.rs:115
#: crates/pdfs-gui/src/app/widgets/details.rs:399
#: crates/pdfs-gui/src/app/widgets/details.rs:406
msgid "Keep a copy on this computer, even without a connection."
msgstr "Keep a copy on this computer, even without a connection."
@@ -5554,15 +5557,23 @@ msgstr "Folder"
msgid "File"
msgstr "File"
#: crates/pdfs-gui/src/app/widgets/details.rs:385
#: crates/pdfs-gui/src/app/widgets/details.rs:374
msgid "Size on Proton Drive"
msgstr "Size on Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:377
msgid "Counted by Proton Drive, including items in the trash."
msgstr "Counted by Proton Drive, including items in the trash."
#: crates/pdfs-gui/src/app/widgets/details.rs:392
msgid "Proton Drive"
msgstr "Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:393
#: crates/pdfs-gui/src/app/widgets/details.rs:400
msgid "Kept on this computer because a folder it is in is available offline."
msgstr "Kept on this computer because a folder it is in is available offline."
#: crates/pdfs-gui/src/app/widgets/details.rs:396
#: crates/pdfs-gui/src/app/widgets/details.rs:403
msgid ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
@@ -5570,57 +5581,68 @@ msgstr ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
#: crates/pdfs-gui/src/app/widgets/details.rs:404
#: crates/pdfs-gui/src/app/widgets/details.rs:411
#: crates/pdfs-gui/src/hud/preview.rs:275
msgid "Open folder"
msgstr "Open folder"
#: crates/pdfs-gui/src/app/widgets/details.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:442
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:465
#: crates/pdfs-gui/src/app/widgets/details.rs:455
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:509
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:515
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:532
msgid "Couldn't load sharing"
msgstr "Couldn't load sharing"
#: crates/pdfs-gui/src/app/widgets/details.rs:470
#: crates/pdfs-gui/src/app/widgets/details.rs:475
msgid "Couldn't load the size"
msgstr "Couldn't load the size"
#: crates/pdfs-gui/src/app/widgets/details.rs:495
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:165
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:169
msgid "Couldn't load versions"
msgstr "Couldn't load versions"
#: crates/pdfs-gui/src/app/widgets/details.rs:490
#: crates/pdfs-gui/src/app/widgets/details.rs:515
msgid "Only you"
msgstr "Only you"
#: crates/pdfs-gui/src/app/widgets/details.rs:491
#: crates/pdfs-gui/src/app/widgets/details.rs:516
msgid "Anyone with the link"
msgstr "Anyone with the link"
#: crates/pdfs-gui/src/app/widgets/details.rs:492
#: crates/pdfs-gui/src/app/widgets/details.rs:517
#, rust-format
msgid "Shared with {n} person"
msgid_plural "Shared with {n} people"
msgstr[0] "Shared with {n} person"
msgstr[1] "Shared with {n} people"
#: crates/pdfs-gui/src/app/widgets/details.rs:494
#: crates/pdfs-gui/src/app/widgets/details.rs:519
#, rust-format
msgid "Shared with {n} person · Public link"
msgid_plural "Shared with {n} people · Public link"
msgstr[0] "Shared with {n} person · Public link"
msgstr[1] "Shared with {n} people · Public link"
#: crates/pdfs-gui/src/app/widgets/details.rs:506
#: crates/pdfs-gui/src/app/widgets/details.rs:532
#, rust-format
msgid "{size} · {n} item"
msgid_plural "{size} · {n} items"
msgstr[0] "{size} · {n} item"
msgstr[1] "{size} · {n} items"
#: crates/pdfs-gui/src/app/widgets/details.rs:543
msgid "No earlier versions"
msgstr "No earlier versions"
#. Translators: {date} is the date of the only version.
#: crates/pdfs-gui/src/app/widgets/details.rs:508
#: crates/pdfs-gui/src/app/widgets/details.rs:545
#, rust-format
msgid "1 version · {date}"
msgstr "1 version · {date}"
#: crates/pdfs-gui/src/app/widgets/details.rs:511
#: crates/pdfs-gui/src/app/widgets/details.rs:548
#, rust-format
msgid "{n} version · latest {date}"
msgid_plural "{n} versions · latest {date}"
@@ -5644,122 +5666,122 @@ msgstr "7 days"
msgid "30 days"
msgstr "30 days"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:273
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:340
msgid "Can't share"
msgstr "Can't share"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:289
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:343
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:356
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:410
msgctxt "verb"
msgid "Share"
msgstr "Share"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:296
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:363
msgid "Invite people"
msgstr "Invite people"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:298
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:365
msgid "Proton and non-Proton email addresses, separated by spaces or commas."
msgstr "Proton and non-Proton email addresses, separated by spaces or commas."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:302
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
msgid "Email addresses"
msgstr "Email addresses"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:311
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:378
msgid "Role"
msgstr "Role"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:314
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:381
msgid "Message (optional)"
msgstr "Message (optional)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:316
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:383
msgid "Send Invitations"
msgstr "Send Invitations"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:323
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:390
msgid "People with access"
msgstr "People with access"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:326
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:393
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:679
msgid "Public link"
msgstr "Public link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:436
#, rust-format
msgid "“{text}” isn't an email address"
msgstr "“{text}” isn't an email address"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:408
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:475
msgid "Invitations sent"
msgstr "Invitations sent"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:409
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:476
msgid "Couldn't send invitations"
msgstr "Couldn't send invitations"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:477
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:544
msgid "No one else has access yet."
msgstr "No one else has access yet."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:488
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:555
msgid "Invitation pending"
msgstr "Invitation pending"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:489
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:556
msgid "Invitation pending, no Proton account yet"
msgstr "Invitation pending, no Proton account yet"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:527
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:594
msgid "Role updated"
msgstr "Role updated"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:528
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:595
msgid "Couldn't update the role"
msgstr "Couldn't update the role"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:545
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
msgid "Remove access"
msgstr "Remove access"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:561
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:628
msgid "Remove Access?"
msgstr "Remove Access?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:564
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:631
#, rust-format
msgid "{email} will no longer be able to open this item."
msgstr "{email} will no longer be able to open this item."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:572
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:639
msgid "Access removed"
msgstr "Access removed"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:573
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
msgid "Couldn't remove access"
msgstr "Couldn't remove access"
#. Translators: {role} is the link's role, such as "Viewer".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:601
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:668
#, rust-format
msgid "Anyone with the link ({role})"
msgstr "Anyone with the link ({role})"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:604
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:671
msgid "password-protected"
msgstr "password-protected"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:707
msgid "Remove link"
msgstr "Remove link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:654
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:721
msgid "Remove Public Link?"
msgstr "Remove Public Link?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:655
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:722
msgid ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
@@ -5767,51 +5789,87 @@ msgstr ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:656
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:723
msgid "Remove Link"
msgstr "Remove Link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:661
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:728
msgid "Public link removed"
msgstr "Public link removed"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:682
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:746
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:807
msgid "Link role"
msgstr "Link role"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:686
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:748
msgid "Password (optional)"
msgstr "Password (optional)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:695
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:752
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:830
msgid "Expires"
msgstr "Expires"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:697
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:753
msgid "Create Public Link"
msgstr "Create Public Link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:756
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:800
msgid "Link settings"
msgstr "Link settings"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
msgid ""
"Change who can edit, the password or the expiry. The link stays the same."
msgstr "Change who can edit, the password or the expiry. The link stays the same."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
msgid "New password"
msgstr "New password"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:851
msgid "Add a password"
msgstr "Add a password"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:881
msgid "Remove the password"
msgstr "Remove the password"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:883
msgid "Anyone with the link can open it without a password."
msgstr "Anyone with the link can open it without a password."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:915
msgid "Link updated"
msgstr "Link updated"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:917
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:921
msgid "Couldn't change the link"
msgstr "Couldn't change the link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:948
msgid "Public link created"
msgstr "Public link created"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:760
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:764
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:952
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:956
msgid "Couldn't create the link"
msgstr "Couldn't create the link"
#. Translators: a public link past its expiry date.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:816
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1008
msgid "expired"
msgstr "expired"
#. Translators: strftime format for a link's expiry date; "%x" is the locale's date, such as "09/23/26".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:819
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1011
msgid "%x"
msgstr "%x"
#. Translators: {date} is the date a public link stops working.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:826
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1018
#, rust-format
msgid "expires {date}"
msgstr "expires {date}"
+130 -72
View File
@@ -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-25 21:32+0100\n"
"POT-Creation-Date: 2026-10-25 22:10+0100\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Spanish\n"
@@ -512,7 +512,7 @@ msgstr "Opciones de vista"
#: crates/pdfs-gui/src/app/pages/shared.rs:424
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:349
#: crates/pdfs-gui/src/app/pages/trash.rs:284
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:145
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:187
msgid "Loading…"
msgstr "Cargando…"
@@ -1294,9 +1294,10 @@ msgstr "No se pudieron cargar los álbumes"
#: crates/pdfs-gui/src/app/pages/status.rs:1642
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:618
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:765
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:803
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:516
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:922
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:957
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:995
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:170
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:381
msgid "The Proton Drive service didn't respond."
@@ -1309,7 +1310,7 @@ msgstr "El servicio de Proton Drive no respondió."
#: crates/pdfs-gui/src/app/pages/shared.rs:536
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:476
#: crates/pdfs-gui/src/app/widgets/details.rs:157
#: crates/pdfs-gui/src/app/widgets/details.rs:406
#: crates/pdfs-gui/src/app/widgets/details.rs:413
#: crates/pdfs-gui/src/hud/preview.rs:277
msgctxt "verb"
msgid "Open"
@@ -1501,6 +1502,7 @@ msgstr "Nombre"
#: crates/pdfs-gui/src/app/pages/shared.rs:273
#: crates/pdfs-gui/src/app/pages/trash.rs:153
#: crates/pdfs-gui/src/app/widgets/details.rs:88
#: crates/pdfs-gui/src/app/widgets/details.rs:380
#: crates/pdfs-gui/src/hud/preview.rs:143
msgctxt "column"
msgid "Size"
@@ -1610,7 +1612,7 @@ msgstr "No se pudo mover a la papelera"
#: crates/pdfs-gui/src/app/pages/browser.rs:2376
#: crates/pdfs-gui/src/app/pages/browser.rs:2432
#: crates/pdfs-gui/src/app/pages/browser.rs:2620
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:274
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:341
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:91
msgid "Proton Drive isn't connected."
msgstr "Proton Drive no está conectado."
@@ -1791,7 +1793,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:888
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:215
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:494
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:633
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:700
msgid "Link copied"
msgstr "Enlace copiado"
@@ -2490,7 +2492,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:567
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr "Quitar"
@@ -4278,14 +4281,14 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:646
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:6
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Viewer"
msgstr "Lector"
#: crates/pdfs-gui/src/app/pages/shared.rs:647
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:7
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Editor"
msgstr "Editor"
@@ -4444,7 +4447,7 @@ msgid "Link removed"
msgstr "Enlace quitado"
#: crates/pdfs-gui/src/app/pages/shared.rs:1039
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:662
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:729
msgid "Couldn't remove the link"
msgstr "No se pudo quitar el enlace"
@@ -4507,7 +4510,7 @@ msgid "People"
msgstr "Personas"
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:198
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:624
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:691
msgid "Copy link"
msgstr "Copiar enlace"
@@ -5585,7 +5588,7 @@ msgid "Info"
msgstr "Información"
#: crates/pdfs-gui/src/app/widgets/details.rs:115
#: crates/pdfs-gui/src/app/widgets/details.rs:399
#: crates/pdfs-gui/src/app/widgets/details.rs:406
msgid "Keep a copy on this computer, even without a connection."
msgstr "Conservar una copia en este equipo, incluso sin conexión."
@@ -5623,17 +5626,25 @@ msgstr "Carpeta"
msgid "File"
msgstr "Archivo"
#: crates/pdfs-gui/src/app/widgets/details.rs:385
#: crates/pdfs-gui/src/app/widgets/details.rs:374
msgid "Size on Proton Drive"
msgstr "Tamaño en Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:377
msgid "Counted by Proton Drive, including items in the trash."
msgstr "Calculado por Proton Drive, incluidos los elementos de la papelera."
#: crates/pdfs-gui/src/app/widgets/details.rs:392
msgid "Proton Drive"
msgstr "Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:393
#: crates/pdfs-gui/src/app/widgets/details.rs:400
msgid "Kept on this computer because a folder it is in is available offline."
msgstr ""
"Se conserva en este equipo porque una carpeta que lo contiene está "
"disponible sin conexión."
#: crates/pdfs-gui/src/app/widgets/details.rs:396
#: crates/pdfs-gui/src/app/widgets/details.rs:403
msgid ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
@@ -5641,57 +5652,68 @@ msgstr ""
"Conservar una copia de todo el contenido de esta carpeta en este equipo, "
"incluso sin conexión."
#: crates/pdfs-gui/src/app/widgets/details.rs:404
#: crates/pdfs-gui/src/app/widgets/details.rs:411
#: crates/pdfs-gui/src/hud/preview.rs:275
msgid "Open folder"
msgstr "Abrir carpeta"
#: crates/pdfs-gui/src/app/widgets/details.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:442
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:465
#: crates/pdfs-gui/src/app/widgets/details.rs:455
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:509
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:515
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:532
msgid "Couldn't load sharing"
msgstr "No se pudo cargar la compartición"
#: crates/pdfs-gui/src/app/widgets/details.rs:470
#: crates/pdfs-gui/src/app/widgets/details.rs:475
msgid "Couldn't load the size"
msgstr "No se pudo cargar el tamaño"
#: crates/pdfs-gui/src/app/widgets/details.rs:495
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:165
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:169
msgid "Couldn't load versions"
msgstr "No se pudieron cargar las versiones"
#: crates/pdfs-gui/src/app/widgets/details.rs:490
#: crates/pdfs-gui/src/app/widgets/details.rs:515
msgid "Only you"
msgstr "Solo usted"
#: crates/pdfs-gui/src/app/widgets/details.rs:491
#: crates/pdfs-gui/src/app/widgets/details.rs:516
msgid "Anyone with the link"
msgstr "Cualquiera con el enlace"
#: crates/pdfs-gui/src/app/widgets/details.rs:492
#: crates/pdfs-gui/src/app/widgets/details.rs:517
#, rust-format
msgid "Shared with {n} person"
msgid_plural "Shared with {n} people"
msgstr[0] "Compartido con {n} persona"
msgstr[1] "Compartido con {n} personas"
#: crates/pdfs-gui/src/app/widgets/details.rs:494
#: crates/pdfs-gui/src/app/widgets/details.rs:519
#, rust-format
msgid "Shared with {n} person · Public link"
msgid_plural "Shared with {n} people · Public link"
msgstr[0] "Compartido con {n} persona · Enlace público"
msgstr[1] "Compartido con {n} personas · Enlace público"
#: crates/pdfs-gui/src/app/widgets/details.rs:506
#: crates/pdfs-gui/src/app/widgets/details.rs:532
#, rust-format
msgid "{size} · {n} item"
msgid_plural "{size} · {n} items"
msgstr[0] "{size} · {n} elemento"
msgstr[1] "{size} · {n} elementos"
#: crates/pdfs-gui/src/app/widgets/details.rs:543
msgid "No earlier versions"
msgstr "No hay versiones anteriores"
#. Translators: {date} is the date of the only version.
#: crates/pdfs-gui/src/app/widgets/details.rs:508
#: crates/pdfs-gui/src/app/widgets/details.rs:545
#, rust-format
msgid "1 version · {date}"
msgstr "1 versión · {date}"
#: crates/pdfs-gui/src/app/widgets/details.rs:511
#: crates/pdfs-gui/src/app/widgets/details.rs:548
#, rust-format
msgid "{n} version · latest {date}"
msgid_plural "{n} versions · latest {date}"
@@ -5715,124 +5737,124 @@ msgstr "7 días"
msgid "30 days"
msgstr "30 días"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:273
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:340
msgid "Can't share"
msgstr "No se puede compartir"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:289
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:343
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:356
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:410
msgctxt "verb"
msgid "Share"
msgstr "Compartir"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:296
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:363
msgid "Invite people"
msgstr "Invitar a personas"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:298
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:365
msgid "Proton and non-Proton email addresses, separated by spaces or commas."
msgstr ""
"Direcciones de correo electrónico de Proton y de otros proveedores, "
"separadas por espacios o comas."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:302
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
msgid "Email addresses"
msgstr "Direcciones de correo electrónico"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:311
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:378
msgid "Role"
msgstr "Rol"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:314
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:381
msgid "Message (optional)"
msgstr "Mensaje (opcional)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:316
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:383
msgid "Send Invitations"
msgstr "Enviar invitaciones"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:323
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:390
msgid "People with access"
msgstr "Personas con acceso"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:326
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:393
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:679
msgid "Public link"
msgstr "Enlace público"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:436
#, rust-format
msgid "“{text}” isn't an email address"
msgstr "“{text}” no es una dirección de correo electrónico"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:408
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:475
msgid "Invitations sent"
msgstr "Invitaciones enviadas"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:409
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:476
msgid "Couldn't send invitations"
msgstr "No se pudieron enviar las invitaciones"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:477
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:544
msgid "No one else has access yet."
msgstr "Nadie más tiene acceso todavía."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:488
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:555
msgid "Invitation pending"
msgstr "Invitación pendiente"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:489
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:556
msgid "Invitation pending, no Proton account yet"
msgstr "Invitación pendiente, aún sin cuenta de Proton"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:527
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:594
msgid "Role updated"
msgstr "Rol actualizado"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:528
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:595
msgid "Couldn't update the role"
msgstr "No se pudo actualizar el rol"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:545
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
msgid "Remove access"
msgstr "Quitar el acceso"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:561
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:628
msgid "Remove Access?"
msgstr "¿Quitar el acceso?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:564
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:631
#, rust-format
msgid "{email} will no longer be able to open this item."
msgstr "{email} ya no podrá abrir este elemento."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:572
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:639
msgid "Access removed"
msgstr "Acceso quitado"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:573
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
msgid "Couldn't remove access"
msgstr "No se pudo quitar el acceso"
#. Translators: {role} is the link's role, such as "Viewer".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:601
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:668
#, rust-format
msgid "Anyone with the link ({role})"
msgstr "Cualquiera con el enlace ({role})"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:604
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:671
msgid "password-protected"
msgstr "protegido con contraseña"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:707
msgid "Remove link"
msgstr "Quitar el enlace"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:654
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:721
msgid "Remove Public Link?"
msgstr "¿Quitar el enlace público?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:655
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:722
msgid ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
@@ -5840,51 +5862,87 @@ msgstr ""
"El enlace deja de funcionar para todas las personas que lo tienen. Un enlace "
"nuevo tendrá una dirección distinta."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:656
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:723
msgid "Remove Link"
msgstr "Quitar enlace"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:661
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:728
msgid "Public link removed"
msgstr "Enlace público quitado"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:682
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:746
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:807
msgid "Link role"
msgstr "Rol del enlace"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:686
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:748
msgid "Password (optional)"
msgstr "Contraseña (opcional)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:695
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:752
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:830
msgid "Expires"
msgstr "Caduca"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:697
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:753
msgid "Create Public Link"
msgstr "Crear enlace público"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:756
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:800
msgid "Link settings"
msgstr "Ajustes del enlace"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
msgid ""
"Change who can edit, the password or the expiry. The link stays the same."
msgstr "Cambie quién puede editar, la contraseña o la caducidad. El enlace no cambia."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
msgid "New password"
msgstr "Nueva contraseña"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:851
msgid "Add a password"
msgstr "Añadir una contraseña"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:881
msgid "Remove the password"
msgstr "Quitar la contraseña"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:883
msgid "Anyone with the link can open it without a password."
msgstr "Cualquiera con el enlace puede abrirlo sin contraseña."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:915
msgid "Link updated"
msgstr "Enlace actualizado"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:917
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:921
msgid "Couldn't change the link"
msgstr "No se pudo cambiar el enlace"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:948
msgid "Public link created"
msgstr "Enlace público creado"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:760
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:764
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:952
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:956
msgid "Couldn't create the link"
msgstr "No se pudo crear el enlace"
#. Translators: a public link past its expiry date.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:816
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1008
msgid "expired"
msgstr "caducado"
#. Translators: strftime format for a link's expiry date; "%x" is the locale's date, such as "09/23/26".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:819
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1011
msgid "%x"
msgstr "%x"
#. Translators: {date} is the date a public link stops working.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:826
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1018
#, rust-format
msgid "expires {date}"
msgstr "caduca el {date}"
+130 -72
View File
@@ -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-25 21:32+0100\n"
"POT-Creation-Date: 2026-10-25 22:10+0100\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: French\n"
@@ -515,7 +515,7 @@ msgstr "Options d’affichage"
#: crates/pdfs-gui/src/app/pages/shared.rs:424
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:349
#: crates/pdfs-gui/src/app/pages/trash.rs:284
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:145
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:187
msgid "Loading…"
msgstr "Chargement…"
@@ -1305,9 +1305,10 @@ msgstr "Impossible de charger les albums"
#: crates/pdfs-gui/src/app/pages/status.rs:1642
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:618
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:765
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:803
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:516
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:922
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:957
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:995
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:170
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:381
msgid "The Proton Drive service didn't respond."
@@ -1320,7 +1321,7 @@ msgstr "Le service Proton Drive n’a pas répondu."
#: crates/pdfs-gui/src/app/pages/shared.rs:536
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:476
#: crates/pdfs-gui/src/app/widgets/details.rs:157
#: crates/pdfs-gui/src/app/widgets/details.rs:406
#: crates/pdfs-gui/src/app/widgets/details.rs:413
#: crates/pdfs-gui/src/hud/preview.rs:277
msgctxt "verb"
msgid "Open"
@@ -1512,6 +1513,7 @@ msgstr "Nom"
#: crates/pdfs-gui/src/app/pages/shared.rs:273
#: crates/pdfs-gui/src/app/pages/trash.rs:153
#: crates/pdfs-gui/src/app/widgets/details.rs:88
#: crates/pdfs-gui/src/app/widgets/details.rs:380
#: crates/pdfs-gui/src/hud/preview.rs:143
msgctxt "column"
msgid "Size"
@@ -1621,7 +1623,7 @@ msgstr "Impossible de mettre à la corbeille"
#: crates/pdfs-gui/src/app/pages/browser.rs:2376
#: crates/pdfs-gui/src/app/pages/browser.rs:2432
#: crates/pdfs-gui/src/app/pages/browser.rs:2620
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:274
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:341
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:91
msgid "Proton Drive isn't connected."
msgstr "Proton Drive n’est pas connecté."
@@ -1804,7 +1806,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:888
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:215
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:494
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:633
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:700
msgid "Link copied"
msgstr "Lien copié"
@@ -2504,7 +2506,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:567
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr "Retirer"
@@ -4311,14 +4314,14 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:646
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:6
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Viewer"
msgstr "Lecteur"
#: crates/pdfs-gui/src/app/pages/shared.rs:647
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:7
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Editor"
msgstr "Éditeur"
@@ -4479,7 +4482,7 @@ msgid "Link removed"
msgstr "Lien retiré"
#: crates/pdfs-gui/src/app/pages/shared.rs:1039
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:662
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:729
msgid "Couldn't remove the link"
msgstr "Impossible de supprimer le lien"
@@ -4542,7 +4545,7 @@ msgid "People"
msgstr "Personnes"
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:198
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:624
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:691
msgid "Copy link"
msgstr "Copier le lien"
@@ -5631,7 +5634,7 @@ msgid "Info"
msgstr "Informations"
#: crates/pdfs-gui/src/app/widgets/details.rs:115
#: crates/pdfs-gui/src/app/widgets/details.rs:399
#: crates/pdfs-gui/src/app/widgets/details.rs:406
msgid "Keep a copy on this computer, even without a connection."
msgstr "Conserver une copie sur cet ordinateur, même sans connexion."
@@ -5669,17 +5672,25 @@ msgstr "Dossier"
msgid "File"
msgstr "Fichier"
#: crates/pdfs-gui/src/app/widgets/details.rs:385
#: crates/pdfs-gui/src/app/widgets/details.rs:374
msgid "Size on Proton Drive"
msgstr "Taille sur Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:377
msgid "Counted by Proton Drive, including items in the trash."
msgstr "Calculée par Proton Drive, éléments de la corbeille compris."
#: crates/pdfs-gui/src/app/widgets/details.rs:392
msgid "Proton Drive"
msgstr "Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:393
#: crates/pdfs-gui/src/app/widgets/details.rs:400
msgid "Kept on this computer because a folder it is in is available offline."
msgstr ""
"Conservé sur cet ordinateur, car un dossier qui le contient est disponible "
"hors ligne."
#: crates/pdfs-gui/src/app/widgets/details.rs:396
#: crates/pdfs-gui/src/app/widgets/details.rs:403
msgid ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
@@ -5687,57 +5698,68 @@ msgstr ""
"Conserver une copie de tout le contenu de ce dossier sur cet ordinateur, "
"même sans connexion."
#: crates/pdfs-gui/src/app/widgets/details.rs:404
#: crates/pdfs-gui/src/app/widgets/details.rs:411
#: crates/pdfs-gui/src/hud/preview.rs:275
msgid "Open folder"
msgstr "Ouvrir le dossier"
#: crates/pdfs-gui/src/app/widgets/details.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:442
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:465
#: crates/pdfs-gui/src/app/widgets/details.rs:455
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:509
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:515
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:532
msgid "Couldn't load sharing"
msgstr "Impossible de charger le partage"
#: crates/pdfs-gui/src/app/widgets/details.rs:470
#: crates/pdfs-gui/src/app/widgets/details.rs:475
msgid "Couldn't load the size"
msgstr "Impossible de charger la taille"
#: crates/pdfs-gui/src/app/widgets/details.rs:495
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:165
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:169
msgid "Couldn't load versions"
msgstr "Impossible de charger les versions"
#: crates/pdfs-gui/src/app/widgets/details.rs:490
#: crates/pdfs-gui/src/app/widgets/details.rs:515
msgid "Only you"
msgstr "Vous uniquement"
#: crates/pdfs-gui/src/app/widgets/details.rs:491
#: crates/pdfs-gui/src/app/widgets/details.rs:516
msgid "Anyone with the link"
msgstr "Toute personne disposant du lien"
#: crates/pdfs-gui/src/app/widgets/details.rs:492
#: crates/pdfs-gui/src/app/widgets/details.rs:517
#, rust-format
msgid "Shared with {n} person"
msgid_plural "Shared with {n} people"
msgstr[0] "Partagé avec {n} personne"
msgstr[1] "Partagé avec {n} personnes"
#: crates/pdfs-gui/src/app/widgets/details.rs:494
#: crates/pdfs-gui/src/app/widgets/details.rs:519
#, rust-format
msgid "Shared with {n} person · Public link"
msgid_plural "Shared with {n} people · Public link"
msgstr[0] "Partagé avec {n} personne · Lien public"
msgstr[1] "Partagé avec {n} personnes · Lien public"
#: crates/pdfs-gui/src/app/widgets/details.rs:506
#: crates/pdfs-gui/src/app/widgets/details.rs:532
#, rust-format
msgid "{size} · {n} item"
msgid_plural "{size} · {n} items"
msgstr[0] "{size} · {n} élément"
msgstr[1] "{size} · {n} éléments"
#: crates/pdfs-gui/src/app/widgets/details.rs:543
msgid "No earlier versions"
msgstr "Aucune version antérieure"
#. Translators: {date} is the date of the only version.
#: crates/pdfs-gui/src/app/widgets/details.rs:508
#: crates/pdfs-gui/src/app/widgets/details.rs:545
#, rust-format
msgid "1 version · {date}"
msgstr "1 version · {date}"
#: crates/pdfs-gui/src/app/widgets/details.rs:511
#: crates/pdfs-gui/src/app/widgets/details.rs:548
#, rust-format
msgid "{n} version · latest {date}"
msgid_plural "{n} versions · latest {date}"
@@ -5761,124 +5783,124 @@ msgstr "7 jours"
msgid "30 days"
msgstr "30 jours"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:273
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:340
msgid "Can't share"
msgstr "Partage impossible"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:289
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:343
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:356
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:410
msgctxt "verb"
msgid "Share"
msgstr "Partager"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:296
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:363
msgid "Invite people"
msgstr "Inviter des personnes"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:298
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:365
msgid "Proton and non-Proton email addresses, separated by spaces or commas."
msgstr ""
"Adresses électroniques Proton ou non, séparées par des espaces ou des "
"virgules."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:302
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
msgid "Email addresses"
msgstr "Adresses électroniques"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:311
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:378
msgid "Role"
msgstr "Rôle"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:314
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:381
msgid "Message (optional)"
msgstr "Message (facultatif)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:316
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:383
msgid "Send Invitations"
msgstr "Envoyer les invitations"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:323
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:390
msgid "People with access"
msgstr "Personnes ayant accès"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:326
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:393
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:679
msgid "Public link"
msgstr "Lien public"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:436
#, rust-format
msgid "“{text}” isn't an email address"
msgstr "« {text} » n’est pas une adresse électronique"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:408
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:475
msgid "Invitations sent"
msgstr "Invitations envoyées"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:409
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:476
msgid "Couldn't send invitations"
msgstr "Impossible d’envoyer les invitations"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:477
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:544
msgid "No one else has access yet."
msgstr "Personne d’autre n’a encore accès."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:488
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:555
msgid "Invitation pending"
msgstr "Invitation en attente"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:489
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:556
msgid "Invitation pending, no Proton account yet"
msgstr "Invitation en attente, pas encore de compte Proton"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:527
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:594
msgid "Role updated"
msgstr "Rôle mis à jour"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:528
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:595
msgid "Couldn't update the role"
msgstr "Impossible de mettre à jour le rôle"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:545
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
msgid "Remove access"
msgstr "Retirer l’accès"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:561
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:628
msgid "Remove Access?"
msgstr "Retirer l’accès ?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:564
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:631
#, rust-format
msgid "{email} will no longer be able to open this item."
msgstr "{email} ne pourra plus ouvrir cet élément."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:572
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:639
msgid "Access removed"
msgstr "Accès retiré"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:573
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
msgid "Couldn't remove access"
msgstr "Impossible de retirer l’accès"
#. Translators: {role} is the link's role, such as "Viewer".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:601
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:668
#, rust-format
msgid "Anyone with the link ({role})"
msgstr "Toute personne disposant du lien ({role})"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:604
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:671
msgid "password-protected"
msgstr "protégé par mot de passe"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:707
msgid "Remove link"
msgstr "Supprimer le lien"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:654
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:721
msgid "Remove Public Link?"
msgstr "Supprimer le lien public ?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:655
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:722
msgid ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
@@ -5886,51 +5908,87 @@ msgstr ""
"Le lien cesse de fonctionner pour toutes les personnes qui l’ont. Un nouveau "
"lien aura une adresse différente."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:656
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:723
msgid "Remove Link"
msgstr "Supprimer le lien"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:661
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:728
msgid "Public link removed"
msgstr "Lien public supprimé"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:682
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:746
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:807
msgid "Link role"
msgstr "Rôle du lien"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:686
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:748
msgid "Password (optional)"
msgstr "Mot de passe (facultatif)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:695
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:752
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:830
msgid "Expires"
msgstr "Expiration"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:697
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:753
msgid "Create Public Link"
msgstr "Créer un lien public"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:756
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:800
msgid "Link settings"
msgstr "Paramètres du lien"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
msgid ""
"Change who can edit, the password or the expiry. The link stays the same."
msgstr "Modifiez qui peut modifier, le mot de passe ou l’expiration. Le lien reste le même."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
msgid "New password"
msgstr "Nouveau mot de passe"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:851
msgid "Add a password"
msgstr "Ajouter un mot de passe"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:881
msgid "Remove the password"
msgstr "Supprimer le mot de passe"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:883
msgid "Anyone with the link can open it without a password."
msgstr "Toute personne disposant du lien peut l’ouvrir sans mot de passe."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:915
msgid "Link updated"
msgstr "Lien mis à jour"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:917
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:921
msgid "Couldn't change the link"
msgstr "Impossible de modifier le lien"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:948
msgid "Public link created"
msgstr "Lien public créé"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:760
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:764
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:952
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:956
msgid "Couldn't create the link"
msgstr "Impossible de créer le lien"
#. Translators: a public link past its expiry date.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:816
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1008
msgid "expired"
msgstr "expiré"
#. Translators: strftime format for a link's expiry date; "%x" is the locale's date, such as "09/23/26".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:819
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1011
msgid "%x"
msgstr "%x"
#. Translators: {date} is the date a public link stops working.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:826
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1018
#, rust-format
msgid "expires {date}"
msgstr "expire le {date}"
+130 -72
View File
@@ -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-25 21:32+0100\n"
"POT-Creation-Date: 2026-10-25 22:10+0100\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Italian\n"
@@ -511,7 +511,7 @@ msgstr "Opzioni di visualizzazione"
#: crates/pdfs-gui/src/app/pages/shared.rs:424
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:349
#: crates/pdfs-gui/src/app/pages/trash.rs:284
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:145
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:187
msgid "Loading…"
msgstr "Caricamento…"
@@ -1299,9 +1299,10 @@ msgstr "Impossibile caricare gli album"
#: crates/pdfs-gui/src/app/pages/status.rs:1642
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:618
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:765
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:803
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:516
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:922
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:957
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:995
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:170
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:381
msgid "The Proton Drive service didn't respond."
@@ -1314,7 +1315,7 @@ msgstr "Il servizio di Proton Drive non ha risposto."
#: crates/pdfs-gui/src/app/pages/shared.rs:536
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:476
#: crates/pdfs-gui/src/app/widgets/details.rs:157
#: crates/pdfs-gui/src/app/widgets/details.rs:406
#: crates/pdfs-gui/src/app/widgets/details.rs:413
#: crates/pdfs-gui/src/hud/preview.rs:277
msgctxt "verb"
msgid "Open"
@@ -1506,6 +1507,7 @@ msgstr "Nome"
#: crates/pdfs-gui/src/app/pages/shared.rs:273
#: crates/pdfs-gui/src/app/pages/trash.rs:153
#: crates/pdfs-gui/src/app/widgets/details.rs:88
#: crates/pdfs-gui/src/app/widgets/details.rs:380
#: crates/pdfs-gui/src/hud/preview.rs:143
msgctxt "column"
msgid "Size"
@@ -1615,7 +1617,7 @@ msgstr "Impossibile spostare nel cestino"
#: crates/pdfs-gui/src/app/pages/browser.rs:2376
#: crates/pdfs-gui/src/app/pages/browser.rs:2432
#: crates/pdfs-gui/src/app/pages/browser.rs:2620
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:274
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:341
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:91
msgid "Proton Drive isn't connected."
msgstr "Proton Drive non è connesso."
@@ -1796,7 +1798,7 @@ msgstr "«Apri con» richiede che il servizio di Proton Drive sia in esecuzione.
#: crates/pdfs-gui/src/app/pages/shared.rs:888
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:215
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:494
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:633
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:700
msgid "Link copied"
msgstr "Collegamento copiato"
@@ -2502,7 +2504,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:567
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr "Rimuovi"
@@ -4296,14 +4299,14 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:646
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:6
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Viewer"
msgstr "Visualizzatore"
#: crates/pdfs-gui/src/app/pages/shared.rs:647
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:7
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Editor"
msgstr "Editor"
@@ -4463,7 +4466,7 @@ msgid "Link removed"
msgstr "Collegamento rimosso"
#: crates/pdfs-gui/src/app/pages/shared.rs:1039
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:662
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:729
msgid "Couldn't remove the link"
msgstr "Impossibile rimuovere il collegamento"
@@ -4526,7 +4529,7 @@ msgid "People"
msgstr "Persone"
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:198
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:624
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:691
msgid "Copy link"
msgstr "Copia collegamento"
@@ -5610,7 +5613,7 @@ msgid "Info"
msgstr "Informazioni"
#: crates/pdfs-gui/src/app/widgets/details.rs:115
#: crates/pdfs-gui/src/app/widgets/details.rs:399
#: crates/pdfs-gui/src/app/widgets/details.rs:406
msgid "Keep a copy on this computer, even without a connection."
msgstr "Mantieni una copia su questo computer, anche senza connessione."
@@ -5648,17 +5651,25 @@ msgstr "Cartella"
msgid "File"
msgstr "File"
#: crates/pdfs-gui/src/app/widgets/details.rs:385
#: crates/pdfs-gui/src/app/widgets/details.rs:374
msgid "Size on Proton Drive"
msgstr "Dimensione su Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:377
msgid "Counted by Proton Drive, including items in the trash."
msgstr "Calcolata da Proton Drive, compresi gli elementi nel cestino."
#: crates/pdfs-gui/src/app/widgets/details.rs:392
msgid "Proton Drive"
msgstr "Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:393
#: crates/pdfs-gui/src/app/widgets/details.rs:400
msgid "Kept on this computer because a folder it is in is available offline."
msgstr ""
"Mantenuto su questo computer perché una cartella che lo contiene è "
"disponibile offline."
#: crates/pdfs-gui/src/app/widgets/details.rs:396
#: crates/pdfs-gui/src/app/widgets/details.rs:403
msgid ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
@@ -5666,57 +5677,68 @@ msgstr ""
"Mantieni una copia di tutto il contenuto di questa cartella su questo "
"computer, anche senza connessione."
#: crates/pdfs-gui/src/app/widgets/details.rs:404
#: crates/pdfs-gui/src/app/widgets/details.rs:411
#: crates/pdfs-gui/src/hud/preview.rs:275
msgid "Open folder"
msgstr "Apri cartella"
#: crates/pdfs-gui/src/app/widgets/details.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:442
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:465
#: crates/pdfs-gui/src/app/widgets/details.rs:455
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:509
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:515
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:532
msgid "Couldn't load sharing"
msgstr "Impossibile caricare la condivisione"
#: crates/pdfs-gui/src/app/widgets/details.rs:470
#: crates/pdfs-gui/src/app/widgets/details.rs:475
msgid "Couldn't load the size"
msgstr "Impossibile caricare la dimensione"
#: crates/pdfs-gui/src/app/widgets/details.rs:495
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:165
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:169
msgid "Couldn't load versions"
msgstr "Impossibile caricare le versioni"
#: crates/pdfs-gui/src/app/widgets/details.rs:490
#: crates/pdfs-gui/src/app/widgets/details.rs:515
msgid "Only you"
msgstr "Solo tu"
#: crates/pdfs-gui/src/app/widgets/details.rs:491
#: crates/pdfs-gui/src/app/widgets/details.rs:516
msgid "Anyone with the link"
msgstr "Chiunque abbia il collegamento"
#: crates/pdfs-gui/src/app/widgets/details.rs:492
#: crates/pdfs-gui/src/app/widgets/details.rs:517
#, rust-format
msgid "Shared with {n} person"
msgid_plural "Shared with {n} people"
msgstr[0] "Condiviso con {n} persona"
msgstr[1] "Condiviso con {n} persone"
#: crates/pdfs-gui/src/app/widgets/details.rs:494
#: crates/pdfs-gui/src/app/widgets/details.rs:519
#, rust-format
msgid "Shared with {n} person · Public link"
msgid_plural "Shared with {n} people · Public link"
msgstr[0] "Condiviso con {n} persona · Collegamento pubblico"
msgstr[1] "Condiviso con {n} persone · Collegamento pubblico"
#: crates/pdfs-gui/src/app/widgets/details.rs:506
#: crates/pdfs-gui/src/app/widgets/details.rs:532
#, rust-format
msgid "{size} · {n} item"
msgid_plural "{size} · {n} items"
msgstr[0] "{size} · {n} elemento"
msgstr[1] "{size} · {n} elementi"
#: crates/pdfs-gui/src/app/widgets/details.rs:543
msgid "No earlier versions"
msgstr "Nessuna versione precedente"
#. Translators: {date} is the date of the only version.
#: crates/pdfs-gui/src/app/widgets/details.rs:508
#: crates/pdfs-gui/src/app/widgets/details.rs:545
#, rust-format
msgid "1 version · {date}"
msgstr "1 versione · {date}"
#: crates/pdfs-gui/src/app/widgets/details.rs:511
#: crates/pdfs-gui/src/app/widgets/details.rs:548
#, rust-format
msgid "{n} version · latest {date}"
msgid_plural "{n} versions · latest {date}"
@@ -5740,122 +5762,122 @@ msgstr "7 giorni"
msgid "30 days"
msgstr "30 giorni"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:273
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:340
msgid "Can't share"
msgstr "Impossibile condividere"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:289
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:343
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:356
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:410
msgctxt "verb"
msgid "Share"
msgstr "Condividi"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:296
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:363
msgid "Invite people"
msgstr "Invita persone"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:298
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:365
msgid "Proton and non-Proton email addresses, separated by spaces or commas."
msgstr "Indirizzi email Proton e non Proton, separati da spazi o virgole."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:302
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
msgid "Email addresses"
msgstr "Indirizzi email"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:311
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:378
msgid "Role"
msgstr "Ruolo"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:314
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:381
msgid "Message (optional)"
msgstr "Messaggio (facoltativo)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:316
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:383
msgid "Send Invitations"
msgstr "Invia inviti"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:323
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:390
msgid "People with access"
msgstr "Persone con accesso"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:326
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:393
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:679
msgid "Public link"
msgstr "Collegamento pubblico"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:436
#, rust-format
msgid "“{text}” isn't an email address"
msgstr "“{text}” non è un indirizzo email"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:408
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:475
msgid "Invitations sent"
msgstr "Inviti inviati"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:409
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:476
msgid "Couldn't send invitations"
msgstr "Impossibile inviare gli inviti"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:477
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:544
msgid "No one else has access yet."
msgstr "Nessun altro ha ancora accesso."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:488
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:555
msgid "Invitation pending"
msgstr "Invito in sospeso"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:489
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:556
msgid "Invitation pending, no Proton account yet"
msgstr "Invito in sospeso, ancora senza account Proton"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:527
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:594
msgid "Role updated"
msgstr "Ruolo aggiornato"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:528
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:595
msgid "Couldn't update the role"
msgstr "Impossibile aggiornare il ruolo"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:545
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
msgid "Remove access"
msgstr "Rimuovi accesso"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:561
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:628
msgid "Remove Access?"
msgstr "Rimuovere l'accesso?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:564
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:631
#, rust-format
msgid "{email} will no longer be able to open this item."
msgstr "{email} non potrà più aprire questo elemento."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:572
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:639
msgid "Access removed"
msgstr "Accesso rimosso"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:573
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
msgid "Couldn't remove access"
msgstr "Impossibile rimuovere l'accesso"
#. Translators: {role} is the link's role, such as "Viewer".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:601
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:668
#, rust-format
msgid "Anyone with the link ({role})"
msgstr "Chiunque abbia il collegamento ({role})"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:604
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:671
msgid "password-protected"
msgstr "protetto da password"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:707
msgid "Remove link"
msgstr "Rimuovi collegamento"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:654
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:721
msgid "Remove Public Link?"
msgstr "Rimuovere il collegamento pubblico?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:655
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:722
msgid ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
@@ -5863,51 +5885,87 @@ msgstr ""
"Il collegamento smette di funzionare per chiunque lo abbia. Un nuovo "
"collegamento avrà un indirizzo diverso."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:656
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:723
msgid "Remove Link"
msgstr "Rimuovi collegamento"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:661
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:728
msgid "Public link removed"
msgstr "Collegamento pubblico rimosso"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:682
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:746
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:807
msgid "Link role"
msgstr "Ruolo del collegamento"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:686
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:748
msgid "Password (optional)"
msgstr "Password (facoltativa)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:695
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:752
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:830
msgid "Expires"
msgstr "Scadenza"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:697
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:753
msgid "Create Public Link"
msgstr "Crea collegamento pubblico"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:756
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:800
msgid "Link settings"
msgstr "Impostazioni del collegamento"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
msgid ""
"Change who can edit, the password or the expiry. The link stays the same."
msgstr "Cambia chi può modificare, la password o la scadenza. Il collegamento resta lo stesso."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
msgid "New password"
msgstr "Nuova password"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:851
msgid "Add a password"
msgstr "Aggiungi una password"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:881
msgid "Remove the password"
msgstr "Rimuovi la password"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:883
msgid "Anyone with the link can open it without a password."
msgstr "Chiunque abbia il collegamento può aprirlo senza password."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:915
msgid "Link updated"
msgstr "Collegamento aggiornato"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:917
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:921
msgid "Couldn't change the link"
msgstr "Impossibile modificare il collegamento"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:948
msgid "Public link created"
msgstr "Collegamento pubblico creato"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:760
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:764
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:952
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:956
msgid "Couldn't create the link"
msgstr "Impossibile creare il collegamento"
#. Translators: a public link past its expiry date.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:816
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1008
msgid "expired"
msgstr "scaduto"
#. Translators: strftime format for a link's expiry date; "%x" is the locale's date, such as "09/23/26".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:819
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1011
msgid "%x"
msgstr "%x"
#. Translators: {date} is the date a public link stops working.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:826
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1018
#, rust-format
msgid "expires {date}"
msgstr "scade il {date}"
+130 -72
View File
@@ -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-25 21:32+0100\n"
"POT-Creation-Date: 2026-10-25 22:10+0100\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Dutch\n"
@@ -512,7 +512,7 @@ msgstr "Weergaveopties"
#: crates/pdfs-gui/src/app/pages/shared.rs:424
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:349
#: crates/pdfs-gui/src/app/pages/trash.rs:284
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:145
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:187
msgid "Loading…"
msgstr "Laden…"
@@ -1295,9 +1295,10 @@ msgstr "Kon albums niet laden"
#: crates/pdfs-gui/src/app/pages/status.rs:1642
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:618
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:765
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:803
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:516
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:922
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:957
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:995
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:170
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:381
msgid "The Proton Drive service didn't respond."
@@ -1310,7 +1311,7 @@ msgstr "De Proton Drive-service reageerde niet."
#: crates/pdfs-gui/src/app/pages/shared.rs:536
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:476
#: crates/pdfs-gui/src/app/widgets/details.rs:157
#: crates/pdfs-gui/src/app/widgets/details.rs:406
#: crates/pdfs-gui/src/app/widgets/details.rs:413
#: crates/pdfs-gui/src/hud/preview.rs:277
msgctxt "verb"
msgid "Open"
@@ -1502,6 +1503,7 @@ msgstr "Naam"
#: crates/pdfs-gui/src/app/pages/shared.rs:273
#: crates/pdfs-gui/src/app/pages/trash.rs:153
#: crates/pdfs-gui/src/app/widgets/details.rs:88
#: crates/pdfs-gui/src/app/widgets/details.rs:380
#: crates/pdfs-gui/src/hud/preview.rs:143
msgctxt "column"
msgid "Size"
@@ -1611,7 +1613,7 @@ msgstr "Kon niet naar prullenbak verplaatsen"
#: crates/pdfs-gui/src/app/pages/browser.rs:2376
#: crates/pdfs-gui/src/app/pages/browser.rs:2432
#: crates/pdfs-gui/src/app/pages/browser.rs:2620
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:274
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:341
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:91
msgid "Proton Drive isn't connected."
msgstr "Proton Drive is niet verbonden."
@@ -1792,7 +1794,7 @@ msgstr "Voor ‘Openen met’ moet de Proton Drive-service draaien."
#: crates/pdfs-gui/src/app/pages/shared.rs:888
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:215
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:494
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:633
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:700
msgid "Link copied"
msgstr "Link gekopieerd"
@@ -2494,7 +2496,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:567
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr "Verwijderen"
@@ -4287,14 +4290,14 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:646
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:6
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Viewer"
msgstr "Lezer"
#: crates/pdfs-gui/src/app/pages/shared.rs:647
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:7
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Editor"
msgstr "Bewerker"
@@ -4456,7 +4459,7 @@ msgid "Link removed"
msgstr "Link verwijderd"
#: crates/pdfs-gui/src/app/pages/shared.rs:1039
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:662
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:729
msgid "Couldn't remove the link"
msgstr "Kon de link niet verwijderen"
@@ -4519,7 +4522,7 @@ msgid "People"
msgstr "Personen"
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:198
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:624
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:691
msgid "Copy link"
msgstr "Link kopiëren"
@@ -5597,7 +5600,7 @@ msgid "Info"
msgstr "Info"
#: crates/pdfs-gui/src/app/widgets/details.rs:115
#: crates/pdfs-gui/src/app/widgets/details.rs:399
#: crates/pdfs-gui/src/app/widgets/details.rs:406
msgid "Keep a copy on this computer, even without a connection."
msgstr "Een kopie op deze computer bewaren, ook zonder verbinding."
@@ -5635,17 +5638,25 @@ msgstr "Map"
msgid "File"
msgstr "Bestand"
#: crates/pdfs-gui/src/app/widgets/details.rs:385
#: crates/pdfs-gui/src/app/widgets/details.rs:374
msgid "Size on Proton Drive"
msgstr "Grootte op Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:377
msgid "Counted by Proton Drive, including items in the trash."
msgstr "Geteld door Proton Drive, inclusief items in de prullenbak."
#: crates/pdfs-gui/src/app/widgets/details.rs:392
msgid "Proton Drive"
msgstr "Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:393
#: crates/pdfs-gui/src/app/widgets/details.rs:400
msgid "Kept on this computer because a folder it is in is available offline."
msgstr ""
"Op deze computer bewaard omdat een map waarin het staat offline beschikbaar "
"is."
#: crates/pdfs-gui/src/app/widgets/details.rs:396
#: crates/pdfs-gui/src/app/widgets/details.rs:403
msgid ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
@@ -5653,57 +5664,68 @@ msgstr ""
"Een kopie van alles in deze map op deze computer bewaren, ook zonder "
"verbinding."
#: crates/pdfs-gui/src/app/widgets/details.rs:404
#: crates/pdfs-gui/src/app/widgets/details.rs:411
#: crates/pdfs-gui/src/hud/preview.rs:275
msgid "Open folder"
msgstr "Map openen"
#: crates/pdfs-gui/src/app/widgets/details.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:442
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:465
#: crates/pdfs-gui/src/app/widgets/details.rs:455
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:509
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:515
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:532
msgid "Couldn't load sharing"
msgstr "Kon delen niet laden"
#: crates/pdfs-gui/src/app/widgets/details.rs:470
#: crates/pdfs-gui/src/app/widgets/details.rs:475
msgid "Couldn't load the size"
msgstr "Kon de grootte niet laden"
#: crates/pdfs-gui/src/app/widgets/details.rs:495
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:165
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:169
msgid "Couldn't load versions"
msgstr "Kon versies niet laden"
#: crates/pdfs-gui/src/app/widgets/details.rs:490
#: crates/pdfs-gui/src/app/widgets/details.rs:515
msgid "Only you"
msgstr "Alleen jij"
#: crates/pdfs-gui/src/app/widgets/details.rs:491
#: crates/pdfs-gui/src/app/widgets/details.rs:516
msgid "Anyone with the link"
msgstr "Iedereen met de link"
#: crates/pdfs-gui/src/app/widgets/details.rs:492
#: crates/pdfs-gui/src/app/widgets/details.rs:517
#, rust-format
msgid "Shared with {n} person"
msgid_plural "Shared with {n} people"
msgstr[0] "Gedeeld met {n} persoon"
msgstr[1] "Gedeeld met {n} personen"
#: crates/pdfs-gui/src/app/widgets/details.rs:494
#: crates/pdfs-gui/src/app/widgets/details.rs:519
#, rust-format
msgid "Shared with {n} person · Public link"
msgid_plural "Shared with {n} people · Public link"
msgstr[0] "Gedeeld met {n} persoon · Openbare link"
msgstr[1] "Gedeeld met {n} personen · Openbare link"
#: crates/pdfs-gui/src/app/widgets/details.rs:506
#: crates/pdfs-gui/src/app/widgets/details.rs:532
#, rust-format
msgid "{size} · {n} item"
msgid_plural "{size} · {n} items"
msgstr[0] "{size} · {n} item"
msgstr[1] "{size} · {n} items"
#: crates/pdfs-gui/src/app/widgets/details.rs:543
msgid "No earlier versions"
msgstr "Geen eerdere versies"
#. Translators: {date} is the date of the only version.
#: crates/pdfs-gui/src/app/widgets/details.rs:508
#: crates/pdfs-gui/src/app/widgets/details.rs:545
#, rust-format
msgid "1 version · {date}"
msgstr "1 versie · {date}"
#: crates/pdfs-gui/src/app/widgets/details.rs:511
#: crates/pdfs-gui/src/app/widgets/details.rs:548
#, rust-format
msgid "{n} version · latest {date}"
msgid_plural "{n} versions · latest {date}"
@@ -5727,123 +5749,123 @@ msgstr "7 dagen"
msgid "30 days"
msgstr "30 dagen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:273
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:340
msgid "Can't share"
msgstr "Kan niet delen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:289
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:343
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:356
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:410
msgctxt "verb"
msgid "Share"
msgstr "Delen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:296
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:363
msgid "Invite people"
msgstr "Personen uitnodigen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:298
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:365
msgid "Proton and non-Proton email addresses, separated by spaces or commas."
msgstr ""
"E-mailadressen van Proton en daarbuiten, gescheiden door spaties of komma's."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:302
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
msgid "Email addresses"
msgstr "E-mailadressen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:311
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:378
msgid "Role"
msgstr "Rol"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:314
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:381
msgid "Message (optional)"
msgstr "Bericht (optioneel)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:316
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:383
msgid "Send Invitations"
msgstr "Uitnodigingen versturen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:323
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:390
msgid "People with access"
msgstr "Personen met toegang"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:326
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:393
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:679
msgid "Public link"
msgstr "Openbare link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:436
#, rust-format
msgid "“{text}” isn't an email address"
msgstr "“{text}” is geen e-mailadres"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:408
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:475
msgid "Invitations sent"
msgstr "Uitnodigingen verstuurd"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:409
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:476
msgid "Couldn't send invitations"
msgstr "Kon uitnodigingen niet versturen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:477
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:544
msgid "No one else has access yet."
msgstr "Nog niemand anders heeft toegang."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:488
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:555
msgid "Invitation pending"
msgstr "Uitnodiging openstaand"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:489
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:556
msgid "Invitation pending, no Proton account yet"
msgstr "Uitnodiging openstaand, nog geen Proton-account"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:527
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:594
msgid "Role updated"
msgstr "Rol bijgewerkt"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:528
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:595
msgid "Couldn't update the role"
msgstr "Kon de rol niet bijwerken"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:545
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
msgid "Remove access"
msgstr "Toegang intrekken"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:561
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:628
msgid "Remove Access?"
msgstr "Toegang intrekken?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:564
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:631
#, rust-format
msgid "{email} will no longer be able to open this item."
msgstr "{email} kan dit item niet meer openen."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:572
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:639
msgid "Access removed"
msgstr "Toegang ingetrokken"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:573
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
msgid "Couldn't remove access"
msgstr "Kon toegang niet intrekken"
#. Translators: {role} is the link's role, such as "Viewer".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:601
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:668
#, rust-format
msgid "Anyone with the link ({role})"
msgstr "Iedereen met de link ({role})"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:604
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:671
msgid "password-protected"
msgstr "met wachtwoord beveiligd"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:707
msgid "Remove link"
msgstr "Link verwijderen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:654
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:721
msgid "Remove Public Link?"
msgstr "Openbare link verwijderen?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:655
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:722
msgid ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
@@ -5851,51 +5873,87 @@ msgstr ""
"De link werkt niet meer voor iedereen die hem heeft. Een nieuwe link krijgt "
"een ander adres."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:656
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:723
msgid "Remove Link"
msgstr "Link verwijderen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:661
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:728
msgid "Public link removed"
msgstr "Openbare link verwijderd"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:682
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:746
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:807
msgid "Link role"
msgstr "Rol van link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:686
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:748
msgid "Password (optional)"
msgstr "Wachtwoord (optioneel)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:695
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:752
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:830
msgid "Expires"
msgstr "Verloopt"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:697
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:753
msgid "Create Public Link"
msgstr "Openbare link aanmaken"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:756
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:800
msgid "Link settings"
msgstr "Linkinstellingen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
msgid ""
"Change who can edit, the password or the expiry. The link stays the same."
msgstr "Wijzig wie mag bewerken, het wachtwoord of de vervaldatum. De link blijft hetzelfde."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
msgid "New password"
msgstr "Nieuw wachtwoord"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:851
msgid "Add a password"
msgstr "Wachtwoord toevoegen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:881
msgid "Remove the password"
msgstr "Wachtwoord verwijderen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:883
msgid "Anyone with the link can open it without a password."
msgstr "Iedereen met de link kan hem zonder wachtwoord openen."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:915
msgid "Link updated"
msgstr "Link bijgewerkt"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:917
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:921
msgid "Couldn't change the link"
msgstr "Kon de link niet wijzigen"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:948
msgid "Public link created"
msgstr "Openbare link aangemaakt"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:760
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:764
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:952
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:956
msgid "Couldn't create the link"
msgstr "Kon de link niet aanmaken"
#. Translators: a public link past its expiry date.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:816
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1008
msgid "expired"
msgstr "verlopen"
#. Translators: strftime format for a link's expiry date; "%x" is the locale's date, such as "09/23/26".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:819
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1011
msgid "%x"
msgstr "%x"
#. Translators: {date} is the date a public link stops working.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:826
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1018
#, rust-format
msgid "expires {date}"
msgstr "verloopt {date}"
+130 -72
View File
@@ -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-25 21:32+0100\n"
"POT-Creation-Date: 2026-10-25 22:10+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -484,7 +484,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:424
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:349
#: crates/pdfs-gui/src/app/pages/trash.rs:284
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:145
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:187
msgid "Loading…"
msgstr ""
@@ -1253,9 +1253,10 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1642
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:618
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:765
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:803
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:516
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:922
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:957
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:995
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:170
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:381
msgid "The Proton Drive service didn't respond."
@@ -1268,7 +1269,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:536
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:476
#: crates/pdfs-gui/src/app/widgets/details.rs:157
#: crates/pdfs-gui/src/app/widgets/details.rs:406
#: crates/pdfs-gui/src/app/widgets/details.rs:413
#: crates/pdfs-gui/src/hud/preview.rs:277
msgctxt "verb"
msgid "Open"
@@ -1460,6 +1461,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:273
#: crates/pdfs-gui/src/app/pages/trash.rs:153
#: crates/pdfs-gui/src/app/widgets/details.rs:88
#: crates/pdfs-gui/src/app/widgets/details.rs:380
#: crates/pdfs-gui/src/hud/preview.rs:143
msgctxt "column"
msgid "Size"
@@ -1569,7 +1571,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/browser.rs:2376
#: crates/pdfs-gui/src/app/pages/browser.rs:2432
#: crates/pdfs-gui/src/app/pages/browser.rs:2620
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:274
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:341
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:91
msgid "Proton Drive isn't connected."
msgstr ""
@@ -1748,7 +1750,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:888
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:215
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:494
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:633
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:700
msgid "Link copied"
msgstr ""
@@ -2422,7 +2424,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:567
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr ""
@@ -4099,14 +4102,14 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:646
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:6
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Viewer"
msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:647
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:7
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Editor"
msgstr ""
@@ -4259,7 +4262,7 @@ msgid "Link removed"
msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:1039
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:662
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:729
msgid "Couldn't remove the link"
msgstr ""
@@ -4322,7 +4325,7 @@ msgid "People"
msgstr ""
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:198
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:624
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:691
msgid "Copy link"
msgstr ""
@@ -5351,7 +5354,7 @@ msgid "Info"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:115
#: crates/pdfs-gui/src/app/widgets/details.rs:399
#: crates/pdfs-gui/src/app/widgets/details.rs:406
msgid "Keep a copy on this computer, even without a connection."
msgstr ""
@@ -5389,71 +5392,90 @@ msgstr ""
msgid "File"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:385
#: crates/pdfs-gui/src/app/widgets/details.rs:374
msgid "Size on Proton Drive"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:377
msgid "Counted by Proton Drive, including items in the trash."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:392
msgid "Proton Drive"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:393
#: crates/pdfs-gui/src/app/widgets/details.rs:400
msgid "Kept on this computer because a folder it is in is available offline."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:396
#: crates/pdfs-gui/src/app/widgets/details.rs:403
msgid ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:404
#: crates/pdfs-gui/src/app/widgets/details.rs:411
#: crates/pdfs-gui/src/hud/preview.rs:275
msgid "Open folder"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:442
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:465
#: crates/pdfs-gui/src/app/widgets/details.rs:455
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:509
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:515
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:532
msgid "Couldn't load sharing"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:470
#: crates/pdfs-gui/src/app/widgets/details.rs:475
msgid "Couldn't load the size"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:495
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:165
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:169
msgid "Couldn't load versions"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:490
#: crates/pdfs-gui/src/app/widgets/details.rs:515
msgid "Only you"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:491
#: crates/pdfs-gui/src/app/widgets/details.rs:516
msgid "Anyone with the link"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:492
#: crates/pdfs-gui/src/app/widgets/details.rs:517
#, rust-format
msgid "Shared with {n} person"
msgid_plural "Shared with {n} people"
msgstr[0] ""
msgstr[1] ""
#: crates/pdfs-gui/src/app/widgets/details.rs:494
#: crates/pdfs-gui/src/app/widgets/details.rs:519
#, rust-format
msgid "Shared with {n} person · Public link"
msgid_plural "Shared with {n} people · Public link"
msgstr[0] ""
msgstr[1] ""
#: crates/pdfs-gui/src/app/widgets/details.rs:506
#: crates/pdfs-gui/src/app/widgets/details.rs:532
#, rust-format
msgid "{size} · {n} item"
msgid_plural "{size} · {n} items"
msgstr[0] ""
msgstr[1] ""
#: crates/pdfs-gui/src/app/widgets/details.rs:543
msgid "No earlier versions"
msgstr ""
#. Translators: {date} is the date of the only version.
#: crates/pdfs-gui/src/app/widgets/details.rs:508
#: crates/pdfs-gui/src/app/widgets/details.rs:545
#, rust-format
msgid "1 version · {date}"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/details.rs:511
#: crates/pdfs-gui/src/app/widgets/details.rs:548
#, rust-format
msgid "{n} version · latest {date}"
msgid_plural "{n} versions · latest {date}"
@@ -5477,172 +5499,208 @@ msgstr ""
msgid "30 days"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:273
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:340
msgid "Can't share"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:289
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:343
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:356
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:410
msgctxt "verb"
msgid "Share"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:296
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:363
msgid "Invite people"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:298
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:365
msgid "Proton and non-Proton email addresses, separated by spaces or commas."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:302
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
msgid "Email addresses"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:311
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:378
msgid "Role"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:314
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:381
msgid "Message (optional)"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:316
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:383
msgid "Send Invitations"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:323
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:390
msgid "People with access"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:326
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:393
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:679
msgid "Public link"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:436
#, rust-format
msgid "“{text}” isn't an email address"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:408
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:475
msgid "Invitations sent"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:409
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:476
msgid "Couldn't send invitations"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:477
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:544
msgid "No one else has access yet."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:488
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:555
msgid "Invitation pending"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:489
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:556
msgid "Invitation pending, no Proton account yet"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:527
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:594
msgid "Role updated"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:528
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:595
msgid "Couldn't update the role"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:545
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
msgid "Remove access"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:561
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:628
msgid "Remove Access?"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:564
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:631
#, rust-format
msgid "{email} will no longer be able to open this item."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:572
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:639
msgid "Access removed"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:573
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
msgid "Couldn't remove access"
msgstr ""
#. Translators: {role} is the link's role, such as "Viewer".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:601
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:668
#, rust-format
msgid "Anyone with the link ({role})"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:604
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:671
msgid "password-protected"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:707
msgid "Remove link"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:654
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:721
msgid "Remove Public Link?"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:655
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:722
msgid ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:656
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:723
msgid "Remove Link"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:661
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:728
msgid "Public link removed"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:682
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:746
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:807
msgid "Link role"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:686
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:748
msgid "Password (optional)"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:695
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:752
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:830
msgid "Expires"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:697
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:753
msgid "Create Public Link"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:756
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:800
msgid "Link settings"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
msgid ""
"Change who can edit, the password or the expiry. The link stays the same."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
msgid "New password"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:851
msgid "Add a password"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:881
msgid "Remove the password"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:883
msgid "Anyone with the link can open it without a password."
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:915
msgid "Link updated"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:917
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:921
msgid "Couldn't change the link"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:948
msgid "Public link created"
msgstr ""
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:760
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:764
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:952
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:956
msgid "Couldn't create the link"
msgstr ""
#. Translators: a public link past its expiry date.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:816
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1008
msgid "expired"
msgstr ""
#. Translators: strftime format for a link's expiry date; "%x" is the locale's date, such as "09/23/26".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:819
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1011
msgid "%x"
msgstr ""
#. Translators: {date} is the date a public link stops working.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:826
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1018
#, rust-format
msgid "expires {date}"
msgstr ""
+131 -72
View File
@@ -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-25 21:32+0100\n"
"POT-Creation-Date: 2026-10-25 22:10+0100\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Polish\n"
@@ -519,7 +519,7 @@ msgstr "Opcje widoku"
#: crates/pdfs-gui/src/app/pages/shared.rs:424
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:349
#: crates/pdfs-gui/src/app/pages/trash.rs:284
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:145
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:187
msgid "Loading…"
msgstr "Wczytywanie…"
@@ -1326,9 +1326,10 @@ msgstr "Nie można wczytać albumów"
#: crates/pdfs-gui/src/app/pages/status.rs:1642
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:618
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:765
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:803
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:516
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:922
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:957
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:995
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:170
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:381
msgid "The Proton Drive service didn't respond."
@@ -1341,7 +1342,7 @@ msgstr "Usługa Proton Drive nie odpowiedziała."
#: crates/pdfs-gui/src/app/pages/shared.rs:536
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:476
#: crates/pdfs-gui/src/app/widgets/details.rs:157
#: crates/pdfs-gui/src/app/widgets/details.rs:406
#: crates/pdfs-gui/src/app/widgets/details.rs:413
#: crates/pdfs-gui/src/hud/preview.rs:277
msgctxt "verb"
msgid "Open"
@@ -1538,6 +1539,7 @@ msgstr "Nazwa"
#: crates/pdfs-gui/src/app/pages/shared.rs:273
#: crates/pdfs-gui/src/app/pages/trash.rs:153
#: crates/pdfs-gui/src/app/widgets/details.rs:88
#: crates/pdfs-gui/src/app/widgets/details.rs:380
#: crates/pdfs-gui/src/hud/preview.rs:143
msgctxt "column"
msgid "Size"
@@ -1649,7 +1651,7 @@ msgstr "Nie można przenieść do kosza"
#: crates/pdfs-gui/src/app/pages/browser.rs:2376
#: crates/pdfs-gui/src/app/pages/browser.rs:2432
#: crates/pdfs-gui/src/app/pages/browser.rs:2620
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:274
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:341
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:91
msgid "Proton Drive isn't connected."
msgstr "Proton Drive nie jest połączony."
@@ -1838,7 +1840,7 @@ msgstr "„Otwórz za pomocą” wymaga uruchomionej usługi Proton Drive."
#: crates/pdfs-gui/src/app/pages/shared.rs:888
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:215
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:494
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:633
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:700
msgid "Link copied"
msgstr "Skopiowano odnośnik"
@@ -2552,7 +2554,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:567
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr "Usuń"
@@ -4356,14 +4359,14 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:646
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:6
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Viewer"
msgstr "Przeglądający"
#: crates/pdfs-gui/src/app/pages/shared.rs:647
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:7
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Editor"
msgstr "Redaktor"
@@ -4529,7 +4532,7 @@ msgid "Link removed"
msgstr "Usunięto odnośnik"
#: crates/pdfs-gui/src/app/pages/shared.rs:1039
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:662
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:729
msgid "Couldn't remove the link"
msgstr "Nie można usunąć odnośnika"
@@ -4592,7 +4595,7 @@ msgid "People"
msgstr "Osoby"
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:198
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:624
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:691
msgid "Copy link"
msgstr "Skopiuj odnośnik"
@@ -5689,7 +5692,7 @@ msgid "Info"
msgstr "Informacje"
#: crates/pdfs-gui/src/app/widgets/details.rs:115
#: crates/pdfs-gui/src/app/widgets/details.rs:399
#: crates/pdfs-gui/src/app/widgets/details.rs:406
msgid "Keep a copy on this computer, even without a connection."
msgstr ""
"Przechowywanie kopii na tym komputerze, dostępnej nawet bez połączenia."
@@ -5728,17 +5731,25 @@ msgstr "Katalog"
msgid "File"
msgstr "Plik"
#: crates/pdfs-gui/src/app/widgets/details.rs:385
#: crates/pdfs-gui/src/app/widgets/details.rs:374
msgid "Size on Proton Drive"
msgstr "Rozmiar w Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:377
msgid "Counted by Proton Drive, including items in the trash."
msgstr "Policzony przez Proton Drive, łącznie z elementami w koszu."
#: crates/pdfs-gui/src/app/widgets/details.rs:392
msgid "Proton Drive"
msgstr "Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:393
#: crates/pdfs-gui/src/app/widgets/details.rs:400
msgid "Kept on this computer because a folder it is in is available offline."
msgstr ""
"Przechowywane na tym komputerze, ponieważ katalog nadrzędny jest dostępny "
"offline."
#: crates/pdfs-gui/src/app/widgets/details.rs:396
#: crates/pdfs-gui/src/app/widgets/details.rs:403
msgid ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
@@ -5746,33 +5757,37 @@ msgstr ""
"Przechowywanie kopii całej zawartości tego katalogu na tym komputerze, "
"dostępnej nawet bez połączenia."
#: crates/pdfs-gui/src/app/widgets/details.rs:404
#: crates/pdfs-gui/src/app/widgets/details.rs:411
#: crates/pdfs-gui/src/hud/preview.rs:275
msgid "Open folder"
msgstr "Otwórz katalog"
#: crates/pdfs-gui/src/app/widgets/details.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:442
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:465
#: crates/pdfs-gui/src/app/widgets/details.rs:455
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:509
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:515
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:532
msgid "Couldn't load sharing"
msgstr "Nie można wczytać udostępniania"
#: crates/pdfs-gui/src/app/widgets/details.rs:470
#: crates/pdfs-gui/src/app/widgets/details.rs:475
msgid "Couldn't load the size"
msgstr "Nie można wczytać rozmiaru"
#: crates/pdfs-gui/src/app/widgets/details.rs:495
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:165
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:169
msgid "Couldn't load versions"
msgstr "Nie można wczytać wersji"
#: crates/pdfs-gui/src/app/widgets/details.rs:490
#: crates/pdfs-gui/src/app/widgets/details.rs:515
msgid "Only you"
msgstr "Tylko ja"
#: crates/pdfs-gui/src/app/widgets/details.rs:491
#: crates/pdfs-gui/src/app/widgets/details.rs:516
msgid "Anyone with the link"
msgstr "Każdy, kto ma odnośnik"
#: crates/pdfs-gui/src/app/widgets/details.rs:492
#: crates/pdfs-gui/src/app/widgets/details.rs:517
#, rust-format
msgid "Shared with {n} person"
msgid_plural "Shared with {n} people"
@@ -5780,7 +5795,7 @@ msgstr[0] "Udostępniono {n} osobie"
msgstr[1] "Udostępniono {n} osobom"
msgstr[2] "Udostępniono {n} osobom"
#: crates/pdfs-gui/src/app/widgets/details.rs:494
#: crates/pdfs-gui/src/app/widgets/details.rs:519
#, rust-format
msgid "Shared with {n} person · Public link"
msgid_plural "Shared with {n} people · Public link"
@@ -5788,17 +5803,25 @@ msgstr[0] "Udostępniono {n} osobie · publiczny odnośnik"
msgstr[1] "Udostępniono {n} osobom · publiczny odnośnik"
msgstr[2] "Udostępniono {n} osobom · publiczny odnośnik"
#: crates/pdfs-gui/src/app/widgets/details.rs:506
#: crates/pdfs-gui/src/app/widgets/details.rs:532
#, rust-format
msgid "{size} · {n} item"
msgid_plural "{size} · {n} items"
msgstr[0] "{size} · {n} element"
msgstr[1] "{size} · {n} elementy"
msgstr[2] "{size} · {n} elementów"
#: crates/pdfs-gui/src/app/widgets/details.rs:543
msgid "No earlier versions"
msgstr "Brak wcześniejszych wersji"
#. Translators: {date} is the date of the only version.
#: crates/pdfs-gui/src/app/widgets/details.rs:508
#: crates/pdfs-gui/src/app/widgets/details.rs:545
#, rust-format
msgid "1 version · {date}"
msgstr "1 wersja · {date}"
#: crates/pdfs-gui/src/app/widgets/details.rs:511
#: crates/pdfs-gui/src/app/widgets/details.rs:548
#, rust-format
msgid "{n} version · latest {date}"
msgid_plural "{n} versions · latest {date}"
@@ -5823,123 +5846,123 @@ msgstr "7 dni"
msgid "30 days"
msgstr "30 dni"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:273
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:340
msgid "Can't share"
msgstr "Nie można udostępnić"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:289
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:343
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:356
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:410
msgctxt "verb"
msgid "Share"
msgstr "Udostępnij"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:296
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:363
msgid "Invite people"
msgstr "Zaproś osoby"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:298
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:365
msgid "Proton and non-Proton email addresses, separated by spaces or commas."
msgstr ""
"Adresy e-mail w Proton i poza nim, oddzielone spacjami lub przecinkami."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:302
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
msgid "Email addresses"
msgstr "Adresy e-mail"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:311
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:378
msgid "Role"
msgstr "Rola"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:314
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:381
msgid "Message (optional)"
msgstr "Wiadomość (opcjonalnie)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:316
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:383
msgid "Send Invitations"
msgstr "Wyślij zaproszenia"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:323
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:390
msgid "People with access"
msgstr "Osoby z dostępem"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:326
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:393
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:679
msgid "Public link"
msgstr "Publiczny odnośnik"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:436
#, rust-format
msgid "“{text}” isn't an email address"
msgstr "„{text}” nie jest adresem e-mail"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:408
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:475
msgid "Invitations sent"
msgstr "Wysłano zaproszenia"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:409
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:476
msgid "Couldn't send invitations"
msgstr "Nie można wysłać zaproszeń"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:477
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:544
msgid "No one else has access yet."
msgstr "Nikt inny nie ma jeszcze dostępu."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:488
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:555
msgid "Invitation pending"
msgstr "Zaproszenie oczekuje"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:489
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:556
msgid "Invitation pending, no Proton account yet"
msgstr "Zaproszenie oczekuje, brak jeszcze konta Proton"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:527
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:594
msgid "Role updated"
msgstr "Zaktualizowano rolę"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:528
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:595
msgid "Couldn't update the role"
msgstr "Nie można zaktualizować roli"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:545
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
msgid "Remove access"
msgstr "Usuń dostęp"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:561
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:628
msgid "Remove Access?"
msgstr "Usunąć dostęp?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:564
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:631
#, rust-format
msgid "{email} will no longer be able to open this item."
msgstr "{email} nie będzie już mieć możliwości otwarcia tego elementu."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:572
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:639
msgid "Access removed"
msgstr "Usunięto dostęp"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:573
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
msgid "Couldn't remove access"
msgstr "Nie można usunąć dostępu"
#. Translators: {role} is the link's role, such as "Viewer".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:601
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:668
#, rust-format
msgid "Anyone with the link ({role})"
msgstr "Każdy, kto ma odnośnik ({role})"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:604
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:671
msgid "password-protected"
msgstr "chroniony hasłem"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:707
msgid "Remove link"
msgstr "Usuń odnośnik"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:654
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:721
msgid "Remove Public Link?"
msgstr "Usunąć publiczny odnośnik?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:655
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:722
msgid ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
@@ -5947,51 +5970,87 @@ msgstr ""
"Odnośnik przestanie działać dla wszystkich, którzy go mają. Nowy odnośnik "
"będzie miał inny adres."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:656
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:723
msgid "Remove Link"
msgstr "Usuń odnośnik"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:661
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:728
msgid "Public link removed"
msgstr "Usunięto publiczny odnośnik"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:682
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:746
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:807
msgid "Link role"
msgstr "Rola odnośnika"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:686
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:748
msgid "Password (optional)"
msgstr "Hasło (opcjonalnie)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:695
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:752
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:830
msgid "Expires"
msgstr "Wygasa"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:697
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:753
msgid "Create Public Link"
msgstr "Utwórz publiczny odnośnik"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:756
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:800
msgid "Link settings"
msgstr "Ustawienia odnośnika"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
msgid ""
"Change who can edit, the password or the expiry. The link stays the same."
msgstr "Proszę zmienić, kto może edytować, hasło lub datę wygaśnięcia. Odnośnik pozostaje ten sam."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
msgid "New password"
msgstr "Nowe hasło"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:851
msgid "Add a password"
msgstr "Dodaj hasło"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:881
msgid "Remove the password"
msgstr "Usuń hasło"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:883
msgid "Anyone with the link can open it without a password."
msgstr "Każdy, kto ma odnośnik, może go otworzyć bez hasła."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:915
msgid "Link updated"
msgstr "Zaktualizowano odnośnik"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:917
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:921
msgid "Couldn't change the link"
msgstr "Nie można zmienić odnośnika"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:948
msgid "Public link created"
msgstr "Utworzono publiczny odnośnik"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:760
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:764
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:952
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:956
msgid "Couldn't create the link"
msgstr "Nie można utworzyć odnośnika"
#. Translators: a public link past its expiry date.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:816
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1008
msgid "expired"
msgstr "wygasł"
#. Translators: strftime format for a link's expiry date; "%x" is the locale's date, such as "09/23/26".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:819
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1011
msgid "%x"
msgstr "%x"
#. Translators: {date} is the date a public link stops working.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:826
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1018
#, rust-format
msgid "expires {date}"
msgstr "wygasa {date}"
+130 -72
View File
@@ -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-25 21:32+0100\n"
"POT-Creation-Date: 2026-10-25 22:10+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"
@@ -511,7 +511,7 @@ msgstr "Opções de exibição"
#: crates/pdfs-gui/src/app/pages/shared.rs:424
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:349
#: crates/pdfs-gui/src/app/pages/trash.rs:284
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:145
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:187
msgid "Loading…"
msgstr "Carregando…"
@@ -1296,9 +1296,10 @@ msgstr "Não foi possível carregar os álbuns"
#: crates/pdfs-gui/src/app/pages/status.rs:1642
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:618
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:765
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:803
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:516
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:922
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:957
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:995
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:170
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:381
msgid "The Proton Drive service didn't respond."
@@ -1311,7 +1312,7 @@ msgstr "O serviço do Proton Drive não respondeu."
#: crates/pdfs-gui/src/app/pages/shared.rs:536
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:476
#: crates/pdfs-gui/src/app/widgets/details.rs:157
#: crates/pdfs-gui/src/app/widgets/details.rs:406
#: crates/pdfs-gui/src/app/widgets/details.rs:413
#: crates/pdfs-gui/src/hud/preview.rs:277
msgctxt "verb"
msgid "Open"
@@ -1503,6 +1504,7 @@ msgstr "Nome"
#: crates/pdfs-gui/src/app/pages/shared.rs:273
#: crates/pdfs-gui/src/app/pages/trash.rs:153
#: crates/pdfs-gui/src/app/widgets/details.rs:88
#: crates/pdfs-gui/src/app/widgets/details.rs:380
#: crates/pdfs-gui/src/hud/preview.rs:143
msgctxt "column"
msgid "Size"
@@ -1612,7 +1614,7 @@ msgstr "Não foi possível mover para a lixeira"
#: crates/pdfs-gui/src/app/pages/browser.rs:2376
#: crates/pdfs-gui/src/app/pages/browser.rs:2432
#: crates/pdfs-gui/src/app/pages/browser.rs:2620
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:274
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:341
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:91
msgid "Proton Drive isn't connected."
msgstr "O Proton Drive não está conectado."
@@ -1791,7 +1793,7 @@ msgstr "“Abrir com” precisa que o serviço do Proton Drive esteja em execuç
#: crates/pdfs-gui/src/app/pages/shared.rs:888
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:215
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:494
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:633
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:700
msgid "Link copied"
msgstr "Link copiado"
@@ -2491,7 +2493,8 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:567
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr "Remover"
@@ -4278,14 +4281,14 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:646
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:6
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Viewer"
msgstr "Leitor"
#: crates/pdfs-gui/src/app/pages/shared.rs:647
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:7
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:675
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:93
msgctxt "role"
msgid "Editor"
msgstr "Editor"
@@ -4445,7 +4448,7 @@ msgid "Link removed"
msgstr "Link removido"
#: crates/pdfs-gui/src/app/pages/shared.rs:1039
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:662
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:729
msgid "Couldn't remove the link"
msgstr "Não foi possível remover o link"
@@ -4508,7 +4511,7 @@ msgid "People"
msgstr "Pessoas"
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:198
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:624
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:691
msgid "Copy link"
msgstr "Copiar link"
@@ -5585,7 +5588,7 @@ msgid "Info"
msgstr "Informações"
#: crates/pdfs-gui/src/app/widgets/details.rs:115
#: crates/pdfs-gui/src/app/widgets/details.rs:399
#: crates/pdfs-gui/src/app/widgets/details.rs:406
msgid "Keep a copy on this computer, even without a connection."
msgstr "Manter uma cópia neste computador, mesmo sem conexão."
@@ -5623,74 +5626,93 @@ msgstr "Pasta"
msgid "File"
msgstr "Arquivo"
#: crates/pdfs-gui/src/app/widgets/details.rs:385
#: crates/pdfs-gui/src/app/widgets/details.rs:374
msgid "Size on Proton Drive"
msgstr "Tamanho no Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:377
msgid "Counted by Proton Drive, including items in the trash."
msgstr "Calculado pelo Proton Drive, incluindo os itens na lixeira."
#: crates/pdfs-gui/src/app/widgets/details.rs:392
msgid "Proton Drive"
msgstr "Proton Drive"
#: crates/pdfs-gui/src/app/widgets/details.rs:393
#: crates/pdfs-gui/src/app/widgets/details.rs:400
msgid "Kept on this computer because a folder it is in is available offline."
msgstr ""
"Mantido neste computador porque uma pasta que o contém está disponível "
"offline."
#: crates/pdfs-gui/src/app/widgets/details.rs:396
#: crates/pdfs-gui/src/app/widgets/details.rs:403
msgid ""
"Keep a copy of everything in this folder on this computer, even without a "
"connection."
msgstr ""
"Manter uma cópia de tudo nesta pasta neste computador, mesmo sem conexão."
#: crates/pdfs-gui/src/app/widgets/details.rs:404
#: crates/pdfs-gui/src/app/widgets/details.rs:411
#: crates/pdfs-gui/src/hud/preview.rs:275
msgid "Open folder"
msgstr "Abrir pasta"
#: crates/pdfs-gui/src/app/widgets/details.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:442
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:448
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:465
#: crates/pdfs-gui/src/app/widgets/details.rs:455
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:509
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:515
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:532
msgid "Couldn't load sharing"
msgstr "Não foi possível carregar o compartilhamento"
#: crates/pdfs-gui/src/app/widgets/details.rs:470
#: crates/pdfs-gui/src/app/widgets/details.rs:475
msgid "Couldn't load the size"
msgstr "Não foi possível carregar o tamanho"
#: crates/pdfs-gui/src/app/widgets/details.rs:495
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:165
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:169
msgid "Couldn't load versions"
msgstr "Não foi possível carregar as versões"
#: crates/pdfs-gui/src/app/widgets/details.rs:490
#: crates/pdfs-gui/src/app/widgets/details.rs:515
msgid "Only you"
msgstr "Somente você"
#: crates/pdfs-gui/src/app/widgets/details.rs:491
#: crates/pdfs-gui/src/app/widgets/details.rs:516
msgid "Anyone with the link"
msgstr "Qualquer pessoa com o link"
#: crates/pdfs-gui/src/app/widgets/details.rs:492
#: crates/pdfs-gui/src/app/widgets/details.rs:517
#, rust-format
msgid "Shared with {n} person"
msgid_plural "Shared with {n} people"
msgstr[0] "Compartilhado com {n} pessoa"
msgstr[1] "Compartilhado com {n} pessoas"
#: crates/pdfs-gui/src/app/widgets/details.rs:494
#: crates/pdfs-gui/src/app/widgets/details.rs:519
#, rust-format
msgid "Shared with {n} person · Public link"
msgid_plural "Shared with {n} people · Public link"
msgstr[0] "Compartilhado com {n} pessoa · Link público"
msgstr[1] "Compartilhado com {n} pessoas · Link público"
#: crates/pdfs-gui/src/app/widgets/details.rs:506
#: crates/pdfs-gui/src/app/widgets/details.rs:532
#, rust-format
msgid "{size} · {n} item"
msgid_plural "{size} · {n} items"
msgstr[0] "{size} · {n} item"
msgstr[1] "{size} · {n} itens"
#: crates/pdfs-gui/src/app/widgets/details.rs:543
msgid "No earlier versions"
msgstr "Nenhuma versão anterior"
#. Translators: {date} is the date of the only version.
#: crates/pdfs-gui/src/app/widgets/details.rs:508
#: crates/pdfs-gui/src/app/widgets/details.rs:545
#, rust-format
msgid "1 version · {date}"
msgstr "1 versão · {date}"
#: crates/pdfs-gui/src/app/widgets/details.rs:511
#: crates/pdfs-gui/src/app/widgets/details.rs:548
#, rust-format
msgid "{n} version · latest {date}"
msgid_plural "{n} versions · latest {date}"
@@ -5714,123 +5736,123 @@ msgstr "7 dias"
msgid "30 days"
msgstr "30 dias"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:273
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:340
msgid "Can't share"
msgstr "Não é possível compartilhar"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:289
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:343
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:356
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:410
msgctxt "verb"
msgid "Share"
msgstr "Compartilhar"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:296
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:363
msgid "Invite people"
msgstr "Convidar pessoas"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:298
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:365
msgid "Proton and non-Proton email addresses, separated by spaces or commas."
msgstr ""
"Endereços de e-mail Proton e não Proton, separados por espaços ou vírgulas."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:302
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
msgid "Email addresses"
msgstr "Endereços de e-mail"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:311
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:378
msgid "Role"
msgstr "Função"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:314
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:381
msgid "Message (optional)"
msgstr "Mensagem (opcional)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:316
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:383
msgid "Send Invitations"
msgstr "Enviar convites"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:323
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:390
msgid "People with access"
msgstr "Pessoas com acesso"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:326
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:393
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:679
msgid "Public link"
msgstr "Link público"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:369
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:436
#, rust-format
msgid "“{text}” isn't an email address"
msgstr "“{text}” não é um endereço de e-mail"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:408
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:475
msgid "Invitations sent"
msgstr "Convites enviados"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:409
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:476
msgid "Couldn't send invitations"
msgstr "Não foi possível enviar os convites"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:477
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:544
msgid "No one else has access yet."
msgstr "Ninguém mais tem acesso ainda."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:488
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:555
msgid "Invitation pending"
msgstr "Convite pendente"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:489
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:556
msgid "Invitation pending, no Proton account yet"
msgstr "Convite pendente, ainda sem conta Proton"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:527
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:594
msgid "Role updated"
msgstr "Função atualizada"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:528
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:595
msgid "Couldn't update the role"
msgstr "Não foi possível atualizar a função"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:545
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:612
msgid "Remove access"
msgstr "Remover acesso"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:561
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:628
msgid "Remove Access?"
msgstr "Remover acesso?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:564
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:631
#, rust-format
msgid "{email} will no longer be able to open this item."
msgstr "{email} não poderá mais abrir este item."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:572
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:639
msgid "Access removed"
msgstr "Acesso removido"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:573
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
msgid "Couldn't remove access"
msgstr "Não foi possível remover o acesso"
#. Translators: {role} is the link's role, such as "Viewer".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:601
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:668
#, rust-format
msgid "Anyone with the link ({role})"
msgstr "Qualquer pessoa com o link ({role})"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:604
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:671
msgid "password-protected"
msgstr "protegido por senha"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:640
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:707
msgid "Remove link"
msgstr "Remover link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:654
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:721
msgid "Remove Public Link?"
msgstr "Remover link público?"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:655
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:722
msgid ""
"The link stops working for everyone who has it. A new link will have a "
"different address."
@@ -5838,51 +5860,87 @@ msgstr ""
"O link deixa de funcionar para todos que o têm. Um novo link terá um "
"endereço diferente."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:656
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:723
msgid "Remove Link"
msgstr "Remover link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:661
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:728
msgid "Public link removed"
msgstr "Link público removido"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:682
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:746
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:807
msgid "Link role"
msgstr "Função do link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:686
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:748
msgid "Password (optional)"
msgstr "Senha (opcional)"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:695
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:752
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:830
msgid "Expires"
msgstr "Expira"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:697
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:753
msgid "Create Public Link"
msgstr "Criar link público"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:756
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:800
msgid "Link settings"
msgstr "Configurações do link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
msgid ""
"Change who can edit, the password or the expiry. The link stays the same."
msgstr "Altere quem pode editar, a senha ou a expiração. O link continua o mesmo."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
msgid "New password"
msgstr "Nova senha"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:851
msgid "Add a password"
msgstr "Adicionar uma senha"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:881
msgid "Remove the password"
msgstr "Remover a senha"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:883
msgid "Anyone with the link can open it without a password."
msgstr "Qualquer pessoa com o link pode abri-lo sem senha."
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:915
msgid "Link updated"
msgstr "Link atualizado"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:917
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:921
msgid "Couldn't change the link"
msgstr "Não foi possível alterar o link"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:948
msgid "Public link created"
msgstr "Link público criado"
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:760
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:764
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:952
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:956
msgid "Couldn't create the link"
msgstr "Não foi possível criar o link"
#. Translators: a public link past its expiry date.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:816
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1008
msgid "expired"
msgstr "expirado"
#. Translators: strftime format for a link's expiry date; "%x" is the locale's date, such as "09/23/26".
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:819
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1011
msgid "%x"
msgstr "%x"
#. Translators: {date} is the date a public link stops working.
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:826
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:1018
#, rust-format
msgid "expires {date}"
msgstr "expira em {date}"