Compare commits

...
8 Commits
Author SHA1 Message Date
nvrl 0b81b76cb7 feat(gui): branded app icon in the sidebar header and login
The sidebar header and the login page used the generic folder-remote-symbolic
icon. Ship the app icon from packaging/ in the GUI resources and use it in
both places, so the in-app brand matches the launcher even when the app runs
uninstalled.
2026-09-27 23:28:00 +02:00
nvrl 7470bd89f3 chore(release): 2.2.2 2026-09-27 23:28:00 +02:00
nvrl e6cb52339d fix(fuse,core): list and resolve conflict copies in synced folders, log each once (B99)
The conflict sweep flagged divergent copies anywhere in the tree but kept its
dedupe set in memory, so every daemon start logged them again. The conflict
listing only covered My Files, so copies in on-demand sync folders were never
listed, and the Activity page showed them as resolved while they were still on disk.

List copies in synced folders by their absolute local path, route resolves
to the mount that serves them, flag only what the listing can show, and
consult the activity log before flagging a copy again.
2026-09-27 23:28:00 +02:00
Nils Pukropp 912acc760a chore(aur): update packages to 2.2.1 2026-09-24 18:08:08 +00:00
nvrl 5109427c32 chore(release): 2.2.1 2026-09-24 19:49:42 +02:00
nvrl e2c4dac8df feat(gui): legal links and disclaimer in the About dialog
Add a copyright line with contact address, links to the source code and
to Proton's terms of service and privacy policy, a Legal section with the
full non-affiliation, trademark and no-warranty disclaimer, and a license
credit for proton-sdk-rs. Translated into every shipped language.
2026-09-24 19:49:42 +02:00
nvrl ebeb9cdbef chore(aur): refresh -git pkgver in update.sh and bump to 2.2.0.r1.g82e9654
makepkg --printsrcinfo does not run pkgver(), so the -git .SRCINFO kept
the version from when the package was created and push.sh never had a
change to publish. update.sh now runs makepkg -od --noprepare first so
pkgver() writes the current git describe version into the PKGBUILD.
2026-09-24 19:49:42 +02:00
Nils Pukropp 82e96543ac chore(aur): update packages to 2.2.0 2026-09-23 18:48:21 +00:00
33 changed files with 929 additions and 380 deletions

No files matched your search

Generated
+4 -4
View File
@@ -3449,7 +3449,7 @@ checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4"
[[package]] [[package]]
name = "pdfs-cli" name = "pdfs-cli"
version = "2.2.0" version = "2.2.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",
@@ -3464,7 +3464,7 @@ dependencies = [
[[package]] [[package]]
name = "pdfs-core" name = "pdfs-core"
version = "2.2.0" version = "2.2.2"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"dbus-secret-service-keyring-store", "dbus-secret-service-keyring-store",
@@ -3488,7 +3488,7 @@ dependencies = [
[[package]] [[package]]
name = "pdfs-fuse" name = "pdfs-fuse"
version = "2.2.0" version = "2.2.2"
dependencies = [ dependencies = [
"base64 0.23.1", "base64 0.23.1",
"fuser", "fuser",
@@ -3508,7 +3508,7 @@ dependencies = [
[[package]] [[package]]
name = "pdfs-gui" name = "pdfs-gui"
version = "2.2.0" version = "2.2.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-channel", "async-channel",
+1 -1
View File
@@ -3,7 +3,7 @@ resolver = "2"
members = ["crates/pdfs-core", "crates/pdfs-fuse", "crates/pdfs-cli", "crates/pdfs-gui"] members = ["crates/pdfs-core", "crates/pdfs-fuse", "crates/pdfs-cli", "crates/pdfs-gui"]
[workspace.package] [workspace.package]
version = "2.2.0" version = "2.2.2"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
authors = ["Nils Pukropp <contact@narl.io>"] authors = ["Nils Pukropp <contact@narl.io>"]
+7 -4
View File
@@ -429,10 +429,12 @@ pub enum Request {
/// Retry a backed-off queued op now instead of waiting out its backoff; /// Retry a backed-off queued op now instead of waiting out its backoff;
/// every failed op when `id` is `None`. Replies with [`Response::Ok`]. /// every failed op when `id` is `None`. Replies with [`Response::Ok`].
RetryPendingOp { id: Option<i64> }, RetryPendingOp { id: Option<i64> },
/// List the `(sync-conflict …)` copies under My Files. Replies with /// List the `(sync-conflict …)` copies under My Files and in synced
/// folders. Replies with
/// [`Response::Conflicts`]. /// [`Response::Conflicts`].
ListConflicts, ListConflicts,
/// Resolve one conflict copy (`path` mountpoint-relative or absolute). /// Resolve one conflict copy (`path` mountpoint-relative, or absolute for a
/// copy in a synced folder).
/// Everything removed goes to the Proton trash. Replies with /// Everything removed goes to the Proton trash. Replies with
/// [`Response::Ok`]. /// [`Response::Ok`].
ResolveConflict { path: String, keep: ConflictKeep }, ResolveConflict { path: String, keep: ConflictKeep },
@@ -701,9 +703,10 @@ pub struct DeviceInfo {
/// [`Response::Conflicts`]). /// [`Response::Conflicts`]).
#[derive(Serialize, Deserialize, Debug, Clone)] #[derive(Serialize, Deserialize, Debug, Clone)]
pub struct ConflictInfo { pub struct ConflictInfo {
/// Mountpoint-relative path of the copy. /// Mountpoint-relative path of the copy, or its absolute local path when it
/// sits in a synced folder.
pub path: String, pub path: String,
/// Mountpoint-relative path of the file it is a copy of. /// Path of the file it is a copy of, in the same form as `path`.
pub original_path: String, pub original_path: String,
/// False when the original is gone and only the copy is left. /// False when the original is gone and only the copy is left.
pub original_exists: bool, pub original_exists: bool,
+11
View File
@@ -29,6 +29,17 @@ impl Db {
Ok(()) Ok(())
} }
/// Whether the kept log already holds an entry of `kind` for `target`. Lets
/// the daemon report something once across restarts rather than once per
/// run, without keeping a second table in step with the log.
pub fn activity_has(&self, kind: ActivityKind, target: &str) -> Result<bool> {
let kind = serde_json::to_string(&kind)?;
let conn = self.read();
let mut stmt =
conn.prepare("SELECT 1 FROM activity WHERE kind = ?1 AND target = ?2 LIMIT 1")?;
Ok(stmt.exists(params![kind, target])?)
}
/// The most recent activity, newest first, capped at `limit` entries. Rows /// The most recent activity, newest first, capped at `limit` entries. Rows
/// whose stored `kind` no longer parses (written by an older build) are /// whose stored `kind` no longer parses (written by an older build) are
/// skipped rather than failing the whole read. /// skipped rather than failing the whole read.
+23
View File
@@ -1414,6 +1414,29 @@ fn activity_reads_back_newest_first() {
assert_eq!(db.activity_list(1).unwrap().len(), 1); assert_eq!(db.activity_list(1).unwrap().len(), 1);
} }
#[test]
fn activity_has_finds_only_matching_kind_and_target() {
let db = Db::open_in_memory().unwrap();
db.activity_add(&activity(
"a (sync-conflict 1).txt",
ActivityKind::Conflict,
false,
))
.unwrap();
db.activity_add(&activity("b.txt", ActivityKind::Upload, true))
.unwrap();
assert!(
db.activity_has(ActivityKind::Conflict, "a (sync-conflict 1).txt")
.unwrap()
);
assert!(
!db.activity_has(ActivityKind::Upload, "a (sync-conflict 1).txt")
.unwrap()
);
assert!(!db.activity_has(ActivityKind::Conflict, "b.txt").unwrap());
}
#[test] #[test]
fn activity_prunes_to_the_keep_limit() { fn activity_prunes_to_the_keep_limit() {
let db = Db::open_in_memory().unwrap(); let db = Db::open_in_memory().unwrap();
+28 -5
View File
@@ -14,15 +14,38 @@
//! that is open, being written, or still owed an upload, for the same reason the //! that is open, being written, or still owed an upload, for the same reason the
//! sweep does: the node is about to change under the decision. //! sweep does: the node is about to change under the decision.
//! //!
//! Only copies under My Files are handled here. A copy inside a mirror folder is //! Copies under My Files are named by their mountpoint-relative path. Copies
//! a local file first; the sync engine owns it. //! inside a synced folder are named by their absolute local path, so a resolve
//! request routes to the on-demand mount that serves them. A copy inside a
//! mirror folder is listed too, but it is a local file first: the sync engine
//! owns it, so it is resolved by editing the folder, not through here.
use super::*; use super::*;
use pdfs_core::control::{ConflictInfo, ConflictKeep}; use pdfs_core::control::{ConflictInfo, ConflictKeep};
use sweep::conflict_base_name; use sweep::conflict_base_name;
impl Core { impl Core {
/// Every conflict copy under My Files, with the file it is a copy of. /// Where the user finds a conflict copy: its mountpoint-relative path under
/// My Files, or its absolute local path inside a synced folder. `None` for a
/// node no location of this machine shows, such as one in another
/// computer's device tree.
///
/// The sweep only flags what this can name, and the listing uses it too. A
/// flagged copy the listing cannot see reads as resolved in the activity
/// feed while it still sits in the folder (`docs/BUGS.md` B99).
pub(crate) fn conflict_path(&self, roots: &SearchRoots, uid: &NodeUid) -> Option<String> {
let uid = uid.to_string();
if let Ok(Some(path)) = self
.db
.path_relative_to(&self.primary_root_uid.to_string(), &uid)
{
return Some(path);
}
let drive_path = self.db.node_path(&uid).ok().flatten()?;
roots.resolve(&drive_path)
}
/// Every conflict copy this machine shows, with the file it is a copy of.
pub(crate) fn list_conflicts(&self) -> CoreResult<Vec<ConflictInfo>> { pub(crate) fn list_conflicts(&self) -> CoreResult<Vec<ConflictInfo>> {
let stored = self let stored = self
.db .db
@@ -37,13 +60,13 @@ impl Core {
for node in &nodes { for node in &nodes {
by_parent_name.insert((node.parent_uid.as_ref(), node.name.as_str()), node); by_parent_name.insert((node.parent_uid.as_ref(), node.name.as_str()), node);
} }
let root = self.primary_root_uid.to_string(); let roots = self.search_roots();
let mut items = Vec::new(); let mut items = Vec::new();
for node in &nodes { for node in &nodes {
let Some(base) = conflict_base_name(&node.name) else { let Some(base) = conflict_base_name(&node.name) else {
continue; continue;
}; };
let Ok(Some(path)) = self.db.path_relative_to(&root, &node.uid.to_string()) else { let Some(path) = self.conflict_path(&roots, &node.uid) else {
continue; continue;
}; };
let original = by_parent_name let original = by_parent_name
+40 -6
View File
@@ -185,6 +185,38 @@ fn route_to_mount(core: &Core, mountpoint: &Path, path: &str) -> CoreResult<(Cor
rel_to_mount(mountpoint, path).map(|rel| (core.clone(), rel)) rel_to_mount(mountpoint, path).map(|rel| (core.clone(), rel))
} }
/// [`route_to_mount`] for a conflict copy. The listing names a copy inside a
/// synced folder by its absolute local path (`docs/BUGS.md` B99), so the
/// resolve has to run against the on-demand mount serving it. A mirror folder
/// has no mount to run against: its copy is an ordinary local file.
fn route_conflict(core: &Core, mountpoint: &Path, path: &str) -> CoreResult<(Core, PathBuf)> {
let routed = route_to_mount(core, mountpoint, path).map_err(|e| {
let p = Path::new(path);
let mirrored = core
.db
.sync_folder_list()
.unwrap_or_default()
.iter()
.any(|folder| folder.mode == "mirror" && p.starts_with(&folder.local_path));
if mirrored {
CoreError::invalid(format!(
"{path} is in a mirrored folder; rename or delete the local file there"
))
} else {
e
}
})?;
if routed
.1
.components()
.all(|component| matches!(component, Component::Normal(_) | Component::CurDir))
{
Ok(routed)
} else {
Err(CoreError::invalid(format!("{path} escapes the mountpoint")))
}
}
/// Turn a CLI-supplied path into a mountpoint-relative path. An absolute path /// Turn a CLI-supplied path into a mountpoint-relative path. An absolute path
/// must live under `mountpoint`; a relative path is taken as already relative to /// must live under `mountpoint`; a relative path is taken as already relative to
/// the mount root. /// the mount root.
@@ -1123,13 +1155,15 @@ fn handle_control_conn(core: &Core, username: &str, mountpoint: &Path, stream: U
Ok(items) => CtlResponse::Conflicts { items }, Ok(items) => CtlResponse::Conflicts { items },
Err(e) => CtlResponse::error(e), Err(e) => CtlResponse::error(e),
}, },
Ok(CtlRequest::ResolveConflict { path, keep }) => match rel_to_mount(mountpoint, &path) { Ok(CtlRequest::ResolveConflict { path, keep }) => {
Ok(rel) => match core.resolve_conflict(&rel, &keep) { match route_conflict(core, mountpoint, &path) {
Ok(message) => CtlResponse::Ok { message }, Ok((core, rel)) => match core.resolve_conflict(&rel, &keep) {
Ok(message) => CtlResponse::Ok { message },
Err(e) => CtlResponse::error(e),
},
Err(e) => CtlResponse::error(e), Err(e) => CtlResponse::error(e),
}, }
Err(e) => CtlResponse::error(e), }
},
Ok(CtlRequest::ListPendingOps) => match core.pending_op_infos() { Ok(CtlRequest::ListPendingOps) => match core.pending_op_infos() {
Ok(items) => CtlResponse::PendingOps { items }, Ok(items) => CtlResponse::PendingOps { items },
Err(e) => CtlResponse::error(e), Err(e) => CtlResponse::error(e),
+4 -3
View File
@@ -558,9 +558,10 @@ struct Core {
/// instead of polling or blocking for the whole run. See /// instead of polling or blocking for the whole run. See
/// [`Core::await_trash_refresh`]. /// [`Core::await_trash_refresh`].
trash_progress: Arc<tokio::sync::Notify>, trash_progress: Arc<tokio::sync::Notify>,
/// Conflict copies the sweep has already flagged as needing attention this /// Conflict copies the sweep has already checked against the activity log
/// run, so a divergent `(sync-conflict …)` file is logged once rather than /// this run, so each pass does not ask the database again. The log itself
/// on every sweep pass. See [`Core::run_conflict_sweep_loop`]. /// is what keeps a copy from being flagged again after a restart. See
/// [`Core::run_conflict_sweep_loop`] and `docs/BUGS.md` B99.
conflict_notified: Arc<Mutex<HashSet<NodeUid>>>, conflict_notified: Arc<Mutex<HashSet<NodeUid>>>,
/// Whether the conflict sweep may actually trash the duplicates it finds, or /// Whether the conflict sweep may actually trash the duplicates it finds, or
/// only report them. Resolved once at mount from config + environment /// only report them. Resolved once at mount from config + environment
+22 -3
View File
@@ -109,6 +109,7 @@ impl Core {
by_parent_name.insert((parent, node.name.as_str()), node); by_parent_name.insert((parent, node.name.as_str()), node);
} }
let roots = self.search_roots();
let online = self.online.load(std::sync::atomic::Ordering::Relaxed); let online = self.online.load(std::sync::atomic::Ordering::Relaxed);
for node in &nodes { for node in &nodes {
if node.trashed || node.is_folder() { if node.trashed || node.is_folder() {
@@ -132,7 +133,16 @@ impl Core {
self.remove_conflict_copy(node, &base); self.remove_conflict_copy(node, &base);
} }
} }
SweepAction::Flag(detail) => self.flag_conflict(&node.uid, &node.name, detail), // Only flag what the conflict listing can show. Anything else
// would sit in the feed as "resolved" with no way to act on
// it (`docs/BUGS.md` B99).
SweepAction::Flag(detail) => {
if self.conflict_path(&roots, &node.uid).is_some() {
self.flag_conflict(&node.uid, &node.name, detail);
} else {
debug!(uid = %node.uid, name = %node.name, "conflict sweep: copy is outside every location; not flagged");
}
}
} }
} }
} }
@@ -273,12 +283,21 @@ impl Core {
busy busy
} }
/// Surface a conflict copy that needs the user's attention, at most once per /// Surface a conflict copy that needs the user's attention, once. The
/// daemon run so the activity feed is not spammed each pass. /// in-memory set spares the database each pass; the activity log itself is
/// what keeps a restart from logging the same copy again (`docs/BUGS.md`
/// B99). A copy's name carries its own timestamp, so the name identifies it.
fn flag_conflict(&self, uid: &NodeUid, name: &str, detail: String) { fn flag_conflict(&self, uid: &NodeUid, name: &str, detail: String) {
if !self.conflict_notified.lock().insert(uid.clone()) { if !self.conflict_notified.lock().insert(uid.clone()) {
return; return;
} }
match self.db.activity_has(ActivityKind::Conflict, name) {
Ok(false) => {}
Ok(true) => return,
// Cannot tell: a repeat entry is harmless, a missing one hides a
// conflict.
Err(e) => warn!(%uid, name, error = ?e, "conflict sweep: activity check failed"),
}
debug!(%uid, name, detail, "conflict sweep: flagged divergent conflict copy"); debug!(%uid, name, detail, "conflict sweep: flagged divergent conflict copy");
self.log_activity(ActivityKind::Conflict, name, detail, false); self.log_activity(ActivityKind::Conflict, name, detail, false);
} }
+1
View File
@@ -26,4 +26,5 @@ fn main() {
println!("cargo:rerun-if-changed=resources/pdfs.gresource.xml"); println!("cargo:rerun-if-changed=resources/pdfs.gresource.xml");
println!("cargo:rerun-if-changed=resources/icons"); println!("cargo:rerun-if-changed=resources/icons");
println!("cargo:rerun-if-changed=resources/style.css"); println!("cargo:rerun-if-changed=resources/style.css");
println!("cargo:rerun-if-changed=../../packaging/io.narl.proton-drive-linux.svg");
} }
@@ -9,6 +9,9 @@
<file preprocess="xml-stripblanks">scalable/actions/pdfs-upload-symbolic.svg</file> <file preprocess="xml-stripblanks">scalable/actions/pdfs-upload-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/pdfs-offline-symbolic.svg</file> <file preprocess="xml-stripblanks">scalable/actions/pdfs-offline-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/pdfs-online-only-symbolic.svg</file> <file preprocess="xml-stripblanks">scalable/actions/pdfs-online-only-symbolic.svg</file>
<!-- The app icon, from the one file packaging installs, so the in-app brand
matches the launcher and resolves even when nothing is installed. -->
<file alias="scalable/apps/io.narl.proton-drive-linux.svg" preprocess="xml-stripblanks">../../../packaging/io.narl.proton-drive-linux.svg</file>
</gresource> </gresource>
<!-- The app stylesheet, loaded once at startup. Colours come from the <!-- The app stylesheet, loaded once at startup. Colours come from the
libadwaita palette so the app follows the system accent, light/dark and libadwaita palette so the app follows the system accent, light/dark and
-1
View File
@@ -9,7 +9,6 @@
/* Brand */ /* Brand */
.brand-title { font-size: 1.6rem; font-weight: 800; } .brand-title { font-size: 1.6rem; font-weight: 800; }
.brand-icon { color: #6d4aff; }
/* Sidebar footer */ /* Sidebar footer */
.sidebar-footer { padding: 6px 12px 12px 12px; } .sidebar-footer { padding: 6px 12px 12px 12px; }
+30 -2
View File
@@ -884,8 +884,8 @@ fn build_sidebar(footer: &gtk4::Box) -> (adw::NavigationPage, gtk4::ListBox) {
}); });
let brand = gtk4::Box::new(gtk4::Orientation::Horizontal, 8); let brand = gtk4::Box::new(gtk4::Orientation::Horizontal, 8);
let icon = gtk4::Image::from_icon_name("folder-remote-symbolic"); let icon = gtk4::Image::from_icon_name(APP_ID);
icon.add_css_class("brand-icon"); icon.set_pixel_size(24);
brand.append(&icon); brand.append(&icon);
let name = gtk4::Label::new(Some("Proton Drive")); let name = gtk4::Label::new(Some("Proton Drive"));
name.add_css_class("heading"); name.add_css_class("heading");
@@ -1294,11 +1294,39 @@ fn install_window_actions(ui: &Rc<Ui>, window: &adw::ApplicationWindow) {
.developer_name("Nils Pukropp") .developer_name("Nils Pukropp")
.website("https://github.com/narrrl/proton-drive-linux") .website("https://github.com/narrrl/proton-drive-linux")
.issue_url("https://github.com/narrrl/proton-drive-linux/issues") .issue_url("https://github.com/narrrl/proton-drive-linux/issues")
.copyright("© 2026 Nils Pukropp (contact@narl.io)")
.license_type(gtk4::License::MitX11) .license_type(gtk4::License::MitX11)
.comments(gettext("Files-on-demand Proton Drive for the Linux desktop.\n\nUnofficial client — not affiliated with, endorsed by, or supported by Proton AG.")) .comments(gettext("Files-on-demand Proton Drive for the Linux desktop.\n\nUnofficial client — not affiliated with, endorsed by, or supported by Proton AG."))
.debug_info(debug_info(&ui_about)) .debug_info(debug_info(&ui_about))
.debug_info_filename("proton-drive-linux-debug.txt") .debug_info_filename("proton-drive-linux-debug.txt")
.build(); .build();
dialog.add_link(
&gettext("Source Code"),
"https://github.com/narrrl/proton-drive-linux",
);
dialog.add_link(
&gettext("Proton Terms of Service"),
"https://proton.me/legal/terms",
);
dialog.add_link(
&gettext("Proton Privacy Policy"),
"https://proton.me/legal/privacy",
);
// The text is Pango markup: an ampersand must be written as "&amp;".
dialog.add_legal_section(
&gettext("Disclaimer"),
None,
gtk4::License::Custom,
Some(&gettext(
"This is an unofficial, community-built client. It is not affiliated with, endorsed by, or supported by Proton AG.\n\n“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to describe the service this software connects to. Your use of Proton Drive is governed by Proton's own terms of service and privacy policy.\n\nThis software is provided “as is”, without warranty of any kind. Keep a copy of any data you cannot afford to lose.",
)),
);
dialog.add_legal_section(
"proton-sdk-rs",
Some("© 2026 Nils Pukropp (contact@narl.io)"),
gtk4::License::MitX11,
None,
);
// Translators: replace with your name(s) and email address(es), one // Translators: replace with your name(s) and email address(es), one
// per line, to be credited in the About dialog. // per line, to be credited in the About dialog.
let credits = gettext("translator-credits"); let credits = gettext("translator-credits");
+2 -3
View File
@@ -52,9 +52,8 @@ pub(crate) fn build_login_page() -> (gtk4::Widget, LoginState) {
login_status.add_css_class("dim-label"); login_status.add_css_class("dim-label");
let header = gtk4::Box::new(gtk4::Orientation::Vertical, 4); let header = gtk4::Box::new(gtk4::Orientation::Vertical, 4);
let logo = gtk4::Image::from_icon_name("folder-remote-symbolic"); let logo = gtk4::Image::from_icon_name(APP_ID);
logo.set_pixel_size(64); logo.set_pixel_size(96);
logo.add_css_class("brand-icon");
let title = gtk4::Label::new(Some("Proton Drive")); let title = gtk4::Label::new(Some("Proton Drive"));
title.add_css_class("brand-title"); title.add_css_class("brand-title");
header.append(&logo); header.append(&logo);
+36
View File
@@ -12,6 +12,42 @@ Conventions:
--- ---
## B99 — Conflict copies in synced folders are logged again on every start and shown as "Resolved"
**Status:** Fixed (unverified). No daemon carrying the change has been restarted against the
affected copies yet.
**Found:** 2026-09-27. The Activity page listed the same six conflict copies every day, e.g.
`Conflict [EMBER] Oshi no Ko S2 - 12 (sync-conflict 1786815864).mkv` with `Differs from … · 24 times
since Sep 20, 13:13 · Resolved`. `find` showed all six copies still on disk, in `~/Videos` and
`~/Documents`. Both are on-demand sync folders. `pdfs conflicts` answered `No conflicts.`. The
journal showed the daemon mounting at 17:29:33, and the entries were stamped 17:30. That is the
sweep's 30-second warmup.
**Where:** `crates/pdfs-fuse/src/sweep.rs` (`flag_conflict`, `sweep_conflicts_once`),
`crates/pdfs-fuse/src/conflicts.rs` (`list_conflicts`), `crates/pdfs-fuse/src/control.rs`
(`ResolveConflict`).
**Cause.** There were two faults.
- The sweep kept its "already flagged" set only in memory. Every daemon start forgot it, so the
first pass logged every open conflict again.
- The sweep flags copies anywhere in the account's own tree. `list_conflicts` only reported copies
below My Files, and resolving only accepted paths under the primary mount. A copy in a synced
folder was logged but never listed, so the GUI read it as resolved. It also could not be
resolved from the GUI or the CLI.
**Fix.** `Core::conflict_path` names a copy by its mountpoint-relative path under My Files, or
by its absolute local path inside a synced folder. It reuses the roots that search already
resolves hits through. The listing uses it, and the sweep flags only copies it can name. So the
feed never holds a conflict the listing cannot answer for. `ResolveConflict` routes an absolute
path to the on-demand mount that serves it. For a copy in a mirror folder, it says to edit the
local file instead. Before logging, `flag_conflict` checks the activity log
(`Db::activity_has`), so a restart does not log the same copy again. The copy's name carries its
own timestamp, so the name identifies the copy. No schema change.
Regression test: `activity_has_finds_only_matching_kind_and_target`.
---
## B98 — A superseded upload spins its drain thread forever and shows as "Uploading" at 0 bytes ## B98 — A superseded upload spins its drain thread forever and shows as "Uploading" at 0 bytes
**Status:** Fixed (unverified) — the daemon carrying the change has not been driven against a **Status:** Fixed (unverified) — the daemon carrying the change has not been driven against a
+20
View File
@@ -11,6 +11,24 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
## [Unreleased] ## [Unreleased]
## [2.2.2] — 2026-09-27
Schema: **32** (unchanged).
### Fixed
- **Conflicts in synced folders.** A conflict copy inside a synced folder is now listed under
Needs attention and can be resolved there or with `pdfs conflicts`. It used to be logged again
after every restart and marked "Resolved" while it was still on disk (B99).
## [2.2.1] — 2026-09-24
Schema: **32** (unchanged).
### Added
- **Legal information in About.** The About dialog now links to the source code and to Proton's
terms of service and privacy policy, and its Legal page carries the full disclaimer: this client
is unofficial, not affiliated with or endorsed by Proton AG, and comes without warranty.
## [2.2.0] — 2026-09-23 ## [2.2.0] — 2026-09-23
Schema: **32**. Videos that earlier got no thumbnail are tried again. Schema: **32**. Videos that earlier got no thumbnail are tried again.
@@ -1029,6 +1047,8 @@ First stable release: FUSE files-on-demand mount, sync daemon under `proton-driv
- The outstanding FUSE defects tracked in `docs/BUGS.md`, plus a truncate defect, validated - The outstanding FUSE defects tracked in `docs/BUGS.md`, plus a truncate defect, validated
by a new POSIX compliance suite for the filesystem. by a new POSIX compliance suite for the filesystem.
[2.2.2]: https://github.com/narrrl/proton-drive-linux/releases/tag/v2.2.2
[2.2.1]: https://github.com/narrrl/proton-drive-linux/releases/tag/v2.2.1
[2.1.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v2.1.0 [2.1.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v2.1.0
[2.0.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v2.0.0 [2.0.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v2.0.0
[1.11.1]: https://github.com/narrrl/proton-drive-linux/releases/tag/v1.11.1 [1.11.1]: https://github.com/narrrl/proton-drive-linux/releases/tag/v1.11.1
+1 -1
View File
@@ -9,7 +9,7 @@
# Build + install: cd packaging && makepkg -fi # Build + install: cd packaging && makepkg -fi
pkgname=proton-drive-linux pkgname=proton-drive-linux
pkgver=2.2.0 pkgver=2.2.2
pkgrel=1 pkgrel=1
pkgdesc="Unofficial Proton Drive client for Linux: files-on-demand FUSE mount, CLI, GTK4 app + tray" pkgdesc="Unofficial Proton Drive client for Linux: files-on-demand FUSE mount, CLI, GTK4 app + tray"
arch=('x86_64') arch=('x86_64')
@@ -1,6 +1,6 @@
pkgbase = proton-drive-for-linux-bin pkgbase = proton-drive-for-linux-bin
pkgdesc = Unofficial Proton Drive client: FUSE files-on-demand mount, CLI, GTK4 app, tray (binaries) pkgdesc = Unofficial Proton Drive client: FUSE files-on-demand mount, CLI, GTK4 app, tray (binaries)
pkgver = 2.1.1 pkgver = 2.2.1
pkgrel = 1 pkgrel = 1
url = https://github.com/narrrl/proton-drive-linux url = https://github.com/narrrl/proton-drive-linux
arch = x86_64 arch = x86_64
@@ -20,21 +20,21 @@ pkgbase = proton-drive-for-linux-bin
optdepends = xdg-utils: "Open folder" action in the tray menu optdepends = xdg-utils: "Open folder" action in the tray menu
optdepends = fzf: search-as-you-type launcher (pdfs-prompt --fzf) optdepends = fzf: search-as-you-type launcher (pdfs-prompt --fzf)
optdepends = foot: terminal that hosts pdfs-prompt --fzf when started from a keybinding optdepends = foot: terminal that hosts pdfs-prompt --fzf when started from a keybinding
provides = proton-drive-for-linux=2.1.1 provides = proton-drive-for-linux=2.2.1
provides = proton-drive-linux=2.1.1 provides = proton-drive-linux=2.2.1
provides = pdfs provides = pdfs
conflicts = proton-drive-linux conflicts = proton-drive-linux
conflicts = proton-drive-for-linux conflicts = proton-drive-for-linux
conflicts = proton-drive-for-linux-git conflicts = proton-drive-for-linux-git
options = !strip options = !strip
options = !debug options = !debug
source = proton-drive-linux-2.1.1-x86_64.tar.gz::https://github.com/narrrl/proton-drive-linux/releases/download/v2.1.1/proton-drive-linux-2.1.1-x86_64.tar.gz source = proton-drive-linux-2.2.1-x86_64.tar.gz::https://github.com/narrrl/proton-drive-linux/releases/download/v2.2.1/proton-drive-linux-2.2.1-x86_64.tar.gz
source = io.narl.proton-drive-linux.desktop::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.1.1/packaging/io.narl.proton-drive-linux.desktop source = io.narl.proton-drive-linux.desktop::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.2.1/packaging/io.narl.proton-drive-linux.desktop
source = io.narl.proton-drive-linux-tray.desktop::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.1.1/packaging/io.narl.proton-drive-linux-tray.desktop source = io.narl.proton-drive-linux-tray.desktop::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.2.1/packaging/io.narl.proton-drive-linux-tray.desktop
source = io.narl.proton-drive-linux.svg::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.1.1/packaging/io.narl.proton-drive-linux.svg source = io.narl.proton-drive-linux.svg::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.2.1/packaging/io.narl.proton-drive-linux.svg
source = proton-drive.service::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.1.1/packaging/proton-drive.service source = proton-drive.service::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.2.1/packaging/proton-drive.service
source = LICENSE-2.1.1::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.1.1/LICENSE source = LICENSE-2.2.1::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v2.2.1/LICENSE
sha256sums = 3eb9d6787a0dfa66e2f942e9b2dd4a362cc93b50d1f37d176fe931ea1d22d53c sha256sums = 69f0d6996feb95b18d81bb96e9373c61fddb64ab17b50c94cd83ef8d5e0a1425
sha256sums = d190d6771fff0b975271fb62fd3fb0fa8bbf17d7278c10853c18557855b0c123 sha256sums = d190d6771fff0b975271fb62fd3fb0fa8bbf17d7278c10853c18557855b0c123
sha256sums = 1d95e250370220e3bb6aead6ce34d1d6cc759f42c4803b75f1667e78ff47c6c0 sha256sums = 1d95e250370220e3bb6aead6ce34d1d6cc759f42c4803b75f1667e78ff47c6c0
sha256sums = e598a93c2715c3a9fdc7fb937902083d4a1135e8fbdfe6fe7e37f0383ebbd828 sha256sums = e598a93c2715c3a9fdc7fb937902083d4a1135e8fbdfe6fe7e37f0383ebbd828
@@ -1,7 +1,7 @@
# Maintainer: Nils Pukropp <contact@narl.io> # Maintainer: Nils Pukropp <contact@narl.io>
pkgname=proton-drive-for-linux-bin pkgname=proton-drive-for-linux-bin
pkgver=2.1.1 pkgver=2.2.1
pkgrel=1 pkgrel=1
pkgdesc="Unofficial Proton Drive client: FUSE files-on-demand mount, CLI, GTK4 app, tray (binaries)" pkgdesc="Unofficial Proton Drive client: FUSE files-on-demand mount, CLI, GTK4 app, tray (binaries)"
arch=('x86_64') arch=('x86_64')
@@ -30,7 +30,7 @@ source=("proton-drive-linux-$pkgver-x86_64.tar.gz::$url/releases/download/$_tag/
"io.narl.proton-drive-linux.svg::$_raw/packaging/io.narl.proton-drive-linux.svg" "io.narl.proton-drive-linux.svg::$_raw/packaging/io.narl.proton-drive-linux.svg"
"proton-drive.service::$_raw/packaging/proton-drive.service" "proton-drive.service::$_raw/packaging/proton-drive.service"
"LICENSE-$pkgver::$_raw/LICENSE") "LICENSE-$pkgver::$_raw/LICENSE")
sha256sums=('3eb9d6787a0dfa66e2f942e9b2dd4a362cc93b50d1f37d176fe931ea1d22d53c' sha256sums=('69f0d6996feb95b18d81bb96e9373c61fddb64ab17b50c94cd83ef8d5e0a1425'
'd190d6771fff0b975271fb62fd3fb0fa8bbf17d7278c10853c18557855b0c123' 'd190d6771fff0b975271fb62fd3fb0fa8bbf17d7278c10853c18557855b0c123'
'1d95e250370220e3bb6aead6ce34d1d6cc759f42c4803b75f1667e78ff47c6c0' '1d95e250370220e3bb6aead6ce34d1d6cc759f42c4803b75f1667e78ff47c6c0'
'e598a93c2715c3a9fdc7fb937902083d4a1135e8fbdfe6fe7e37f0383ebbd828' 'e598a93c2715c3a9fdc7fb937902083d4a1135e8fbdfe6fe7e37f0383ebbd828'
@@ -1,6 +1,6 @@
pkgbase = proton-drive-for-linux-git pkgbase = proton-drive-for-linux-git
pkgdesc = Unofficial Proton Drive client: FUSE files-on-demand mount, CLI, GTK4 app, tray (git) pkgdesc = Unofficial Proton Drive client: FUSE files-on-demand mount, CLI, GTK4 app, tray (git)
pkgver = 2.0.0.r1.g56161f6 pkgver = 2.2.1.r0.g5109427
pkgrel = 1 pkgrel = 1
url = https://github.com/narrrl/proton-drive-linux url = https://github.com/narrrl/proton-drive-linux
arch = x86_64 arch = x86_64
@@ -23,8 +23,8 @@ pkgbase = proton-drive-for-linux-git
optdepends = xdg-utils: "Open folder" action in the tray menu optdepends = xdg-utils: "Open folder" action in the tray menu
optdepends = fzf: search-as-you-type launcher (pdfs-prompt --fzf) optdepends = fzf: search-as-you-type launcher (pdfs-prompt --fzf)
optdepends = foot: terminal that hosts pdfs-prompt --fzf when started from a keybinding optdepends = foot: terminal that hosts pdfs-prompt --fzf when started from a keybinding
provides = proton-drive-for-linux=2.0.0.r1.g56161f6 provides = proton-drive-for-linux=2.2.1.r0.g5109427
provides = proton-drive-linux=2.0.0.r1.g56161f6 provides = proton-drive-linux=2.2.1.r0.g5109427
provides = pdfs provides = pdfs
conflicts = proton-drive-linux conflicts = proton-drive-linux
conflicts = proton-drive-for-linux conflicts = proton-drive-for-linux
@@ -1,7 +1,7 @@
# Maintainer: Nils Pukropp <contact@narl.io> # Maintainer: Nils Pukropp <contact@narl.io>
pkgname=proton-drive-for-linux-git pkgname=proton-drive-for-linux-git
pkgver=2.0.0.r1.g56161f6 pkgver=2.2.1.r0.g5109427
pkgrel=1 pkgrel=1
pkgdesc="Unofficial Proton Drive client: FUSE files-on-demand mount, CLI, GTK4 app, tray (git)" pkgdesc="Unofficial Proton Drive client: FUSE files-on-demand mount, CLI, GTK4 app, tray (git)"
arch=('x86_64') arch=('x86_64')
@@ -1,6 +1,6 @@
pkgbase = proton-drive-for-linux pkgbase = proton-drive-for-linux
pkgdesc = Unofficial Proton Drive client: files-on-demand FUSE mount, CLI, GTK4 app and tray pkgdesc = Unofficial Proton Drive client: files-on-demand FUSE mount, CLI, GTK4 app and tray
pkgver = 2.1.1 pkgver = 2.2.1
pkgrel = 1 pkgrel = 1
url = https://github.com/narrrl/proton-drive-linux url = https://github.com/narrrl/proton-drive-linux
arch = x86_64 arch = x86_64
@@ -22,13 +22,13 @@ pkgbase = proton-drive-for-linux
optdepends = xdg-utils: "Open folder" action in the tray menu optdepends = xdg-utils: "Open folder" action in the tray menu
optdepends = fzf: search-as-you-type launcher (pdfs-prompt --fzf) optdepends = fzf: search-as-you-type launcher (pdfs-prompt --fzf)
optdepends = foot: terminal that hosts pdfs-prompt --fzf when started from a keybinding optdepends = foot: terminal that hosts pdfs-prompt --fzf when started from a keybinding
provides = proton-drive-linux=2.1.1 provides = proton-drive-linux=2.2.1
provides = pdfs provides = pdfs
conflicts = proton-drive-linux conflicts = proton-drive-linux
conflicts = proton-drive-for-linux-bin conflicts = proton-drive-for-linux-bin
conflicts = proton-drive-for-linux-git conflicts = proton-drive-for-linux-git
options = !lto options = !lto
source = proton-drive-for-linux-2.1.1.tar.gz::https://github.com/narrrl/proton-drive-linux/archive/refs/tags/v2.1.1.tar.gz source = proton-drive-for-linux-2.2.1.tar.gz::https://github.com/narrrl/proton-drive-linux/archive/refs/tags/v2.2.1.tar.gz
sha256sums = 205b19e0cc34ed26bccc5218df7c530a2b2b2755f6a36e2b39b1c29ae9fcb655 sha256sums = 4635716908232896bfb0bf16d0f10300dc2eb59c27c7693607a21eabcac2edff
pkgname = proton-drive-for-linux pkgname = proton-drive-for-linux
@@ -1,7 +1,7 @@
# Maintainer: Nils Pukropp <contact@narl.io> # Maintainer: Nils Pukropp <contact@narl.io>
pkgname=proton-drive-for-linux pkgname=proton-drive-for-linux
pkgver=2.1.1 pkgver=2.2.1
pkgrel=1 pkgrel=1
pkgdesc="Unofficial Proton Drive client: files-on-demand FUSE mount, CLI, GTK4 app and tray" pkgdesc="Unofficial Proton Drive client: files-on-demand FUSE mount, CLI, GTK4 app and tray"
arch=('x86_64') arch=('x86_64')
@@ -22,7 +22,7 @@ conflicts=('proton-drive-linux' 'proton-drive-for-linux-bin' 'proton-drive-for-l
# LTO has broken GTK/Rust links for this workspace; the release profile keeps it off. # LTO has broken GTK/Rust links for this workspace; the release profile keeps it off.
options=('!lto') options=('!lto')
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz") source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('205b19e0cc34ed26bccc5218df7c530a2b2b2755f6a36e2b39b1c29ae9fcb655') sha256sums=('4635716908232896bfb0bf16d0f10300dc2eb59c27c7693607a21eabcac2edff')
_srcname="proton-drive-linux-$pkgver" _srcname="proton-drive-linux-$pkgver"
+5
View File
@@ -21,6 +21,11 @@ for pkg in proton-drive-for-linux proton-drive-for-linux-bin; do
(cd "$pkg" && updpkgsums) (cd "$pkg" && updpkgsums)
done done
# --printsrcinfo does not run pkgver(), so let makepkg clone the source and
# write the current git describe version back into the -git PKGBUILD first.
# --noprepare skips the cargo fetch in prepare().
(cd proton-drive-for-linux-git && makepkg -od --noprepare --noconfirm && rm -rf src)
for pkg in proton-drive-for-linux proton-drive-for-linux-git proton-drive-for-linux-bin; do for pkg in proton-drive-for-linux proton-drive-for-linux-git proton-drive-for-linux-bin; do
(cd "$pkg" && makepkg --printsrcinfo > .SRCINFO) (cd "$pkg" && makepkg --printsrcinfo > .SRCINFO)
echo "updated $pkg" echo "updated $pkg"
+77 -36
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-23 20:16+0200\n" "POT-Creation-Date: 2026-09-24 19:33+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: German\n" "Language-Team: German\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "My files" msgid "My files"
msgstr "Meine Dateien" msgstr "Meine Dateien"
#: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1415 #: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/albums.rs:623 #: crates/pdfs-gui/src/app/pages/albums.rs:623
#: crates/pdfs-gui/src/app/pages/photos.rs:677 #: crates/pdfs-gui/src/app/pages/photos.rs:677
msgid "Photos" msgid "Photos"
@@ -86,12 +86,12 @@ msgstr "Etwas anderes hat dies zuerst geändert"
msgid "Your Proton Drive is full" msgid "Your Proton Drive is full"
msgstr "Das Proton Drive ist voll" msgstr "Das Proton Drive ist voll"
#: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1397 #: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1425
#: crates/pdfs-gui/src/app/pages/status.rs:353 #: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences" msgid "Preferences"
msgstr "Einstellungen" msgstr "Einstellungen"
#: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1454 #: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1482
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
msgstr "Tastenkürzel" msgstr "Tastenkürzel"
@@ -107,7 +107,7 @@ msgstr "Hauptmenü"
msgid "Proton Drive for Linux" msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux" msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1298 #: crates/pdfs-gui/src/app/main.rs:1299
msgid "" msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n" "Files-on-demand Proton Drive for the Linux desktop.\n"
"\n" "\n"
@@ -119,17 +119,58 @@ msgstr ""
"Inoffizieller Client – nicht mit Proton AG verbunden, von Proton AG " "Inoffizieller Client – nicht mit Proton AG verbunden, von Proton AG "
"unterstützt oder befürwortet." "unterstützt oder befürwortet."
#: crates/pdfs-gui/src/app/main.rs:1304
msgid "Source Code"
msgstr "Quellcode"
#: crates/pdfs-gui/src/app/main.rs:1308
msgid "Proton Terms of Service"
msgstr "Nutzungsbedingungen von Proton"
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Proton Privacy Policy"
msgstr "Datenschutzerklärung von Proton"
#: crates/pdfs-gui/src/app/main.rs:1317
msgid "Disclaimer"
msgstr "Haftungsausschluss"
#: crates/pdfs-gui/src/app/main.rs:1321
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
msgstr ""
"Dies ist ein inoffizieller, von der Community entwickelter Client. Er ist "
"nicht mit Proton AG verbunden und wird von Proton AG weder befürwortet noch "
"unterstützt.\n"
"\n"
"„Proton“ und „Proton Drive“ sind Marken der Proton AG und werden hier nur "
"verwendet, um den Dienst zu beschreiben, mit dem sich diese Software "
"verbindet. Für die Nutzung von Proton Drive gelten die Nutzungsbedingungen "
"und die Datenschutzerklärung von Proton.\n"
"\n"
"Diese Software wird „wie besehen“ und ohne jegliche Gewährleistung "
"bereitgestellt. Daten, deren Verlust nicht hinnehmbar ist, sollten "
"zusätzlich gesichert werden."
#. Translators: replace with your name(s) and email address(es), one #. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog. #. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1304 #: crates/pdfs-gui/src/app/main.rs:1332
msgid "translator-credits" msgid "translator-credits"
msgstr "Mitwirkende an Proton Drive for Linux" msgstr "Mitwirkende an Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1335 #: crates/pdfs-gui/src/app/main.rs:1363
msgid "Stop Proton Drive?" msgid "Stop Proton Drive?"
msgstr "Proton Drive beenden?" msgstr "Proton Drive beenden?"
#: crates/pdfs-gui/src/app/main.rs:1336 #: crates/pdfs-gui/src/app/main.rs:1364
msgid "" msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
@@ -138,7 +179,7 @@ msgstr ""
"Verbindung hergestellt wird. Proton Drive startet bei der nächsten Anmeldung " "Verbindung hergestellt wird. Proton Drive startet bei der nächsten Anmeldung "
"erneut." "erneut."
#: crates/pdfs-gui/src/app/main.rs:1338 crates/pdfs-gui/src/app/main.rs:1611 #: crates/pdfs-gui/src/app/main.rs:1366 crates/pdfs-gui/src/app/main.rs:1639
#: crates/pdfs-gui/src/app/pages/albums.rs:242 #: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423 #: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273 #: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -166,67 +207,67 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
#: crates/pdfs-gui/src/app/main.rs:1339 #: crates/pdfs-gui/src/app/main.rs:1367
msgctxt "verb" msgctxt "verb"
msgid "Stop" msgid "Stop"
msgstr "Beenden" msgstr "Beenden"
#: crates/pdfs-gui/src/app/main.rs:1356 #: crates/pdfs-gui/src/app/main.rs:1384
msgid "Couldn't stop Proton Drive" msgid "Couldn't stop Proton Drive"
msgstr "Proton Drive konnte nicht beendet werden" msgstr "Proton Drive konnte nicht beendet werden"
#: crates/pdfs-gui/src/app/main.rs:1357 #: crates/pdfs-gui/src/app/main.rs:1385
msgid "The mount service did not stop." msgid "The mount service did not stop."
msgstr "Der Einhängedienst wurde nicht beendet." msgstr "Der Einhängedienst wurde nicht beendet."
#: crates/pdfs-gui/src/app/main.rs:1393 #: crates/pdfs-gui/src/app/main.rs:1421
#: crates/pdfs-gui/src/app/pages/status.rs:226 #: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General" msgid "General"
msgstr "Allgemein" msgstr "Allgemein"
#: crates/pdfs-gui/src/app/main.rs:1395 #: crates/pdfs-gui/src/app/main.rs:1423
#: crates/pdfs-gui/src/app/pages/browser.rs:270 #: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive" msgid "Search Drive"
msgstr "Drive durchsuchen" msgstr "Drive durchsuchen"
#: crates/pdfs-gui/src/app/main.rs:1396 #: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/pages/browser.rs:1363 #: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh" msgid "Refresh"
msgstr "Aktualisieren" msgstr "Aktualisieren"
#: crates/pdfs-gui/src/app/main.rs:1398 #: crates/pdfs-gui/src/app/main.rs:1426
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Tastenkürzel" msgstr "Tastenkürzel"
#: crates/pdfs-gui/src/app/main.rs:1402 #: crates/pdfs-gui/src/app/main.rs:1430
msgid "Files" msgid "Files"
msgstr "Dateien" msgstr "Dateien"
#: crates/pdfs-gui/src/app/main.rs:1404 #: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:319 #: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586 #: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder" msgid "New folder"
msgstr "Neuer Ordner" msgstr "Neuer Ordner"
#: crates/pdfs-gui/src/app/main.rs:1405 #: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/browser.rs:315 #: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files" msgid "Upload files"
msgstr "Dateien hochladen" msgstr "Dateien hochladen"
#: crates/pdfs-gui/src/app/main.rs:1406 #: crates/pdfs-gui/src/app/main.rs:1434
msgid "Back / forward" msgid "Back / forward"
msgstr "Zurück / Vor" msgstr "Zurück / Vor"
#: crates/pdfs-gui/src/app/main.rs:1407 #: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/pages/browser.rs:2320 #: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder" msgid "Parent folder"
msgstr "Übergeordneter Ordner" msgstr "Übergeordneter Ordner"
#: crates/pdfs-gui/src/app/main.rs:1408 #: crates/pdfs-gui/src/app/main.rs:1436
msgid "Grid / list" msgid "Grid / list"
msgstr "Raster / Liste" msgstr "Raster / Liste"
#: crates/pdfs-gui/src/app/main.rs:1409 #: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/pages/albums.rs:297 #: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252 #: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274 #: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -235,7 +276,7 @@ msgstr "Raster / Liste"
msgid "Rename" msgid "Rename"
msgstr "Umbenennen" msgstr "Umbenennen"
#: crates/pdfs-gui/src/app/main.rs:1410 crates/pdfs-gui/src/app/main.rs:1430 #: crates/pdfs-gui/src/app/main.rs:1438 crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/pages/browser.rs:414 #: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306 #: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338 #: crates/pdfs-gui/src/app/pages/browser.rs:1338
@@ -246,51 +287,51 @@ msgstr "Umbenennen"
msgid "Move to Trash" msgid "Move to Trash"
msgstr "In den Papierkorb verschieben" msgstr "In den Papierkorb verschieben"
#: crates/pdfs-gui/src/app/main.rs:1411 #: crates/pdfs-gui/src/app/main.rs:1439
msgid "Clear the selection" msgid "Clear the selection"
msgstr "Auswahl aufheben" msgstr "Auswahl aufheben"
#: crates/pdfs-gui/src/app/main.rs:1417 #: crates/pdfs-gui/src/app/main.rs:1445
msgid "Larger thumbnails" msgid "Larger thumbnails"
msgstr "Größere Vorschaubilder" msgstr "Größere Vorschaubilder"
#: crates/pdfs-gui/src/app/main.rs:1418 #: crates/pdfs-gui/src/app/main.rs:1446
msgid "Smaller thumbnails" msgid "Smaller thumbnails"
msgstr "Kleinere Vorschaubilder" msgstr "Kleinere Vorschaubilder"
#: crates/pdfs-gui/src/app/main.rs:1419 #: crates/pdfs-gui/src/app/main.rs:1447
msgid "Reset thumbnail size" msgid "Reset thumbnail size"
msgstr "Vorschaubildgröße zurücksetzen" msgstr "Vorschaubildgröße zurücksetzen"
#: crates/pdfs-gui/src/app/main.rs:1420 #: crates/pdfs-gui/src/app/main.rs:1448
msgid "Select all" msgid "Select all"
msgstr "Alles auswählen" msgstr "Alles auswählen"
#: crates/pdfs-gui/src/app/main.rs:1424 #: crates/pdfs-gui/src/app/main.rs:1452
msgid "Photo Viewer" msgid "Photo Viewer"
msgstr "Fotobetrachter" msgstr "Fotobetrachter"
#: crates/pdfs-gui/src/app/main.rs:1426 #: crates/pdfs-gui/src/app/main.rs:1454
msgid "Previous / next photo" msgid "Previous / next photo"
msgstr "Vorheriges / nächstes Foto" msgstr "Vorheriges / nächstes Foto"
#: crates/pdfs-gui/src/app/main.rs:1427 #: crates/pdfs-gui/src/app/main.rs:1455
msgid "First / last photo" msgid "First / last photo"
msgstr "Erstes / letztes Foto" msgstr "Erstes / letztes Foto"
#: crates/pdfs-gui/src/app/main.rs:1428 #: crates/pdfs-gui/src/app/main.rs:1456
msgid "Show details" msgid "Show details"
msgstr "Details anzeigen" msgstr "Details anzeigen"
#: crates/pdfs-gui/src/app/main.rs:1429 #: crates/pdfs-gui/src/app/main.rs:1457
msgid "Fullscreen" msgid "Fullscreen"
msgstr "Vollbild" msgstr "Vollbild"
#: crates/pdfs-gui/src/app/main.rs:1431 #: crates/pdfs-gui/src/app/main.rs:1459
msgid "Close" msgid "Close"
msgstr "Schließen" msgstr "Schließen"
#: crates/pdfs-gui/src/app/main.rs:1534 #: crates/pdfs-gui/src/app/main.rs:1562
msgid "Select a single item to rename it" msgid "Select a single item to rename it"
msgstr "Zum Umbenennen genau ein Element auswählen" msgstr "Zum Umbenennen genau ein Element auswählen"
+74 -36
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-23 20:16+0200\n" "POT-Creation-Date: 2026-09-24 19:33+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: English (United Kingdom)\n" "Language-Team: English (United Kingdom)\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "My files" msgid "My files"
msgstr "My files" msgstr "My files"
#: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1415 #: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/albums.rs:623 #: crates/pdfs-gui/src/app/pages/albums.rs:623
#: crates/pdfs-gui/src/app/pages/photos.rs:677 #: crates/pdfs-gui/src/app/pages/photos.rs:677
msgid "Photos" msgid "Photos"
@@ -86,12 +86,12 @@ msgstr "Something changed this first"
msgid "Your Proton Drive is full" msgid "Your Proton Drive is full"
msgstr "Your Proton Drive is full" msgstr "Your Proton Drive is full"
#: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1397 #: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1425
#: crates/pdfs-gui/src/app/pages/status.rs:353 #: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences" msgid "Preferences"
msgstr "Preferences" msgstr "Preferences"
#: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1454 #: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1482
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
msgstr "Keyboard Shortcuts" msgstr "Keyboard Shortcuts"
@@ -107,7 +107,7 @@ msgstr "Main menu"
msgid "Proton Drive for Linux" msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux" msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1298 #: crates/pdfs-gui/src/app/main.rs:1299
msgid "" msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n" "Files-on-demand Proton Drive for the Linux desktop.\n"
"\n" "\n"
@@ -119,17 +119,55 @@ msgstr ""
"Unofficial client — not affiliated with, endorsed by, or supported by Proton " "Unofficial client — not affiliated with, endorsed by, or supported by Proton "
"AG." "AG."
#: crates/pdfs-gui/src/app/main.rs:1304
msgid "Source Code"
msgstr "Source Code"
#: crates/pdfs-gui/src/app/main.rs:1308
msgid "Proton Terms of Service"
msgstr "Proton Terms of Service"
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Proton Privacy Policy"
msgstr "Proton Privacy Policy"
#: crates/pdfs-gui/src/app/main.rs:1317
msgid "Disclaimer"
msgstr "Disclaimer"
#: crates/pdfs-gui/src/app/main.rs:1321
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
msgstr ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
#. Translators: replace with your name(s) and email address(es), one #. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog. #. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1304 #: crates/pdfs-gui/src/app/main.rs:1332
msgid "translator-credits" msgid "translator-credits"
msgstr "Proton Drive for Linux contributors" msgstr "Proton Drive for Linux contributors"
#: crates/pdfs-gui/src/app/main.rs:1335 #: crates/pdfs-gui/src/app/main.rs:1363
msgid "Stop Proton Drive?" msgid "Stop Proton Drive?"
msgstr "Stop Proton Drive?" msgstr "Stop Proton Drive?"
#: crates/pdfs-gui/src/app/main.rs:1336 #: crates/pdfs-gui/src/app/main.rs:1364
msgid "" msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
@@ -137,7 +175,7 @@ msgstr ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
#: crates/pdfs-gui/src/app/main.rs:1338 crates/pdfs-gui/src/app/main.rs:1611 #: crates/pdfs-gui/src/app/main.rs:1366 crates/pdfs-gui/src/app/main.rs:1639
#: crates/pdfs-gui/src/app/pages/albums.rs:242 #: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423 #: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273 #: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -165,67 +203,67 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "Cancel" msgstr "Cancel"
#: crates/pdfs-gui/src/app/main.rs:1339 #: crates/pdfs-gui/src/app/main.rs:1367
msgctxt "verb" msgctxt "verb"
msgid "Stop" msgid "Stop"
msgstr "Stop" msgstr "Stop"
#: crates/pdfs-gui/src/app/main.rs:1356 #: crates/pdfs-gui/src/app/main.rs:1384
msgid "Couldn't stop Proton Drive" msgid "Couldn't stop Proton Drive"
msgstr "Couldn't stop Proton Drive" msgstr "Couldn't stop Proton Drive"
#: crates/pdfs-gui/src/app/main.rs:1357 #: crates/pdfs-gui/src/app/main.rs:1385
msgid "The mount service did not stop." msgid "The mount service did not stop."
msgstr "The mount service did not stop." msgstr "The mount service did not stop."
#: crates/pdfs-gui/src/app/main.rs:1393 #: crates/pdfs-gui/src/app/main.rs:1421
#: crates/pdfs-gui/src/app/pages/status.rs:226 #: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General" msgid "General"
msgstr "General" msgstr "General"
#: crates/pdfs-gui/src/app/main.rs:1395 #: crates/pdfs-gui/src/app/main.rs:1423
#: crates/pdfs-gui/src/app/pages/browser.rs:270 #: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive" msgid "Search Drive"
msgstr "Search Drive" msgstr "Search Drive"
#: crates/pdfs-gui/src/app/main.rs:1396 #: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/pages/browser.rs:1363 #: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh" msgid "Refresh"
msgstr "Refresh" msgstr "Refresh"
#: crates/pdfs-gui/src/app/main.rs:1398 #: crates/pdfs-gui/src/app/main.rs:1426
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Keyboard shortcuts" msgstr "Keyboard shortcuts"
#: crates/pdfs-gui/src/app/main.rs:1402 #: crates/pdfs-gui/src/app/main.rs:1430
msgid "Files" msgid "Files"
msgstr "Files" msgstr "Files"
#: crates/pdfs-gui/src/app/main.rs:1404 #: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:319 #: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586 #: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder" msgid "New folder"
msgstr "New folder" msgstr "New folder"
#: crates/pdfs-gui/src/app/main.rs:1405 #: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/browser.rs:315 #: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files" msgid "Upload files"
msgstr "Upload files" msgstr "Upload files"
#: crates/pdfs-gui/src/app/main.rs:1406 #: crates/pdfs-gui/src/app/main.rs:1434
msgid "Back / forward" msgid "Back / forward"
msgstr "Back / forward" msgstr "Back / forward"
#: crates/pdfs-gui/src/app/main.rs:1407 #: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/pages/browser.rs:2320 #: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder" msgid "Parent folder"
msgstr "Parent folder" msgstr "Parent folder"
#: crates/pdfs-gui/src/app/main.rs:1408 #: crates/pdfs-gui/src/app/main.rs:1436
msgid "Grid / list" msgid "Grid / list"
msgstr "Grid / list" msgstr "Grid / list"
#: crates/pdfs-gui/src/app/main.rs:1409 #: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/pages/albums.rs:297 #: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252 #: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274 #: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -234,7 +272,7 @@ msgstr "Grid / list"
msgid "Rename" msgid "Rename"
msgstr "Rename" msgstr "Rename"
#: crates/pdfs-gui/src/app/main.rs:1410 crates/pdfs-gui/src/app/main.rs:1430 #: crates/pdfs-gui/src/app/main.rs:1438 crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/pages/browser.rs:414 #: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306 #: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338 #: crates/pdfs-gui/src/app/pages/browser.rs:1338
@@ -245,51 +283,51 @@ msgstr "Rename"
msgid "Move to Trash" msgid "Move to Trash"
msgstr "Move to Trash" msgstr "Move to Trash"
#: crates/pdfs-gui/src/app/main.rs:1411 #: crates/pdfs-gui/src/app/main.rs:1439
msgid "Clear the selection" msgid "Clear the selection"
msgstr "Clear the selection" msgstr "Clear the selection"
#: crates/pdfs-gui/src/app/main.rs:1417 #: crates/pdfs-gui/src/app/main.rs:1445
msgid "Larger thumbnails" msgid "Larger thumbnails"
msgstr "Larger thumbnails" msgstr "Larger thumbnails"
#: crates/pdfs-gui/src/app/main.rs:1418 #: crates/pdfs-gui/src/app/main.rs:1446
msgid "Smaller thumbnails" msgid "Smaller thumbnails"
msgstr "Smaller thumbnails" msgstr "Smaller thumbnails"
#: crates/pdfs-gui/src/app/main.rs:1419 #: crates/pdfs-gui/src/app/main.rs:1447
msgid "Reset thumbnail size" msgid "Reset thumbnail size"
msgstr "Reset thumbnail size" msgstr "Reset thumbnail size"
#: crates/pdfs-gui/src/app/main.rs:1420 #: crates/pdfs-gui/src/app/main.rs:1448
msgid "Select all" msgid "Select all"
msgstr "Select all" msgstr "Select all"
#: crates/pdfs-gui/src/app/main.rs:1424 #: crates/pdfs-gui/src/app/main.rs:1452
msgid "Photo Viewer" msgid "Photo Viewer"
msgstr "Photo Viewer" msgstr "Photo Viewer"
#: crates/pdfs-gui/src/app/main.rs:1426 #: crates/pdfs-gui/src/app/main.rs:1454
msgid "Previous / next photo" msgid "Previous / next photo"
msgstr "Previous / next photo" msgstr "Previous / next photo"
#: crates/pdfs-gui/src/app/main.rs:1427 #: crates/pdfs-gui/src/app/main.rs:1455
msgid "First / last photo" msgid "First / last photo"
msgstr "First / last photo" msgstr "First / last photo"
#: crates/pdfs-gui/src/app/main.rs:1428 #: crates/pdfs-gui/src/app/main.rs:1456
msgid "Show details" msgid "Show details"
msgstr "Show details" msgstr "Show details"
#: crates/pdfs-gui/src/app/main.rs:1429 #: crates/pdfs-gui/src/app/main.rs:1457
msgid "Fullscreen" msgid "Fullscreen"
msgstr "Fullscreen" msgstr "Fullscreen"
#: crates/pdfs-gui/src/app/main.rs:1431 #: crates/pdfs-gui/src/app/main.rs:1459
msgid "Close" msgid "Close"
msgstr "Close" msgstr "Close"
#: crates/pdfs-gui/src/app/main.rs:1534 #: crates/pdfs-gui/src/app/main.rs:1562
msgid "Select a single item to rename it" msgid "Select a single item to rename it"
msgstr "Select a single item to rename it" msgstr "Select a single item to rename it"
+75 -36
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-23 20:16+0200\n" "POT-Creation-Date: 2026-09-24 19:33+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "My files" msgid "My files"
msgstr "Mis archivos" msgstr "Mis archivos"
#: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1415 #: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/albums.rs:623 #: crates/pdfs-gui/src/app/pages/albums.rs:623
#: crates/pdfs-gui/src/app/pages/photos.rs:677 #: crates/pdfs-gui/src/app/pages/photos.rs:677
msgid "Photos" msgid "Photos"
@@ -86,12 +86,12 @@ msgstr "Algo lo cambió antes"
msgid "Your Proton Drive is full" msgid "Your Proton Drive is full"
msgstr "Su Proton Drive está lleno" msgstr "Su Proton Drive está lleno"
#: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1397 #: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1425
#: crates/pdfs-gui/src/app/pages/status.rs:353 #: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences" msgid "Preferences"
msgstr "Preferencias" msgstr "Preferencias"
#: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1454 #: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1482
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
msgstr "Atajos del teclado" msgstr "Atajos del teclado"
@@ -107,7 +107,7 @@ msgstr "Menú principal"
msgid "Proton Drive for Linux" msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux" msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1298 #: crates/pdfs-gui/src/app/main.rs:1299
msgid "" msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n" "Files-on-demand Proton Drive for the Linux desktop.\n"
"\n" "\n"
@@ -119,17 +119,56 @@ msgstr ""
"Cliente no oficial: no está afiliado a Proton AG, ni respaldado ni mantenido " "Cliente no oficial: no está afiliado a Proton AG, ni respaldado ni mantenido "
"por esta." "por esta."
#: crates/pdfs-gui/src/app/main.rs:1304
msgid "Source Code"
msgstr "Código fuente"
#: crates/pdfs-gui/src/app/main.rs:1308
msgid "Proton Terms of Service"
msgstr "Condiciones del servicio de Proton"
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Proton Privacy Policy"
msgstr "Política de privacidad de Proton"
#: crates/pdfs-gui/src/app/main.rs:1317
msgid "Disclaimer"
msgstr "Aviso legal"
#: crates/pdfs-gui/src/app/main.rs:1321
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
msgstr ""
"Este es un cliente no oficial creado por la comunidad. No está afiliado a "
"Proton AG, ni respaldado ni mantenido por esta.\n"
"\n"
"“Proton” y “Proton Drive” son marcas comerciales de Proton AG y se usan aquí "
"solo para describir el servicio al que se conecta este software. El uso de "
"Proton Drive se rige por las condiciones del servicio y la política de "
"privacidad de Proton.\n"
"\n"
"Este software se proporciona “tal cual”, sin garantía de ningún tipo. Guarde "
"una copia de los datos que no pueda permitirse perder."
#. Translators: replace with your name(s) and email address(es), one #. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog. #. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1304 #: crates/pdfs-gui/src/app/main.rs:1332
msgid "translator-credits" msgid "translator-credits"
msgstr "Colaboradores de Proton Drive for Linux" msgstr "Colaboradores de Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1335 #: crates/pdfs-gui/src/app/main.rs:1363
msgid "Stop Proton Drive?" msgid "Stop Proton Drive?"
msgstr "¿Detener Proton Drive?" msgstr "¿Detener Proton Drive?"
#: crates/pdfs-gui/src/app/main.rs:1336 #: crates/pdfs-gui/src/app/main.rs:1364
msgid "" msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
@@ -137,7 +176,7 @@ msgstr ""
"La unidad se desmonta y no se sincroniza nada hasta que vuelva a conectarse. " "La unidad se desmonta y no se sincroniza nada hasta que vuelva a conectarse. "
"Proton Drive se iniciará de nuevo en su próximo inicio de sesión." "Proton Drive se iniciará de nuevo en su próximo inicio de sesión."
#: crates/pdfs-gui/src/app/main.rs:1338 crates/pdfs-gui/src/app/main.rs:1611 #: crates/pdfs-gui/src/app/main.rs:1366 crates/pdfs-gui/src/app/main.rs:1639
#: crates/pdfs-gui/src/app/pages/albums.rs:242 #: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423 #: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273 #: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -165,67 +204,67 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: crates/pdfs-gui/src/app/main.rs:1339 #: crates/pdfs-gui/src/app/main.rs:1367
msgctxt "verb" msgctxt "verb"
msgid "Stop" msgid "Stop"
msgstr "Detener" msgstr "Detener"
#: crates/pdfs-gui/src/app/main.rs:1356 #: crates/pdfs-gui/src/app/main.rs:1384
msgid "Couldn't stop Proton Drive" msgid "Couldn't stop Proton Drive"
msgstr "No se pudo detener Proton Drive" msgstr "No se pudo detener Proton Drive"
#: crates/pdfs-gui/src/app/main.rs:1357 #: crates/pdfs-gui/src/app/main.rs:1385
msgid "The mount service did not stop." msgid "The mount service did not stop."
msgstr "El servicio de montaje no se detuvo." msgstr "El servicio de montaje no se detuvo."
#: crates/pdfs-gui/src/app/main.rs:1393 #: crates/pdfs-gui/src/app/main.rs:1421
#: crates/pdfs-gui/src/app/pages/status.rs:226 #: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General" msgid "General"
msgstr "General" msgstr "General"
#: crates/pdfs-gui/src/app/main.rs:1395 #: crates/pdfs-gui/src/app/main.rs:1423
#: crates/pdfs-gui/src/app/pages/browser.rs:270 #: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive" msgid "Search Drive"
msgstr "Buscar en Drive" msgstr "Buscar en Drive"
#: crates/pdfs-gui/src/app/main.rs:1396 #: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/pages/browser.rs:1363 #: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh" msgid "Refresh"
msgstr "Actualizar" msgstr "Actualizar"
#: crates/pdfs-gui/src/app/main.rs:1398 #: crates/pdfs-gui/src/app/main.rs:1426
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Atajos del teclado" msgstr "Atajos del teclado"
#: crates/pdfs-gui/src/app/main.rs:1402 #: crates/pdfs-gui/src/app/main.rs:1430
msgid "Files" msgid "Files"
msgstr "Archivos" msgstr "Archivos"
#: crates/pdfs-gui/src/app/main.rs:1404 #: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:319 #: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586 #: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder" msgid "New folder"
msgstr "Carpeta nueva" msgstr "Carpeta nueva"
#: crates/pdfs-gui/src/app/main.rs:1405 #: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/browser.rs:315 #: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files" msgid "Upload files"
msgstr "Subir archivos" msgstr "Subir archivos"
#: crates/pdfs-gui/src/app/main.rs:1406 #: crates/pdfs-gui/src/app/main.rs:1434
msgid "Back / forward" msgid "Back / forward"
msgstr "Atrás / adelante" msgstr "Atrás / adelante"
#: crates/pdfs-gui/src/app/main.rs:1407 #: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/pages/browser.rs:2320 #: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder" msgid "Parent folder"
msgstr "Carpeta superior" msgstr "Carpeta superior"
#: crates/pdfs-gui/src/app/main.rs:1408 #: crates/pdfs-gui/src/app/main.rs:1436
msgid "Grid / list" msgid "Grid / list"
msgstr "Cuadrícula / lista" msgstr "Cuadrícula / lista"
#: crates/pdfs-gui/src/app/main.rs:1409 #: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/pages/albums.rs:297 #: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252 #: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274 #: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -234,7 +273,7 @@ msgstr "Cuadrícula / lista"
msgid "Rename" msgid "Rename"
msgstr "Renombrar" msgstr "Renombrar"
#: crates/pdfs-gui/src/app/main.rs:1410 crates/pdfs-gui/src/app/main.rs:1430 #: crates/pdfs-gui/src/app/main.rs:1438 crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/pages/browser.rs:414 #: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306 #: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338 #: crates/pdfs-gui/src/app/pages/browser.rs:1338
@@ -245,51 +284,51 @@ msgstr "Renombrar"
msgid "Move to Trash" msgid "Move to Trash"
msgstr "Mover a la papelera" msgstr "Mover a la papelera"
#: crates/pdfs-gui/src/app/main.rs:1411 #: crates/pdfs-gui/src/app/main.rs:1439
msgid "Clear the selection" msgid "Clear the selection"
msgstr "Anular la selección" msgstr "Anular la selección"
#: crates/pdfs-gui/src/app/main.rs:1417 #: crates/pdfs-gui/src/app/main.rs:1445
msgid "Larger thumbnails" msgid "Larger thumbnails"
msgstr "Miniaturas más grandes" msgstr "Miniaturas más grandes"
#: crates/pdfs-gui/src/app/main.rs:1418 #: crates/pdfs-gui/src/app/main.rs:1446
msgid "Smaller thumbnails" msgid "Smaller thumbnails"
msgstr "Miniaturas más pequeñas" msgstr "Miniaturas más pequeñas"
#: crates/pdfs-gui/src/app/main.rs:1419 #: crates/pdfs-gui/src/app/main.rs:1447
msgid "Reset thumbnail size" msgid "Reset thumbnail size"
msgstr "Restablecer el tamaño de las miniaturas" msgstr "Restablecer el tamaño de las miniaturas"
#: crates/pdfs-gui/src/app/main.rs:1420 #: crates/pdfs-gui/src/app/main.rs:1448
msgid "Select all" msgid "Select all"
msgstr "Seleccionar todo" msgstr "Seleccionar todo"
#: crates/pdfs-gui/src/app/main.rs:1424 #: crates/pdfs-gui/src/app/main.rs:1452
msgid "Photo Viewer" msgid "Photo Viewer"
msgstr "Visor de fotos" msgstr "Visor de fotos"
#: crates/pdfs-gui/src/app/main.rs:1426 #: crates/pdfs-gui/src/app/main.rs:1454
msgid "Previous / next photo" msgid "Previous / next photo"
msgstr "Foto anterior / siguiente" msgstr "Foto anterior / siguiente"
#: crates/pdfs-gui/src/app/main.rs:1427 #: crates/pdfs-gui/src/app/main.rs:1455
msgid "First / last photo" msgid "First / last photo"
msgstr "Primera / última foto" msgstr "Primera / última foto"
#: crates/pdfs-gui/src/app/main.rs:1428 #: crates/pdfs-gui/src/app/main.rs:1456
msgid "Show details" msgid "Show details"
msgstr "Mostrar detalles" msgstr "Mostrar detalles"
#: crates/pdfs-gui/src/app/main.rs:1429 #: crates/pdfs-gui/src/app/main.rs:1457
msgid "Fullscreen" msgid "Fullscreen"
msgstr "Pantalla completa" msgstr "Pantalla completa"
#: crates/pdfs-gui/src/app/main.rs:1431 #: crates/pdfs-gui/src/app/main.rs:1459
msgid "Close" msgid "Close"
msgstr "Cerrar" msgstr "Cerrar"
#: crates/pdfs-gui/src/app/main.rs:1534 #: crates/pdfs-gui/src/app/main.rs:1562
msgid "Select a single item to rename it" msgid "Select a single item to rename it"
msgstr "Seleccione un único elemento para renombrarlo" msgstr "Seleccione un único elemento para renombrarlo"
+76 -36
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-23 20:16+0200\n" "POT-Creation-Date: 2026-09-24 19:33+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: French\n" "Language-Team: French\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "My files" msgid "My files"
msgstr "Mes fichiers" msgstr "Mes fichiers"
#: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1415 #: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/albums.rs:623 #: crates/pdfs-gui/src/app/pages/albums.rs:623
#: crates/pdfs-gui/src/app/pages/photos.rs:677 #: crates/pdfs-gui/src/app/pages/photos.rs:677
msgid "Photos" msgid "Photos"
@@ -86,12 +86,12 @@ msgstr "Quelque chose l’a modifié entre-temps"
msgid "Your Proton Drive is full" msgid "Your Proton Drive is full"
msgstr "Votre Proton Drive est plein" msgstr "Votre Proton Drive est plein"
#: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1397 #: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1425
#: crates/pdfs-gui/src/app/pages/status.rs:353 #: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences" msgid "Preferences"
msgstr "Préférences" msgstr "Préférences"
#: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1454 #: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1482
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
msgstr "Raccourcis clavier" msgstr "Raccourcis clavier"
@@ -107,7 +107,7 @@ msgstr "Menu principal"
msgid "Proton Drive for Linux" msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux" msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1298 #: crates/pdfs-gui/src/app/main.rs:1299
msgid "" msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n" "Files-on-demand Proton Drive for the Linux desktop.\n"
"\n" "\n"
@@ -119,17 +119,57 @@ msgstr ""
"Client non officiel — non affilié à Proton AG, ni approuvé ni pris en charge " "Client non officiel — non affilié à Proton AG, ni approuvé ni pris en charge "
"par Proton AG." "par Proton AG."
#: crates/pdfs-gui/src/app/main.rs:1304
msgid "Source Code"
msgstr "Code source"
#: crates/pdfs-gui/src/app/main.rs:1308
msgid "Proton Terms of Service"
msgstr "Conditions d’utilisation de Proton"
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Proton Privacy Policy"
msgstr "Politique de confidentialité de Proton"
#: crates/pdfs-gui/src/app/main.rs:1317
msgid "Disclaimer"
msgstr "Avertissement"
#: crates/pdfs-gui/src/app/main.rs:1321
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
msgstr ""
"Ceci est un client non officiel développé par la communauté. Il n’est ni "
"affilié à Proton AG, ni approuvé ou pris en charge par Proton AG.\n"
"\n"
"« Proton » et « Proton Drive » sont des marques de Proton AG, utilisées ici "
"uniquement pour décrire le service auquel ce logiciel se connecte. Votre "
"utilisation de Proton Drive est régie par les conditions d’utilisation et la "
"politique de confidentialité de Proton.\n"
"\n"
"Ce logiciel est fourni « tel quel », sans garantie d’aucune sorte. Conservez "
"une copie de toutes les données que vous ne pouvez pas vous permettre de "
"perdre."
#. Translators: replace with your name(s) and email address(es), one #. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog. #. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1304 #: crates/pdfs-gui/src/app/main.rs:1332
msgid "translator-credits" msgid "translator-credits"
msgstr "Les contributeurs de Proton Drive for Linux" msgstr "Les contributeurs de Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1335 #: crates/pdfs-gui/src/app/main.rs:1363
msgid "Stop Proton Drive?" msgid "Stop Proton Drive?"
msgstr "Arrêter Proton Drive ?" msgstr "Arrêter Proton Drive ?"
#: crates/pdfs-gui/src/app/main.rs:1336 #: crates/pdfs-gui/src/app/main.rs:1364
msgid "" msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
@@ -138,7 +178,7 @@ msgstr ""
"vous reconnectiez. Proton Drive redémarrera à votre prochaine ouverture de " "vous reconnectiez. Proton Drive redémarrera à votre prochaine ouverture de "
"session." "session."
#: crates/pdfs-gui/src/app/main.rs:1338 crates/pdfs-gui/src/app/main.rs:1611 #: crates/pdfs-gui/src/app/main.rs:1366 crates/pdfs-gui/src/app/main.rs:1639
#: crates/pdfs-gui/src/app/pages/albums.rs:242 #: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423 #: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273 #: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -166,67 +206,67 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
#: crates/pdfs-gui/src/app/main.rs:1339 #: crates/pdfs-gui/src/app/main.rs:1367
msgctxt "verb" msgctxt "verb"
msgid "Stop" msgid "Stop"
msgstr "Arrêter" msgstr "Arrêter"
#: crates/pdfs-gui/src/app/main.rs:1356 #: crates/pdfs-gui/src/app/main.rs:1384
msgid "Couldn't stop Proton Drive" msgid "Couldn't stop Proton Drive"
msgstr "Impossible d’arrêter Proton Drive" msgstr "Impossible d’arrêter Proton Drive"
#: crates/pdfs-gui/src/app/main.rs:1357 #: crates/pdfs-gui/src/app/main.rs:1385
msgid "The mount service did not stop." msgid "The mount service did not stop."
msgstr "Le service de montage ne s’est pas arrêté." msgstr "Le service de montage ne s’est pas arrêté."
#: crates/pdfs-gui/src/app/main.rs:1393 #: crates/pdfs-gui/src/app/main.rs:1421
#: crates/pdfs-gui/src/app/pages/status.rs:226 #: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General" msgid "General"
msgstr "Général" msgstr "Général"
#: crates/pdfs-gui/src/app/main.rs:1395 #: crates/pdfs-gui/src/app/main.rs:1423
#: crates/pdfs-gui/src/app/pages/browser.rs:270 #: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive" msgid "Search Drive"
msgstr "Rechercher dans Drive" msgstr "Rechercher dans Drive"
#: crates/pdfs-gui/src/app/main.rs:1396 #: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/pages/browser.rs:1363 #: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh" msgid "Refresh"
msgstr "Actualiser" msgstr "Actualiser"
#: crates/pdfs-gui/src/app/main.rs:1398 #: crates/pdfs-gui/src/app/main.rs:1426
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Raccourcis clavier" msgstr "Raccourcis clavier"
#: crates/pdfs-gui/src/app/main.rs:1402 #: crates/pdfs-gui/src/app/main.rs:1430
msgid "Files" msgid "Files"
msgstr "Fichiers" msgstr "Fichiers"
#: crates/pdfs-gui/src/app/main.rs:1404 #: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:319 #: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586 #: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder" msgid "New folder"
msgstr "Nouveau dossier" msgstr "Nouveau dossier"
#: crates/pdfs-gui/src/app/main.rs:1405 #: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/browser.rs:315 #: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files" msgid "Upload files"
msgstr "Téléverser des fichiers" msgstr "Téléverser des fichiers"
#: crates/pdfs-gui/src/app/main.rs:1406 #: crates/pdfs-gui/src/app/main.rs:1434
msgid "Back / forward" msgid "Back / forward"
msgstr "Précédent / suivant" msgstr "Précédent / suivant"
#: crates/pdfs-gui/src/app/main.rs:1407 #: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/pages/browser.rs:2320 #: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder" msgid "Parent folder"
msgstr "Dossier parent" msgstr "Dossier parent"
#: crates/pdfs-gui/src/app/main.rs:1408 #: crates/pdfs-gui/src/app/main.rs:1436
msgid "Grid / list" msgid "Grid / list"
msgstr "Grille / liste" msgstr "Grille / liste"
#: crates/pdfs-gui/src/app/main.rs:1409 #: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/pages/albums.rs:297 #: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252 #: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274 #: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -235,7 +275,7 @@ msgstr "Grille / liste"
msgid "Rename" msgid "Rename"
msgstr "Renommer" msgstr "Renommer"
#: crates/pdfs-gui/src/app/main.rs:1410 crates/pdfs-gui/src/app/main.rs:1430 #: crates/pdfs-gui/src/app/main.rs:1438 crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/pages/browser.rs:414 #: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306 #: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338 #: crates/pdfs-gui/src/app/pages/browser.rs:1338
@@ -246,51 +286,51 @@ msgstr "Renommer"
msgid "Move to Trash" msgid "Move to Trash"
msgstr "Mettre à la corbeille" msgstr "Mettre à la corbeille"
#: crates/pdfs-gui/src/app/main.rs:1411 #: crates/pdfs-gui/src/app/main.rs:1439
msgid "Clear the selection" msgid "Clear the selection"
msgstr "Effacer la sélection" msgstr "Effacer la sélection"
#: crates/pdfs-gui/src/app/main.rs:1417 #: crates/pdfs-gui/src/app/main.rs:1445
msgid "Larger thumbnails" msgid "Larger thumbnails"
msgstr "Miniatures plus grandes" msgstr "Miniatures plus grandes"
#: crates/pdfs-gui/src/app/main.rs:1418 #: crates/pdfs-gui/src/app/main.rs:1446
msgid "Smaller thumbnails" msgid "Smaller thumbnails"
msgstr "Miniatures plus petites" msgstr "Miniatures plus petites"
#: crates/pdfs-gui/src/app/main.rs:1419 #: crates/pdfs-gui/src/app/main.rs:1447
msgid "Reset thumbnail size" msgid "Reset thumbnail size"
msgstr "Réinitialiser la taille des miniatures" msgstr "Réinitialiser la taille des miniatures"
#: crates/pdfs-gui/src/app/main.rs:1420 #: crates/pdfs-gui/src/app/main.rs:1448
msgid "Select all" msgid "Select all"
msgstr "Tout sélectionner" msgstr "Tout sélectionner"
#: crates/pdfs-gui/src/app/main.rs:1424 #: crates/pdfs-gui/src/app/main.rs:1452
msgid "Photo Viewer" msgid "Photo Viewer"
msgstr "Visionneuse de photos" msgstr "Visionneuse de photos"
#: crates/pdfs-gui/src/app/main.rs:1426 #: crates/pdfs-gui/src/app/main.rs:1454
msgid "Previous / next photo" msgid "Previous / next photo"
msgstr "Photo précédente / suivante" msgstr "Photo précédente / suivante"
#: crates/pdfs-gui/src/app/main.rs:1427 #: crates/pdfs-gui/src/app/main.rs:1455
msgid "First / last photo" msgid "First / last photo"
msgstr "Première / dernière photo" msgstr "Première / dernière photo"
#: crates/pdfs-gui/src/app/main.rs:1428 #: crates/pdfs-gui/src/app/main.rs:1456
msgid "Show details" msgid "Show details"
msgstr "Afficher les détails" msgstr "Afficher les détails"
#: crates/pdfs-gui/src/app/main.rs:1429 #: crates/pdfs-gui/src/app/main.rs:1457
msgid "Fullscreen" msgid "Fullscreen"
msgstr "Plein écran" msgstr "Plein écran"
#: crates/pdfs-gui/src/app/main.rs:1431 #: crates/pdfs-gui/src/app/main.rs:1459
msgid "Close" msgid "Close"
msgstr "Fermer" msgstr "Fermer"
#: crates/pdfs-gui/src/app/main.rs:1534 #: crates/pdfs-gui/src/app/main.rs:1562
msgid "Select a single item to rename it" msgid "Select a single item to rename it"
msgstr "Sélectionnez un seul élément pour le renommer" msgstr "Sélectionnez un seul élément pour le renommer"
+75 -36
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-23 20:16+0200\n" "POT-Creation-Date: 2026-09-24 19:33+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "My files" msgid "My files"
msgstr "I miei file" msgstr "I miei file"
#: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1415 #: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/albums.rs:623 #: crates/pdfs-gui/src/app/pages/albums.rs:623
#: crates/pdfs-gui/src/app/pages/photos.rs:677 #: crates/pdfs-gui/src/app/pages/photos.rs:677
msgid "Photos" msgid "Photos"
@@ -86,12 +86,12 @@ msgstr "È stato modificato prima da qualcos'altro"
msgid "Your Proton Drive is full" msgid "Your Proton Drive is full"
msgstr "Il tuo Proton Drive è pieno" msgstr "Il tuo Proton Drive è pieno"
#: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1397 #: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1425
#: crates/pdfs-gui/src/app/pages/status.rs:353 #: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences" msgid "Preferences"
msgstr "Preferenze" msgstr "Preferenze"
#: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1454 #: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1482
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
msgstr "Scorciatoie da tastiera" msgstr "Scorciatoie da tastiera"
@@ -107,7 +107,7 @@ msgstr "Menu principale"
msgid "Proton Drive for Linux" msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux" msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1298 #: crates/pdfs-gui/src/app/main.rs:1299
msgid "" msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n" "Files-on-demand Proton Drive for the Linux desktop.\n"
"\n" "\n"
@@ -118,17 +118,56 @@ msgstr ""
"\n" "\n"
"Client non ufficiale: non affiliato, approvato né supportato da Proton AG." "Client non ufficiale: non affiliato, approvato né supportato da Proton AG."
#: crates/pdfs-gui/src/app/main.rs:1304
msgid "Source Code"
msgstr "Codice sorgente"
#: crates/pdfs-gui/src/app/main.rs:1308
msgid "Proton Terms of Service"
msgstr "Termini di servizio di Proton"
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Proton Privacy Policy"
msgstr "Informativa sulla privacy di Proton"
#: crates/pdfs-gui/src/app/main.rs:1317
msgid "Disclaimer"
msgstr "Esclusione di responsabilità"
#: crates/pdfs-gui/src/app/main.rs:1321
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
msgstr ""
"Questo è un client non ufficiale sviluppato dalla comunità. Non è affiliato, "
"approvato né supportato da Proton AG.\n"
"\n"
"“Proton” e “Proton Drive” sono marchi di Proton AG, usati qui solo per "
"descrivere il servizio a cui si collega questo software. L’uso di Proton "
"Drive è regolato dai termini di servizio e dall’informativa sulla privacy di "
"Proton.\n"
"\n"
"Questo software è fornito “così com’è”, senza alcuna garanzia. Conserva una "
"copia dei dati che non puoi permetterti di perdere."
#. Translators: replace with your name(s) and email address(es), one #. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog. #. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1304 #: crates/pdfs-gui/src/app/main.rs:1332
msgid "translator-credits" msgid "translator-credits"
msgstr "Collaboratori di Proton Drive for Linux" msgstr "Collaboratori di Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1335 #: crates/pdfs-gui/src/app/main.rs:1363
msgid "Stop Proton Drive?" msgid "Stop Proton Drive?"
msgstr "Arrestare Proton Drive?" msgstr "Arrestare Proton Drive?"
#: crates/pdfs-gui/src/app/main.rs:1336 #: crates/pdfs-gui/src/app/main.rs:1364
msgid "" msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
@@ -136,7 +175,7 @@ msgstr ""
"Il disco viene smontato e nulla viene sincronizzato finché non ti " "Il disco viene smontato e nulla viene sincronizzato finché non ti "
"riconnetti. Proton Drive si riavvierà al prossimo accesso." "riconnetti. Proton Drive si riavvierà al prossimo accesso."
#: crates/pdfs-gui/src/app/main.rs:1338 crates/pdfs-gui/src/app/main.rs:1611 #: crates/pdfs-gui/src/app/main.rs:1366 crates/pdfs-gui/src/app/main.rs:1639
#: crates/pdfs-gui/src/app/pages/albums.rs:242 #: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423 #: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273 #: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -164,67 +203,67 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "Annulla" msgstr "Annulla"
#: crates/pdfs-gui/src/app/main.rs:1339 #: crates/pdfs-gui/src/app/main.rs:1367
msgctxt "verb" msgctxt "verb"
msgid "Stop" msgid "Stop"
msgstr "Arresta" msgstr "Arresta"
#: crates/pdfs-gui/src/app/main.rs:1356 #: crates/pdfs-gui/src/app/main.rs:1384
msgid "Couldn't stop Proton Drive" msgid "Couldn't stop Proton Drive"
msgstr "Impossibile arrestare Proton Drive" msgstr "Impossibile arrestare Proton Drive"
#: crates/pdfs-gui/src/app/main.rs:1357 #: crates/pdfs-gui/src/app/main.rs:1385
msgid "The mount service did not stop." msgid "The mount service did not stop."
msgstr "Il servizio di montaggio non si è arrestato." msgstr "Il servizio di montaggio non si è arrestato."
#: crates/pdfs-gui/src/app/main.rs:1393 #: crates/pdfs-gui/src/app/main.rs:1421
#: crates/pdfs-gui/src/app/pages/status.rs:226 #: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General" msgid "General"
msgstr "Generale" msgstr "Generale"
#: crates/pdfs-gui/src/app/main.rs:1395 #: crates/pdfs-gui/src/app/main.rs:1423
#: crates/pdfs-gui/src/app/pages/browser.rs:270 #: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive" msgid "Search Drive"
msgstr "Cerca in Drive" msgstr "Cerca in Drive"
#: crates/pdfs-gui/src/app/main.rs:1396 #: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/pages/browser.rs:1363 #: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh" msgid "Refresh"
msgstr "Aggiorna" msgstr "Aggiorna"
#: crates/pdfs-gui/src/app/main.rs:1398 #: crates/pdfs-gui/src/app/main.rs:1426
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Scorciatoie da tastiera" msgstr "Scorciatoie da tastiera"
#: crates/pdfs-gui/src/app/main.rs:1402 #: crates/pdfs-gui/src/app/main.rs:1430
msgid "Files" msgid "Files"
msgstr "File" msgstr "File"
#: crates/pdfs-gui/src/app/main.rs:1404 #: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:319 #: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586 #: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder" msgid "New folder"
msgstr "Nuova cartella" msgstr "Nuova cartella"
#: crates/pdfs-gui/src/app/main.rs:1405 #: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/browser.rs:315 #: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files" msgid "Upload files"
msgstr "Carica file" msgstr "Carica file"
#: crates/pdfs-gui/src/app/main.rs:1406 #: crates/pdfs-gui/src/app/main.rs:1434
msgid "Back / forward" msgid "Back / forward"
msgstr "Indietro / avanti" msgstr "Indietro / avanti"
#: crates/pdfs-gui/src/app/main.rs:1407 #: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/pages/browser.rs:2320 #: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder" msgid "Parent folder"
msgstr "Cartella superiore" msgstr "Cartella superiore"
#: crates/pdfs-gui/src/app/main.rs:1408 #: crates/pdfs-gui/src/app/main.rs:1436
msgid "Grid / list" msgid "Grid / list"
msgstr "Griglia / elenco" msgstr "Griglia / elenco"
#: crates/pdfs-gui/src/app/main.rs:1409 #: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/pages/albums.rs:297 #: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252 #: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274 #: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -233,7 +272,7 @@ msgstr "Griglia / elenco"
msgid "Rename" msgid "Rename"
msgstr "Rinomina" msgstr "Rinomina"
#: crates/pdfs-gui/src/app/main.rs:1410 crates/pdfs-gui/src/app/main.rs:1430 #: crates/pdfs-gui/src/app/main.rs:1438 crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/pages/browser.rs:414 #: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306 #: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338 #: crates/pdfs-gui/src/app/pages/browser.rs:1338
@@ -244,51 +283,51 @@ msgstr "Rinomina"
msgid "Move to Trash" msgid "Move to Trash"
msgstr "Sposta nel cestino" msgstr "Sposta nel cestino"
#: crates/pdfs-gui/src/app/main.rs:1411 #: crates/pdfs-gui/src/app/main.rs:1439
msgid "Clear the selection" msgid "Clear the selection"
msgstr "Annulla la selezione" msgstr "Annulla la selezione"
#: crates/pdfs-gui/src/app/main.rs:1417 #: crates/pdfs-gui/src/app/main.rs:1445
msgid "Larger thumbnails" msgid "Larger thumbnails"
msgstr "Miniature più grandi" msgstr "Miniature più grandi"
#: crates/pdfs-gui/src/app/main.rs:1418 #: crates/pdfs-gui/src/app/main.rs:1446
msgid "Smaller thumbnails" msgid "Smaller thumbnails"
msgstr "Miniature più piccole" msgstr "Miniature più piccole"
#: crates/pdfs-gui/src/app/main.rs:1419 #: crates/pdfs-gui/src/app/main.rs:1447
msgid "Reset thumbnail size" msgid "Reset thumbnail size"
msgstr "Ripristina la dimensione delle miniature" msgstr "Ripristina la dimensione delle miniature"
#: crates/pdfs-gui/src/app/main.rs:1420 #: crates/pdfs-gui/src/app/main.rs:1448
msgid "Select all" msgid "Select all"
msgstr "Seleziona tutto" msgstr "Seleziona tutto"
#: crates/pdfs-gui/src/app/main.rs:1424 #: crates/pdfs-gui/src/app/main.rs:1452
msgid "Photo Viewer" msgid "Photo Viewer"
msgstr "Visualizzatore di foto" msgstr "Visualizzatore di foto"
#: crates/pdfs-gui/src/app/main.rs:1426 #: crates/pdfs-gui/src/app/main.rs:1454
msgid "Previous / next photo" msgid "Previous / next photo"
msgstr "Foto precedente / successiva" msgstr "Foto precedente / successiva"
#: crates/pdfs-gui/src/app/main.rs:1427 #: crates/pdfs-gui/src/app/main.rs:1455
msgid "First / last photo" msgid "First / last photo"
msgstr "Prima / ultima foto" msgstr "Prima / ultima foto"
#: crates/pdfs-gui/src/app/main.rs:1428 #: crates/pdfs-gui/src/app/main.rs:1456
msgid "Show details" msgid "Show details"
msgstr "Mostra dettagli" msgstr "Mostra dettagli"
#: crates/pdfs-gui/src/app/main.rs:1429 #: crates/pdfs-gui/src/app/main.rs:1457
msgid "Fullscreen" msgid "Fullscreen"
msgstr "Schermo intero" msgstr "Schermo intero"
#: crates/pdfs-gui/src/app/main.rs:1431 #: crates/pdfs-gui/src/app/main.rs:1459
msgid "Close" msgid "Close"
msgstr "Chiudi" msgstr "Chiudi"
#: crates/pdfs-gui/src/app/main.rs:1534 #: crates/pdfs-gui/src/app/main.rs:1562
msgid "Select a single item to rename it" msgid "Select a single item to rename it"
msgstr "Seleziona un solo elemento per rinominarlo" msgstr "Seleziona un solo elemento per rinominarlo"
+75 -36
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-23 20:16+0200\n" "POT-Creation-Date: 2026-09-24 19:33+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Dutch\n" "Language-Team: Dutch\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "My files" msgid "My files"
msgstr "Mijn bestanden" msgstr "Mijn bestanden"
#: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1415 #: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/albums.rs:623 #: crates/pdfs-gui/src/app/pages/albums.rs:623
#: crates/pdfs-gui/src/app/pages/photos.rs:677 #: crates/pdfs-gui/src/app/pages/photos.rs:677
msgid "Photos" msgid "Photos"
@@ -86,12 +86,12 @@ msgstr "Er is eerst iets anders gewijzigd"
msgid "Your Proton Drive is full" msgid "Your Proton Drive is full"
msgstr "Je Proton Drive is vol" msgstr "Je Proton Drive is vol"
#: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1397 #: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1425
#: crates/pdfs-gui/src/app/pages/status.rs:353 #: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences" msgid "Preferences"
msgstr "Voorkeuren" msgstr "Voorkeuren"
#: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1454 #: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1482
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
msgstr "Sneltoetsen" msgstr "Sneltoetsen"
@@ -107,7 +107,7 @@ msgstr "Hoofdmenu"
msgid "Proton Drive for Linux" msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux" msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1298 #: crates/pdfs-gui/src/app/main.rs:1299
msgid "" msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n" "Files-on-demand Proton Drive for the Linux desktop.\n"
"\n" "\n"
@@ -119,17 +119,56 @@ msgstr ""
"Onofficiële client — niet gelieerd aan, onderschreven door of ondersteund " "Onofficiële client — niet gelieerd aan, onderschreven door of ondersteund "
"door Proton AG." "door Proton AG."
#: crates/pdfs-gui/src/app/main.rs:1304
msgid "Source Code"
msgstr "Broncode"
#: crates/pdfs-gui/src/app/main.rs:1308
msgid "Proton Terms of Service"
msgstr "Servicevoorwaarden van Proton"
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Proton Privacy Policy"
msgstr "Privacybeleid van Proton"
#: crates/pdfs-gui/src/app/main.rs:1317
msgid "Disclaimer"
msgstr "Disclaimer"
#: crates/pdfs-gui/src/app/main.rs:1321
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
msgstr ""
"Dit is een onofficiële client, gemaakt door de community. Hij is niet "
"verbonden aan, goedgekeurd door of ondersteund door Proton AG.\n"
"\n"
"“Proton” en “Proton Drive” zijn handelsmerken van Proton AG, hier alleen "
"gebruikt om de dienst te beschrijven waarmee deze software verbinding maakt. "
"Je gebruik van Proton Drive valt onder de eigen servicevoorwaarden en het "
"privacybeleid van Proton.\n"
"\n"
"Deze software wordt geleverd “zoals ze is”, zonder enige garantie. Bewaar "
"een kopie van gegevens die je niet kwijt wilt raken."
#. Translators: replace with your name(s) and email address(es), one #. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog. #. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1304 #: crates/pdfs-gui/src/app/main.rs:1332
msgid "translator-credits" msgid "translator-credits"
msgstr "Bijdragers aan Proton Drive for Linux" msgstr "Bijdragers aan Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1335 #: crates/pdfs-gui/src/app/main.rs:1363
msgid "Stop Proton Drive?" msgid "Stop Proton Drive?"
msgstr "Proton Drive stoppen?" msgstr "Proton Drive stoppen?"
#: crates/pdfs-gui/src/app/main.rs:1336 #: crates/pdfs-gui/src/app/main.rs:1364
msgid "" msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
@@ -137,7 +176,7 @@ msgstr ""
"De schijf wordt ontkoppeld en er wordt niets gesynchroniseerd totdat je " "De schijf wordt ontkoppeld en er wordt niets gesynchroniseerd totdat je "
"opnieuw verbinding maakt. Proton Drive start weer bij je volgende aanmelding." "opnieuw verbinding maakt. Proton Drive start weer bij je volgende aanmelding."
#: crates/pdfs-gui/src/app/main.rs:1338 crates/pdfs-gui/src/app/main.rs:1611 #: crates/pdfs-gui/src/app/main.rs:1366 crates/pdfs-gui/src/app/main.rs:1639
#: crates/pdfs-gui/src/app/pages/albums.rs:242 #: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423 #: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273 #: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -165,67 +204,67 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "Annuleren" msgstr "Annuleren"
#: crates/pdfs-gui/src/app/main.rs:1339 #: crates/pdfs-gui/src/app/main.rs:1367
msgctxt "verb" msgctxt "verb"
msgid "Stop" msgid "Stop"
msgstr "Stoppen" msgstr "Stoppen"
#: crates/pdfs-gui/src/app/main.rs:1356 #: crates/pdfs-gui/src/app/main.rs:1384
msgid "Couldn't stop Proton Drive" msgid "Couldn't stop Proton Drive"
msgstr "Kon Proton Drive niet stoppen" msgstr "Kon Proton Drive niet stoppen"
#: crates/pdfs-gui/src/app/main.rs:1357 #: crates/pdfs-gui/src/app/main.rs:1385
msgid "The mount service did not stop." msgid "The mount service did not stop."
msgstr "De koppeldienst is niet gestopt." msgstr "De koppeldienst is niet gestopt."
#: crates/pdfs-gui/src/app/main.rs:1393 #: crates/pdfs-gui/src/app/main.rs:1421
#: crates/pdfs-gui/src/app/pages/status.rs:226 #: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General" msgid "General"
msgstr "Algemeen" msgstr "Algemeen"
#: crates/pdfs-gui/src/app/main.rs:1395 #: crates/pdfs-gui/src/app/main.rs:1423
#: crates/pdfs-gui/src/app/pages/browser.rs:270 #: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive" msgid "Search Drive"
msgstr "Drive doorzoeken" msgstr "Drive doorzoeken"
#: crates/pdfs-gui/src/app/main.rs:1396 #: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/pages/browser.rs:1363 #: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh" msgid "Refresh"
msgstr "Verversen" msgstr "Verversen"
#: crates/pdfs-gui/src/app/main.rs:1398 #: crates/pdfs-gui/src/app/main.rs:1426
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Sneltoetsen" msgstr "Sneltoetsen"
#: crates/pdfs-gui/src/app/main.rs:1402 #: crates/pdfs-gui/src/app/main.rs:1430
msgid "Files" msgid "Files"
msgstr "Bestanden" msgstr "Bestanden"
#: crates/pdfs-gui/src/app/main.rs:1404 #: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:319 #: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586 #: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder" msgid "New folder"
msgstr "Nieuwe map" msgstr "Nieuwe map"
#: crates/pdfs-gui/src/app/main.rs:1405 #: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/browser.rs:315 #: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files" msgid "Upload files"
msgstr "Bestanden uploaden" msgstr "Bestanden uploaden"
#: crates/pdfs-gui/src/app/main.rs:1406 #: crates/pdfs-gui/src/app/main.rs:1434
msgid "Back / forward" msgid "Back / forward"
msgstr "Terug / vooruit" msgstr "Terug / vooruit"
#: crates/pdfs-gui/src/app/main.rs:1407 #: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/pages/browser.rs:2320 #: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder" msgid "Parent folder"
msgstr "Bovenliggende map" msgstr "Bovenliggende map"
#: crates/pdfs-gui/src/app/main.rs:1408 #: crates/pdfs-gui/src/app/main.rs:1436
msgid "Grid / list" msgid "Grid / list"
msgstr "Raster / lijst" msgstr "Raster / lijst"
#: crates/pdfs-gui/src/app/main.rs:1409 #: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/pages/albums.rs:297 #: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252 #: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274 #: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -234,7 +273,7 @@ msgstr "Raster / lijst"
msgid "Rename" msgid "Rename"
msgstr "Hernoemen" msgstr "Hernoemen"
#: crates/pdfs-gui/src/app/main.rs:1410 crates/pdfs-gui/src/app/main.rs:1430 #: crates/pdfs-gui/src/app/main.rs:1438 crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/pages/browser.rs:414 #: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306 #: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338 #: crates/pdfs-gui/src/app/pages/browser.rs:1338
@@ -245,51 +284,51 @@ msgstr "Hernoemen"
msgid "Move to Trash" msgid "Move to Trash"
msgstr "Naar prullenbak verplaatsen" msgstr "Naar prullenbak verplaatsen"
#: crates/pdfs-gui/src/app/main.rs:1411 #: crates/pdfs-gui/src/app/main.rs:1439
msgid "Clear the selection" msgid "Clear the selection"
msgstr "Selectie wissen" msgstr "Selectie wissen"
#: crates/pdfs-gui/src/app/main.rs:1417 #: crates/pdfs-gui/src/app/main.rs:1445
msgid "Larger thumbnails" msgid "Larger thumbnails"
msgstr "Grotere miniaturen" msgstr "Grotere miniaturen"
#: crates/pdfs-gui/src/app/main.rs:1418 #: crates/pdfs-gui/src/app/main.rs:1446
msgid "Smaller thumbnails" msgid "Smaller thumbnails"
msgstr "Kleinere miniaturen" msgstr "Kleinere miniaturen"
#: crates/pdfs-gui/src/app/main.rs:1419 #: crates/pdfs-gui/src/app/main.rs:1447
msgid "Reset thumbnail size" msgid "Reset thumbnail size"
msgstr "Miniatuurgrootte herstellen" msgstr "Miniatuurgrootte herstellen"
#: crates/pdfs-gui/src/app/main.rs:1420 #: crates/pdfs-gui/src/app/main.rs:1448
msgid "Select all" msgid "Select all"
msgstr "Alles selecteren" msgstr "Alles selecteren"
#: crates/pdfs-gui/src/app/main.rs:1424 #: crates/pdfs-gui/src/app/main.rs:1452
msgid "Photo Viewer" msgid "Photo Viewer"
msgstr "Fotoweergave" msgstr "Fotoweergave"
#: crates/pdfs-gui/src/app/main.rs:1426 #: crates/pdfs-gui/src/app/main.rs:1454
msgid "Previous / next photo" msgid "Previous / next photo"
msgstr "Vorige / volgende foto" msgstr "Vorige / volgende foto"
#: crates/pdfs-gui/src/app/main.rs:1427 #: crates/pdfs-gui/src/app/main.rs:1455
msgid "First / last photo" msgid "First / last photo"
msgstr "Eerste / laatste foto" msgstr "Eerste / laatste foto"
#: crates/pdfs-gui/src/app/main.rs:1428 #: crates/pdfs-gui/src/app/main.rs:1456
msgid "Show details" msgid "Show details"
msgstr "Details tonen" msgstr "Details tonen"
#: crates/pdfs-gui/src/app/main.rs:1429 #: crates/pdfs-gui/src/app/main.rs:1457
msgid "Fullscreen" msgid "Fullscreen"
msgstr "Volledig scherm" msgstr "Volledig scherm"
#: crates/pdfs-gui/src/app/main.rs:1431 #: crates/pdfs-gui/src/app/main.rs:1459
msgid "Close" msgid "Close"
msgstr "Sluiten" msgstr "Sluiten"
#: crates/pdfs-gui/src/app/main.rs:1534 #: crates/pdfs-gui/src/app/main.rs:1562
msgid "Select a single item to rename it" msgid "Select a single item to rename it"
msgstr "Selecteer één item om het te hernoemen" msgstr "Selecteer één item om het te hernoemen"
+66 -37
View File
@@ -6,9 +6,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.1\n" "Project-Id-Version: proton-drive-linux 2.2.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-23 20:16+0200\n" "POT-Creation-Date: 2026-09-24 19:33+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -24,7 +24,7 @@ msgstr ""
msgid "My files" msgid "My files"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1415 #: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/albums.rs:623 #: crates/pdfs-gui/src/app/pages/albums.rs:623
#: crates/pdfs-gui/src/app/pages/photos.rs:677 #: crates/pdfs-gui/src/app/pages/photos.rs:677
msgid "Photos" msgid "Photos"
@@ -89,12 +89,12 @@ msgstr ""
msgid "Your Proton Drive is full" msgid "Your Proton Drive is full"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1397 #: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1425
#: crates/pdfs-gui/src/app/pages/status.rs:353 #: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences" msgid "Preferences"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1454 #: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1482
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
msgstr "" msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Proton Drive for Linux" msgid "Proton Drive for Linux"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1298 #: crates/pdfs-gui/src/app/main.rs:1299
msgid "" msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n" "Files-on-demand Proton Drive for the Linux desktop.\n"
"\n" "\n"
@@ -118,23 +118,52 @@ msgid ""
"AG." "AG."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1304
msgid "Source Code"
msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1308
msgid "Proton Terms of Service"
msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Proton Privacy Policy"
msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1317
msgid "Disclaimer"
msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1321
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
msgstr ""
#. Translators: replace with your name(s) and email address(es), one #. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog. #. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1304 #: crates/pdfs-gui/src/app/main.rs:1332
msgid "translator-credits" msgid "translator-credits"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1335 #: crates/pdfs-gui/src/app/main.rs:1363
msgid "Stop Proton Drive?" msgid "Stop Proton Drive?"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1336 #: crates/pdfs-gui/src/app/main.rs:1364
msgid "" msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1338 crates/pdfs-gui/src/app/main.rs:1611 #: crates/pdfs-gui/src/app/main.rs:1366 crates/pdfs-gui/src/app/main.rs:1639
#: crates/pdfs-gui/src/app/pages/albums.rs:242 #: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423 #: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273 #: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -162,67 +191,67 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1339 #: crates/pdfs-gui/src/app/main.rs:1367
msgctxt "verb" msgctxt "verb"
msgid "Stop" msgid "Stop"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1356 #: crates/pdfs-gui/src/app/main.rs:1384
msgid "Couldn't stop Proton Drive" msgid "Couldn't stop Proton Drive"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1357 #: crates/pdfs-gui/src/app/main.rs:1385
msgid "The mount service did not stop." msgid "The mount service did not stop."
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1393 #: crates/pdfs-gui/src/app/main.rs:1421
#: crates/pdfs-gui/src/app/pages/status.rs:226 #: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General" msgid "General"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1395 #: crates/pdfs-gui/src/app/main.rs:1423
#: crates/pdfs-gui/src/app/pages/browser.rs:270 #: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive" msgid "Search Drive"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1396 #: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/pages/browser.rs:1363 #: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh" msgid "Refresh"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1398 #: crates/pdfs-gui/src/app/main.rs:1426
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1402 #: crates/pdfs-gui/src/app/main.rs:1430
msgid "Files" msgid "Files"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1404 #: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:319 #: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586 #: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder" msgid "New folder"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1405 #: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/browser.rs:315 #: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files" msgid "Upload files"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1406 #: crates/pdfs-gui/src/app/main.rs:1434
msgid "Back / forward" msgid "Back / forward"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1407 #: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/pages/browser.rs:2320 #: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder" msgid "Parent folder"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1408 #: crates/pdfs-gui/src/app/main.rs:1436
msgid "Grid / list" msgid "Grid / list"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1409 #: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/pages/albums.rs:297 #: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252 #: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274 #: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -231,7 +260,7 @@ msgstr ""
msgid "Rename" msgid "Rename"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1410 crates/pdfs-gui/src/app/main.rs:1430 #: crates/pdfs-gui/src/app/main.rs:1438 crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/pages/browser.rs:414 #: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306 #: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338 #: crates/pdfs-gui/src/app/pages/browser.rs:1338
@@ -242,51 +271,51 @@ msgstr ""
msgid "Move to Trash" msgid "Move to Trash"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1411 #: crates/pdfs-gui/src/app/main.rs:1439
msgid "Clear the selection" msgid "Clear the selection"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1417 #: crates/pdfs-gui/src/app/main.rs:1445
msgid "Larger thumbnails" msgid "Larger thumbnails"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1418 #: crates/pdfs-gui/src/app/main.rs:1446
msgid "Smaller thumbnails" msgid "Smaller thumbnails"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1419 #: crates/pdfs-gui/src/app/main.rs:1447
msgid "Reset thumbnail size" msgid "Reset thumbnail size"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1420 #: crates/pdfs-gui/src/app/main.rs:1448
msgid "Select all" msgid "Select all"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1424 #: crates/pdfs-gui/src/app/main.rs:1452
msgid "Photo Viewer" msgid "Photo Viewer"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1426 #: crates/pdfs-gui/src/app/main.rs:1454
msgid "Previous / next photo" msgid "Previous / next photo"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1427 #: crates/pdfs-gui/src/app/main.rs:1455
msgid "First / last photo" msgid "First / last photo"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1428 #: crates/pdfs-gui/src/app/main.rs:1456
msgid "Show details" msgid "Show details"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1429 #: crates/pdfs-gui/src/app/main.rs:1457
msgid "Fullscreen" msgid "Fullscreen"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1431 #: crates/pdfs-gui/src/app/main.rs:1459
msgid "Close" msgid "Close"
msgstr "" msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1534 #: crates/pdfs-gui/src/app/main.rs:1562
msgid "Select a single item to rename it" msgid "Select a single item to rename it"
msgstr "" msgstr ""
+76 -36
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-23 20:16+0200\n" "POT-Creation-Date: 2026-09-24 19:33+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Polish\n" "Language-Team: Polish\n"
@@ -22,7 +22,7 @@ msgstr ""
msgid "My files" msgid "My files"
msgstr "Moje pliki" msgstr "Moje pliki"
#: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1415 #: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/albums.rs:623 #: crates/pdfs-gui/src/app/pages/albums.rs:623
#: crates/pdfs-gui/src/app/pages/photos.rs:677 #: crates/pdfs-gui/src/app/pages/photos.rs:677
msgid "Photos" msgid "Photos"
@@ -87,12 +87,12 @@ msgstr "Coś zmieniło ten element wcześniej"
msgid "Your Proton Drive is full" msgid "Your Proton Drive is full"
msgstr "Proton Drive jest pełny" msgstr "Proton Drive jest pełny"
#: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1397 #: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1425
#: crates/pdfs-gui/src/app/pages/status.rs:353 #: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences" msgid "Preferences"
msgstr "Preferencje" msgstr "Preferencje"
#: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1454 #: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1482
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
msgstr "Skróty klawiszowe" msgstr "Skróty klawiszowe"
@@ -108,7 +108,7 @@ msgstr "Menu główne"
msgid "Proton Drive for Linux" msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux" msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1298 #: crates/pdfs-gui/src/app/main.rs:1299
msgid "" msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n" "Files-on-demand Proton Drive for the Linux desktop.\n"
"\n" "\n"
@@ -120,17 +120,57 @@ msgstr ""
"Nieoficjalny klient — niepowiązany z Proton AG, niepopierany ani " "Nieoficjalny klient — niepowiązany z Proton AG, niepopierany ani "
"niewspierany przez tę firmę." "niewspierany przez tę firmę."
#: crates/pdfs-gui/src/app/main.rs:1304
msgid "Source Code"
msgstr "Kod źródłowy"
#: crates/pdfs-gui/src/app/main.rs:1308
msgid "Proton Terms of Service"
msgstr "Warunki korzystania z usług Proton"
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Proton Privacy Policy"
msgstr "Polityka prywatności Proton"
#: crates/pdfs-gui/src/app/main.rs:1317
msgid "Disclaimer"
msgstr "Zastrzeżenia"
#: crates/pdfs-gui/src/app/main.rs:1321
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
msgstr ""
"To nieoficjalny klient tworzony przez społeczność. Nie jest powiązany z "
"Proton AG, zatwierdzony ani wspierany przez Proton AG.\n"
"\n"
"„Proton” i „Proton Drive” są znakami towarowymi Proton AG, użytymi tu "
"wyłącznie do opisania usługi, z którą łączy się to oprogramowanie. "
"Korzystanie z Proton Drive podlega warunkom korzystania z usług i polityce "
"prywatności Proton.\n"
"\n"
"To oprogramowanie jest dostarczane „tak jak jest”, bez jakiejkolwiek "
"gwarancji. Zachowaj kopię danych, na których utratę nie możesz sobie "
"pozwolić."
#. Translators: replace with your name(s) and email address(es), one #. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog. #. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1304 #: crates/pdfs-gui/src/app/main.rs:1332
msgid "translator-credits" msgid "translator-credits"
msgstr "Współtwórcy programu Proton Drive for Linux" msgstr "Współtwórcy programu Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1335 #: crates/pdfs-gui/src/app/main.rs:1363
msgid "Stop Proton Drive?" msgid "Stop Proton Drive?"
msgstr "Zatrzymać Proton Drive?" msgstr "Zatrzymać Proton Drive?"
#: crates/pdfs-gui/src/app/main.rs:1336 #: crates/pdfs-gui/src/app/main.rs:1364
msgid "" msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
@@ -138,7 +178,7 @@ msgstr ""
"Dysk zostanie odmontowany, a synchronizacja wstrzymana do czasu ponownego " "Dysk zostanie odmontowany, a synchronizacja wstrzymana do czasu ponownego "
"połączenia. Proton Drive uruchomi się ponownie przy następnym zalogowaniu." "połączenia. Proton Drive uruchomi się ponownie przy następnym zalogowaniu."
#: crates/pdfs-gui/src/app/main.rs:1338 crates/pdfs-gui/src/app/main.rs:1611 #: crates/pdfs-gui/src/app/main.rs:1366 crates/pdfs-gui/src/app/main.rs:1639
#: crates/pdfs-gui/src/app/pages/albums.rs:242 #: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423 #: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273 #: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -166,67 +206,67 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "Anuluj" msgstr "Anuluj"
#: crates/pdfs-gui/src/app/main.rs:1339 #: crates/pdfs-gui/src/app/main.rs:1367
msgctxt "verb" msgctxt "verb"
msgid "Stop" msgid "Stop"
msgstr "Zatrzymaj" msgstr "Zatrzymaj"
#: crates/pdfs-gui/src/app/main.rs:1356 #: crates/pdfs-gui/src/app/main.rs:1384
msgid "Couldn't stop Proton Drive" msgid "Couldn't stop Proton Drive"
msgstr "Nie można zatrzymać Proton Drive" msgstr "Nie można zatrzymać Proton Drive"
#: crates/pdfs-gui/src/app/main.rs:1357 #: crates/pdfs-gui/src/app/main.rs:1385
msgid "The mount service did not stop." msgid "The mount service did not stop."
msgstr "Usługa montowania nie została zatrzymana." msgstr "Usługa montowania nie została zatrzymana."
#: crates/pdfs-gui/src/app/main.rs:1393 #: crates/pdfs-gui/src/app/main.rs:1421
#: crates/pdfs-gui/src/app/pages/status.rs:226 #: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General" msgid "General"
msgstr "Ogólne" msgstr "Ogólne"
#: crates/pdfs-gui/src/app/main.rs:1395 #: crates/pdfs-gui/src/app/main.rs:1423
#: crates/pdfs-gui/src/app/pages/browser.rs:270 #: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive" msgid "Search Drive"
msgstr "Przeszukaj Drive" msgstr "Przeszukaj Drive"
#: crates/pdfs-gui/src/app/main.rs:1396 #: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/pages/browser.rs:1363 #: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh" msgid "Refresh"
msgstr "Odśwież" msgstr "Odśwież"
#: crates/pdfs-gui/src/app/main.rs:1398 #: crates/pdfs-gui/src/app/main.rs:1426
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Skróty klawiszowe" msgstr "Skróty klawiszowe"
#: crates/pdfs-gui/src/app/main.rs:1402 #: crates/pdfs-gui/src/app/main.rs:1430
msgid "Files" msgid "Files"
msgstr "Pliki" msgstr "Pliki"
#: crates/pdfs-gui/src/app/main.rs:1404 #: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:319 #: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586 #: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder" msgid "New folder"
msgstr "Nowy katalog" msgstr "Nowy katalog"
#: crates/pdfs-gui/src/app/main.rs:1405 #: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/browser.rs:315 #: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files" msgid "Upload files"
msgstr "Wyślij pliki" msgstr "Wyślij pliki"
#: crates/pdfs-gui/src/app/main.rs:1406 #: crates/pdfs-gui/src/app/main.rs:1434
msgid "Back / forward" msgid "Back / forward"
msgstr "Wstecz/dalej" msgstr "Wstecz/dalej"
#: crates/pdfs-gui/src/app/main.rs:1407 #: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/pages/browser.rs:2320 #: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder" msgid "Parent folder"
msgstr "Katalog nadrzędny" msgstr "Katalog nadrzędny"
#: crates/pdfs-gui/src/app/main.rs:1408 #: crates/pdfs-gui/src/app/main.rs:1436
msgid "Grid / list" msgid "Grid / list"
msgstr "Siatka/lista" msgstr "Siatka/lista"
#: crates/pdfs-gui/src/app/main.rs:1409 #: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/pages/albums.rs:297 #: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252 #: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274 #: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -235,7 +275,7 @@ msgstr "Siatka/lista"
msgid "Rename" msgid "Rename"
msgstr "Zmień nazwę" msgstr "Zmień nazwę"
#: crates/pdfs-gui/src/app/main.rs:1410 crates/pdfs-gui/src/app/main.rs:1430 #: crates/pdfs-gui/src/app/main.rs:1438 crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/pages/browser.rs:414 #: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306 #: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338 #: crates/pdfs-gui/src/app/pages/browser.rs:1338
@@ -246,51 +286,51 @@ msgstr "Zmień nazwę"
msgid "Move to Trash" msgid "Move to Trash"
msgstr "Przenieś do kosza" msgstr "Przenieś do kosza"
#: crates/pdfs-gui/src/app/main.rs:1411 #: crates/pdfs-gui/src/app/main.rs:1439
msgid "Clear the selection" msgid "Clear the selection"
msgstr "Wyczyść zaznaczenie" msgstr "Wyczyść zaznaczenie"
#: crates/pdfs-gui/src/app/main.rs:1417 #: crates/pdfs-gui/src/app/main.rs:1445
msgid "Larger thumbnails" msgid "Larger thumbnails"
msgstr "Większe miniatury" msgstr "Większe miniatury"
#: crates/pdfs-gui/src/app/main.rs:1418 #: crates/pdfs-gui/src/app/main.rs:1446
msgid "Smaller thumbnails" msgid "Smaller thumbnails"
msgstr "Mniejsze miniatury" msgstr "Mniejsze miniatury"
#: crates/pdfs-gui/src/app/main.rs:1419 #: crates/pdfs-gui/src/app/main.rs:1447
msgid "Reset thumbnail size" msgid "Reset thumbnail size"
msgstr "Przywróć rozmiar miniatur" msgstr "Przywróć rozmiar miniatur"
#: crates/pdfs-gui/src/app/main.rs:1420 #: crates/pdfs-gui/src/app/main.rs:1448
msgid "Select all" msgid "Select all"
msgstr "Zaznacz wszystko" msgstr "Zaznacz wszystko"
#: crates/pdfs-gui/src/app/main.rs:1424 #: crates/pdfs-gui/src/app/main.rs:1452
msgid "Photo Viewer" msgid "Photo Viewer"
msgstr "Przeglądarka zdjęć" msgstr "Przeglądarka zdjęć"
#: crates/pdfs-gui/src/app/main.rs:1426 #: crates/pdfs-gui/src/app/main.rs:1454
msgid "Previous / next photo" msgid "Previous / next photo"
msgstr "Poprzednie/następne zdjęcie" msgstr "Poprzednie/następne zdjęcie"
#: crates/pdfs-gui/src/app/main.rs:1427 #: crates/pdfs-gui/src/app/main.rs:1455
msgid "First / last photo" msgid "First / last photo"
msgstr "Pierwsze/ostatnie zdjęcie" msgstr "Pierwsze/ostatnie zdjęcie"
#: crates/pdfs-gui/src/app/main.rs:1428 #: crates/pdfs-gui/src/app/main.rs:1456
msgid "Show details" msgid "Show details"
msgstr "Wyświetl szczegóły" msgstr "Wyświetl szczegóły"
#: crates/pdfs-gui/src/app/main.rs:1429 #: crates/pdfs-gui/src/app/main.rs:1457
msgid "Fullscreen" msgid "Fullscreen"
msgstr "Pełny ekran" msgstr "Pełny ekran"
#: crates/pdfs-gui/src/app/main.rs:1431 #: crates/pdfs-gui/src/app/main.rs:1459
msgid "Close" msgid "Close"
msgstr "Zamknij" msgstr "Zamknij"
#: crates/pdfs-gui/src/app/main.rs:1534 #: crates/pdfs-gui/src/app/main.rs:1562
msgid "Select a single item to rename it" msgid "Select a single item to rename it"
msgstr "Należy zaznaczyć jeden element, aby zmienić jego nazwę" msgstr "Należy zaznaczyć jeden element, aby zmienić jego nazwę"
+75 -36
View File
@@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: proton-drive-linux 2.1.0\n" "Project-Id-Version: proton-drive-linux 2.1.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-09-23 20:16+0200\n" "POT-Creation-Date: 2026-09-24 19:33+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n" "Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Portuguese (Brazil)\n" "Language-Team: Portuguese (Brazil)\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "My files" msgid "My files"
msgstr "Meus arquivos" msgstr "Meus arquivos"
#: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1415 #: crates/pdfs-gui/src/app/main.rs:830 crates/pdfs-gui/src/app/main.rs:1443
#: crates/pdfs-gui/src/app/pages/albums.rs:623 #: crates/pdfs-gui/src/app/pages/albums.rs:623
#: crates/pdfs-gui/src/app/pages/photos.rs:677 #: crates/pdfs-gui/src/app/pages/photos.rs:677
msgid "Photos" msgid "Photos"
@@ -86,12 +86,12 @@ msgstr "Algo alterou isso antes"
msgid "Your Proton Drive is full" msgid "Your Proton Drive is full"
msgstr "Seu Proton Drive está cheio" msgstr "Seu Proton Drive está cheio"
#: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1397 #: crates/pdfs-gui/src/app/main.rs:1237 crates/pdfs-gui/src/app/main.rs:1425
#: crates/pdfs-gui/src/app/pages/status.rs:353 #: crates/pdfs-gui/src/app/pages/status.rs:353
msgid "Preferences" msgid "Preferences"
msgstr "Preferências" msgstr "Preferências"
#: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1454 #: crates/pdfs-gui/src/app/main.rs:1238 crates/pdfs-gui/src/app/main.rs:1482
msgid "Keyboard Shortcuts" msgid "Keyboard Shortcuts"
msgstr "Atalhos de teclado" msgstr "Atalhos de teclado"
@@ -107,7 +107,7 @@ msgstr "Menu principal"
msgid "Proton Drive for Linux" msgid "Proton Drive for Linux"
msgstr "Proton Drive for Linux" msgstr "Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1298 #: crates/pdfs-gui/src/app/main.rs:1299
msgid "" msgid ""
"Files-on-demand Proton Drive for the Linux desktop.\n" "Files-on-demand Proton Drive for the Linux desktop.\n"
"\n" "\n"
@@ -118,17 +118,56 @@ msgstr ""
"\n" "\n"
"Cliente não oficial — sem afiliação, endosso ou suporte da Proton AG." "Cliente não oficial — sem afiliação, endosso ou suporte da Proton AG."
#: crates/pdfs-gui/src/app/main.rs:1304
msgid "Source Code"
msgstr "Código-fonte"
#: crates/pdfs-gui/src/app/main.rs:1308
msgid "Proton Terms of Service"
msgstr "Termos de Serviço da Proton"
#: crates/pdfs-gui/src/app/main.rs:1312
msgid "Proton Privacy Policy"
msgstr "Política de Privacidade da Proton"
#: crates/pdfs-gui/src/app/main.rs:1317
msgid "Disclaimer"
msgstr "Aviso legal"
#: crates/pdfs-gui/src/app/main.rs:1321
msgid ""
"This is an unofficial, community-built client. It is not affiliated with, "
"endorsed by, or supported by Proton AG.\n"
"\n"
"“Proton” and “Proton Drive” are trademarks of Proton AG, used here only to "
"describe the service this software connects to. Your use of Proton Drive is "
"governed by Proton's own terms of service and privacy policy.\n"
"\n"
"This software is provided “as is”, without warranty of any kind. Keep a copy "
"of any data you cannot afford to lose."
msgstr ""
"Este é um cliente não oficial, criado pela comunidade. Ele não é afiliado, "
"endossado nem mantido pela Proton AG.\n"
"\n"
"“Proton” e “Proton Drive” são marcas registradas da Proton AG, usadas aqui "
"apenas para descrever o serviço ao qual este software se conecta. O uso do "
"Proton Drive é regido pelos termos de serviço e pela política de privacidade "
"da própria Proton.\n"
"\n"
"Este software é fornecido “no estado em que se encontra”, sem garantia de "
"qualquer tipo. Mantenha uma cópia de todos os dados que você não pode perder."
#. Translators: replace with your name(s) and email address(es), one #. Translators: replace with your name(s) and email address(es), one
#. per line, to be credited in the About dialog. #. per line, to be credited in the About dialog.
#: crates/pdfs-gui/src/app/main.rs:1304 #: crates/pdfs-gui/src/app/main.rs:1332
msgid "translator-credits" msgid "translator-credits"
msgstr "Colaboradores do Proton Drive for Linux" msgstr "Colaboradores do Proton Drive for Linux"
#: crates/pdfs-gui/src/app/main.rs:1335 #: crates/pdfs-gui/src/app/main.rs:1363
msgid "Stop Proton Drive?" msgid "Stop Proton Drive?"
msgstr "Parar o Proton Drive?" msgstr "Parar o Proton Drive?"
#: crates/pdfs-gui/src/app/main.rs:1336 #: crates/pdfs-gui/src/app/main.rs:1364
msgid "" msgid ""
"The drive unmounts and nothing syncs until you connect again. Proton Drive " "The drive unmounts and nothing syncs until you connect again. Proton Drive "
"starts again at your next login." "starts again at your next login."
@@ -136,7 +175,7 @@ msgstr ""
"A unidade é desmontada e nada é sincronizado até você se conectar novamente. " "A unidade é desmontada e nada é sincronizado até você se conectar novamente. "
"O Proton Drive inicia novamente no seu próximo login." "O Proton Drive inicia novamente no seu próximo login."
#: crates/pdfs-gui/src/app/main.rs:1338 crates/pdfs-gui/src/app/main.rs:1611 #: crates/pdfs-gui/src/app/main.rs:1366 crates/pdfs-gui/src/app/main.rs:1639
#: crates/pdfs-gui/src/app/pages/albums.rs:242 #: crates/pdfs-gui/src/app/pages/albums.rs:242
#: crates/pdfs-gui/src/app/pages/albums.rs:423 #: crates/pdfs-gui/src/app/pages/albums.rs:423
#: crates/pdfs-gui/src/app/pages/browser.rs:2273 #: crates/pdfs-gui/src/app/pages/browser.rs:2273
@@ -164,67 +203,67 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: crates/pdfs-gui/src/app/main.rs:1339 #: crates/pdfs-gui/src/app/main.rs:1367
msgctxt "verb" msgctxt "verb"
msgid "Stop" msgid "Stop"
msgstr "Parar" msgstr "Parar"
#: crates/pdfs-gui/src/app/main.rs:1356 #: crates/pdfs-gui/src/app/main.rs:1384
msgid "Couldn't stop Proton Drive" msgid "Couldn't stop Proton Drive"
msgstr "Não foi possível parar o Proton Drive" msgstr "Não foi possível parar o Proton Drive"
#: crates/pdfs-gui/src/app/main.rs:1357 #: crates/pdfs-gui/src/app/main.rs:1385
msgid "The mount service did not stop." msgid "The mount service did not stop."
msgstr "O serviço de montagem não parou." msgstr "O serviço de montagem não parou."
#: crates/pdfs-gui/src/app/main.rs:1393 #: crates/pdfs-gui/src/app/main.rs:1421
#: crates/pdfs-gui/src/app/pages/status.rs:226 #: crates/pdfs-gui/src/app/pages/status.rs:226
msgid "General" msgid "General"
msgstr "Geral" msgstr "Geral"
#: crates/pdfs-gui/src/app/main.rs:1395 #: crates/pdfs-gui/src/app/main.rs:1423
#: crates/pdfs-gui/src/app/pages/browser.rs:270 #: crates/pdfs-gui/src/app/pages/browser.rs:270
msgid "Search Drive" msgid "Search Drive"
msgstr "Pesquisar no Drive" msgstr "Pesquisar no Drive"
#: crates/pdfs-gui/src/app/main.rs:1396 #: crates/pdfs-gui/src/app/main.rs:1424
#: crates/pdfs-gui/src/app/pages/browser.rs:1363 #: crates/pdfs-gui/src/app/pages/browser.rs:1363
msgid "Refresh" msgid "Refresh"
msgstr "Atualizar" msgstr "Atualizar"
#: crates/pdfs-gui/src/app/main.rs:1398 #: crates/pdfs-gui/src/app/main.rs:1426
msgid "Keyboard shortcuts" msgid "Keyboard shortcuts"
msgstr "Atalhos de teclado" msgstr "Atalhos de teclado"
#: crates/pdfs-gui/src/app/main.rs:1402 #: crates/pdfs-gui/src/app/main.rs:1430
msgid "Files" msgid "Files"
msgstr "Arquivos" msgstr "Arquivos"
#: crates/pdfs-gui/src/app/main.rs:1404 #: crates/pdfs-gui/src/app/main.rs:1432
#: crates/pdfs-gui/src/app/pages/browser.rs:319 #: crates/pdfs-gui/src/app/pages/browser.rs:319
#: crates/pdfs-gui/src/app/pages/browser.rs:2586 #: crates/pdfs-gui/src/app/pages/browser.rs:2586
msgid "New folder" msgid "New folder"
msgstr "Nova pasta" msgstr "Nova pasta"
#: crates/pdfs-gui/src/app/main.rs:1405 #: crates/pdfs-gui/src/app/main.rs:1433
#: crates/pdfs-gui/src/app/pages/browser.rs:315 #: crates/pdfs-gui/src/app/pages/browser.rs:315
msgid "Upload files" msgid "Upload files"
msgstr "Enviar arquivos" msgstr "Enviar arquivos"
#: crates/pdfs-gui/src/app/main.rs:1406 #: crates/pdfs-gui/src/app/main.rs:1434
msgid "Back / forward" msgid "Back / forward"
msgstr "Voltar / avançar" msgstr "Voltar / avançar"
#: crates/pdfs-gui/src/app/main.rs:1407 #: crates/pdfs-gui/src/app/main.rs:1435
#: crates/pdfs-gui/src/app/pages/browser.rs:2320 #: crates/pdfs-gui/src/app/pages/browser.rs:2320
msgid "Parent folder" msgid "Parent folder"
msgstr "Pasta superior" msgstr "Pasta superior"
#: crates/pdfs-gui/src/app/main.rs:1408 #: crates/pdfs-gui/src/app/main.rs:1436
msgid "Grid / list" msgid "Grid / list"
msgstr "Grade / lista" msgstr "Grade / lista"
#: crates/pdfs-gui/src/app/main.rs:1409 #: crates/pdfs-gui/src/app/main.rs:1437
#: crates/pdfs-gui/src/app/pages/albums.rs:297 #: crates/pdfs-gui/src/app/pages/albums.rs:297
#: crates/pdfs-gui/src/app/pages/browser.rs:2252 #: crates/pdfs-gui/src/app/pages/browser.rs:2252
#: crates/pdfs-gui/src/app/pages/browser.rs:2274 #: crates/pdfs-gui/src/app/pages/browser.rs:2274
@@ -233,7 +272,7 @@ msgstr "Grade / lista"
msgid "Rename" msgid "Rename"
msgstr "Renomear" msgstr "Renomear"
#: crates/pdfs-gui/src/app/main.rs:1410 crates/pdfs-gui/src/app/main.rs:1430 #: crates/pdfs-gui/src/app/main.rs:1438 crates/pdfs-gui/src/app/main.rs:1458
#: crates/pdfs-gui/src/app/pages/browser.rs:414 #: crates/pdfs-gui/src/app/pages/browser.rs:414
#: crates/pdfs-gui/src/app/pages/browser.rs:1306 #: crates/pdfs-gui/src/app/pages/browser.rs:1306
#: crates/pdfs-gui/src/app/pages/browser.rs:1338 #: crates/pdfs-gui/src/app/pages/browser.rs:1338
@@ -244,51 +283,51 @@ msgstr "Renomear"
msgid "Move to Trash" msgid "Move to Trash"
msgstr "Mover para a lixeira" msgstr "Mover para a lixeira"
#: crates/pdfs-gui/src/app/main.rs:1411 #: crates/pdfs-gui/src/app/main.rs:1439
msgid "Clear the selection" msgid "Clear the selection"
msgstr "Limpar a seleção" msgstr "Limpar a seleção"
#: crates/pdfs-gui/src/app/main.rs:1417 #: crates/pdfs-gui/src/app/main.rs:1445
msgid "Larger thumbnails" msgid "Larger thumbnails"
msgstr "Miniaturas maiores" msgstr "Miniaturas maiores"
#: crates/pdfs-gui/src/app/main.rs:1418 #: crates/pdfs-gui/src/app/main.rs:1446
msgid "Smaller thumbnails" msgid "Smaller thumbnails"
msgstr "Miniaturas menores" msgstr "Miniaturas menores"
#: crates/pdfs-gui/src/app/main.rs:1419 #: crates/pdfs-gui/src/app/main.rs:1447
msgid "Reset thumbnail size" msgid "Reset thumbnail size"
msgstr "Redefinir tamanho das miniaturas" msgstr "Redefinir tamanho das miniaturas"
#: crates/pdfs-gui/src/app/main.rs:1420 #: crates/pdfs-gui/src/app/main.rs:1448
msgid "Select all" msgid "Select all"
msgstr "Selecionar tudo" msgstr "Selecionar tudo"
#: crates/pdfs-gui/src/app/main.rs:1424 #: crates/pdfs-gui/src/app/main.rs:1452
msgid "Photo Viewer" msgid "Photo Viewer"
msgstr "Visualizador de fotos" msgstr "Visualizador de fotos"
#: crates/pdfs-gui/src/app/main.rs:1426 #: crates/pdfs-gui/src/app/main.rs:1454
msgid "Previous / next photo" msgid "Previous / next photo"
msgstr "Foto anterior / próxima" msgstr "Foto anterior / próxima"
#: crates/pdfs-gui/src/app/main.rs:1427 #: crates/pdfs-gui/src/app/main.rs:1455
msgid "First / last photo" msgid "First / last photo"
msgstr "Primeira / última foto" msgstr "Primeira / última foto"
#: crates/pdfs-gui/src/app/main.rs:1428 #: crates/pdfs-gui/src/app/main.rs:1456
msgid "Show details" msgid "Show details"
msgstr "Mostrar detalhes" msgstr "Mostrar detalhes"
#: crates/pdfs-gui/src/app/main.rs:1429 #: crates/pdfs-gui/src/app/main.rs:1457
msgid "Fullscreen" msgid "Fullscreen"
msgstr "Tela cheia" msgstr "Tela cheia"
#: crates/pdfs-gui/src/app/main.rs:1431 #: crates/pdfs-gui/src/app/main.rs:1459
msgid "Close" msgid "Close"
msgstr "Fechar" msgstr "Fechar"
#: crates/pdfs-gui/src/app/main.rs:1534 #: crates/pdfs-gui/src/app/main.rs:1562
msgid "Select a single item to rename it" msgid "Select a single item to rename it"
msgstr "Selecione um único item para renomeá-lo" msgstr "Selecione um único item para renomeá-lo"