mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 08:56:59 +01:00
Compare commits
11
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d13e74fc12 | ||
|
|
07c9b675d3 | ||
|
|
f82343b844 | ||
|
|
d09e10dc7d | ||
|
|
8d0351124c | ||
|
|
a888e0bb28 | ||
|
|
c7fc85e943 | ||
|
|
5bfae0fee1 | ||
|
|
edd62c5f7a | ||
|
|
5c1530b4b9 | ||
|
|
ce324510de |
No files matched your search
Generated
+22
-22
@@ -166,7 +166,7 @@ version = "1.1.5"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
|
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -177,7 +177,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"anstyle",
|
"anstyle",
|
||||||
"once_cell_polyfill",
|
"once_cell_polyfill",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1254,7 +1254,7 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
"option-ext",
|
"option-ext",
|
||||||
"redox_users",
|
"redox_users",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1433,7 +1433,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -1896,7 +1896,7 @@ dependencies = [
|
|||||||
"gobject-sys",
|
"gobject-sys",
|
||||||
"libc",
|
"libc",
|
||||||
"system-deps 9.0.0",
|
"system-deps 9.0.0",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -3100,7 +3100,7 @@ version = "0.50.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
|
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -3474,7 +3474,7 @@ checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pdfs-cli"
|
name = "pdfs-cli"
|
||||||
version = "3.1.0"
|
version = "3.1.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
@@ -3490,7 +3490,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pdfs-core"
|
name = "pdfs-core"
|
||||||
version = "3.1.0"
|
version = "3.1.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"base64 0.23.1",
|
"base64 0.23.1",
|
||||||
@@ -3516,7 +3516,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pdfs-fuse"
|
name = "pdfs-fuse"
|
||||||
version = "3.1.0"
|
version = "3.1.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"base64 0.23.1",
|
"base64 0.23.1",
|
||||||
@@ -3538,7 +3538,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pdfs-gui"
|
name = "pdfs-gui"
|
||||||
version = "3.1.0"
|
version = "3.1.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-channel",
|
"async-channel",
|
||||||
@@ -3778,9 +3778,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proton-drive-rs"
|
name = "proton-drive-rs"
|
||||||
version = "0.8.0"
|
version = "0.8.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5bde475139afb5fc2649621e1d283e243f9df2bb412f08802cdf3f4ffaf97c44"
|
checksum = "014165ed0f2d3847a4b8956ca94a82ba16c82f2d5c7fa139c3541c15150dba21"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"base64 0.23.1",
|
"base64 0.23.1",
|
||||||
@@ -3805,9 +3805,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proton-sdk"
|
name = "proton-sdk"
|
||||||
version = "0.8.0"
|
version = "0.8.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "faf32d0a03f7d13bd9bdcc8c9503e35e9df9318ca9f2a100dcf06cf50cb7ac8c"
|
checksum = "9e16bf5592b7947708dd754defeaee7a58e9fa35988a6ea345b5b9a93765fd81"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes-gcm 0.11.1",
|
"aes-gcm 0.11.1",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -3926,7 +3926,7 @@ dependencies = [
|
|||||||
"once_cell",
|
"once_cell",
|
||||||
"socket2",
|
"socket2",
|
||||||
"tracing",
|
"tracing",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -4374,7 +4374,7 @@ dependencies = [
|
|||||||
"errno",
|
"errno",
|
||||||
"libc",
|
"libc",
|
||||||
"linux-raw-sys",
|
"linux-raw-sys",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -4431,7 +4431,7 @@ dependencies = [
|
|||||||
"security-framework",
|
"security-framework",
|
||||||
"security-framework-sys",
|
"security-framework-sys",
|
||||||
"webpki-root-certs",
|
"webpki-root-certs",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -4764,7 +4764,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
|
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -4932,10 +4932,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
|
checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"fastrand",
|
"fastrand",
|
||||||
"getrandom 0.4.3",
|
"getrandom 0.3.4",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"rustix",
|
"rustix",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -5266,7 +5266,7 @@ checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"memoffset",
|
"memoffset",
|
||||||
"tempfile",
|
"tempfile",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -5590,7 +5590,7 @@ version = "0.1.11"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|||||||
+3
-3
@@ -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 = "3.1.0"
|
version = "3.1.2"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
authors = ["Nils Pukropp <contact@narl.io>"]
|
authors = ["Nils Pukropp <contact@narl.io>"]
|
||||||
@@ -15,8 +15,8 @@ keywords = ["proton", "drive", "fuse", "sync", "linux"]
|
|||||||
categories = ["filesystem", "command-line-utilities"]
|
categories = ["filesystem", "command-line-utilities"]
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
proton-sdk = { version = "0.8.0" }
|
proton-sdk = { version = "0.8.1" }
|
||||||
proton-drive-rs = { version = "0.8.0" }
|
proton-drive-rs = { version = "0.8.1" }
|
||||||
|
|
||||||
# Internal crates.
|
# Internal crates.
|
||||||
pdfs-core = { path = "crates/pdfs-core" }
|
pdfs-core = { path = "crates/pdfs-core" }
|
||||||
|
|||||||
+22
-13
@@ -1816,20 +1816,29 @@ fn cmd_login(username: Option<String>, remember: bool) -> Result<()> {
|
|||||||
// Only a two-password account is ever asked for this.
|
// Only a two-password account is ever asked for this.
|
||||||
let get_mailbox = |attempt: u32| prompt_mailbox(attempt, remember);
|
let get_mailbox = |attempt: u32| prompt_mailbox(attempt, remember);
|
||||||
|
|
||||||
|
// Proton may ask for a CAPTCHA first, usually on a VPN. The CLI has no
|
||||||
|
// browser engine, so the user solves the page in their own browser and says
|
||||||
|
// when they are done; the retry then carries the challenge token.
|
||||||
|
let get_hv = |hv: pdfs_core::proton_sdk::api::HumanVerification| {
|
||||||
|
println!(
|
||||||
|
"Proton is asking for a CAPTCHA before it will accept this sign-in.\n\
|
||||||
|
Open this page in your browser and complete it:\n\n {}\n",
|
||||||
|
auth::browser_verification_url(&hv)
|
||||||
|
);
|
||||||
|
prompt_line("Press Enter once the page says you are verified")
|
||||||
|
.map_err(|e| pdfs_core::Error::Other(format!("read verification answer: {e}")))?;
|
||||||
|
Ok(auth::browser_verified(&hv))
|
||||||
|
};
|
||||||
|
|
||||||
let rt = tokio::runtime::Runtime::new()?;
|
let rt = tokio::runtime::Runtime::new()?;
|
||||||
// Solving a CAPTCHA needs a browser engine, which the CLI has no business
|
rt.block_on(auth::login_interactive(
|
||||||
// carrying. Point at the app that does rather than failing with the raw API
|
&username,
|
||||||
// message, which reads as "your login is broken".
|
&password,
|
||||||
rt.block_on(auth::login(&username, &password, get_totp, get_mailbox))
|
get_totp,
|
||||||
.map_err(|e| match e {
|
get_mailbox,
|
||||||
pdfs_core::Error::HumanVerificationRequired(_) => anyhow::anyhow!(
|
get_hv,
|
||||||
"Proton is asking for a CAPTCHA before it will accept this sign-in.\n\
|
))
|
||||||
Run `pdfs-app` and sign in there — it can show the verification page.\n\
|
.context("login failed")?;
|
||||||
(This is usually triggered by a VPN or an unfamiliar IP; signing in from \
|
|
||||||
your usual network often avoids it.)"
|
|
||||||
),
|
|
||||||
other => anyhow::Error::new(other).context("login failed"),
|
|
||||||
})?;
|
|
||||||
|
|
||||||
// A daemon that is already up is parked in `wait_for_session`, sleeping
|
// A daemon that is already up is parked in `wait_for_session`, sleeping
|
||||||
// between keyring checks; restart it so the mount appears now instead of
|
// between keyring checks; restart it so the mount appears now instead of
|
||||||
|
|||||||
@@ -109,7 +109,10 @@ fn client_config() -> ProtonClientConfiguration {
|
|||||||
let (app_version, user_agent) = match AppDirs::new() {
|
let (app_version, user_agent) = match AppDirs::new() {
|
||||||
Ok(dirs) => {
|
Ok(dirs) => {
|
||||||
let config = dirs.load_config();
|
let config = dirs.load_config();
|
||||||
(config.app_version, config.user_agent)
|
(
|
||||||
|
config.resolved_app_version().to_string(),
|
||||||
|
config.resolved_user_agent().to_string(),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
Err(_) => (APP_VERSION.to_string(), USER_AGENT.to_string()),
|
Err(_) => (APP_VERSION.to_string(), USER_AGENT.to_string()),
|
||||||
};
|
};
|
||||||
@@ -203,6 +206,44 @@ pub async fn login_interactive(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Proton's verification page for the user's own browser, for a front-end that
|
||||||
|
/// cannot host it in a webview.
|
||||||
|
///
|
||||||
|
/// Unlike [`HumanVerification::verification_url`] this asks for the full page,
|
||||||
|
/// not the embedded one: a browser tab has no host to post the token to, so the
|
||||||
|
/// page has to tell the user they are done instead. Proton Mail Bridge opens the
|
||||||
|
/// same URL.
|
||||||
|
pub fn browser_verification_url(hv: &HumanVerification) -> String {
|
||||||
|
let token: String = hv
|
||||||
|
.token
|
||||||
|
.bytes()
|
||||||
|
.map(|b| match b {
|
||||||
|
b'A'..=b'Z' | b'a'..=b'z' | b'0'..=b'9' | b'-' | b'_' | b'.' | b'~' => {
|
||||||
|
(b as char).to_string()
|
||||||
|
}
|
||||||
|
_ => format!("%{b:02X}"),
|
||||||
|
})
|
||||||
|
.collect();
|
||||||
|
format!(
|
||||||
|
"https://verify.proton.me/?methods={}&token={token}",
|
||||||
|
hv.methods.join(","),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The credential to retry with once the user has solved the challenge in
|
||||||
|
/// their browser.
|
||||||
|
///
|
||||||
|
/// The browser keeps the page's own token, so the retry carries the challenge
|
||||||
|
/// token instead: solving the page marks that token as verified on Proton's
|
||||||
|
/// side. The type is every offered method, as Proton Mail Bridge sends it, since
|
||||||
|
/// the user may have picked any of them on the page.
|
||||||
|
pub fn browser_verified(hv: &HumanVerification) -> HumanVerificationCredential {
|
||||||
|
HumanVerificationCredential {
|
||||||
|
token: hv.token.clone(),
|
||||||
|
method: hv.methods.join(","),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// [`login`], replaying a human-verification token the user has already earned.
|
/// [`login`], replaying a human-verification token the user has already earned.
|
||||||
///
|
///
|
||||||
/// A gated login fails with [`Error::HumanVerificationRequired`] carrying the
|
/// A gated login fails with [`Error::HumanVerificationRequired`] carrying the
|
||||||
@@ -671,6 +712,30 @@ mod tests {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn challenge() -> HumanVerification {
|
||||||
|
serde_json::from_str(
|
||||||
|
r#"{"HumanVerificationToken":"ab+c/d=","HumanVerificationMethods":["captcha","email"]}"#,
|
||||||
|
)
|
||||||
|
.unwrap()
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn the_browser_gets_the_full_verification_page() {
|
||||||
|
assert_eq!(
|
||||||
|
browser_verification_url(&challenge()),
|
||||||
|
"https://verify.proton.me/?methods=captcha,email&token=ab%2Bc%2Fd%3D"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The browser keeps the page's token, so the retry replays the challenge
|
||||||
|
/// itself, typed with every method the page offered.
|
||||||
|
#[test]
|
||||||
|
fn a_browser_verification_retries_with_the_challenge_token() {
|
||||||
|
let credential = browser_verified(&challenge());
|
||||||
|
assert_eq!(credential.token, "ab+c/d=");
|
||||||
|
assert_eq!(credential.method, "captcha,email");
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn passphrases_survive_the_blob_encoding() {
|
fn passphrases_survive_the_blob_encoding() {
|
||||||
let decoded = decode(&encode(&passphrases())).expect("decodes");
|
let decoded = decode(&encode(&passphrases())).expect("decodes");
|
||||||
|
|||||||
+106
-34
@@ -3,7 +3,7 @@
|
|||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
use directories::ProjectDirs;
|
use directories::ProjectDirs;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Deserializer, Serialize};
|
||||||
|
|
||||||
use crate::error::{Error, Result};
|
use crate::error::{Error, Result};
|
||||||
use crate::menu::PromptConfig;
|
use crate::menu::PromptConfig;
|
||||||
@@ -12,8 +12,19 @@ use crate::syncignore::DEFAULT_IGNORE_PATTERNS;
|
|||||||
|
|
||||||
/// Proton requires `external-drive-{name}@{semver}-{channel}` (channel ∈
|
/// Proton requires `external-drive-{name}@{semver}-{channel}` (channel ∈
|
||||||
/// stable/beta/alpha); a malformed value trips the 422 anti-abuse path.
|
/// stable/beta/alpha); a malformed value trips the 422 anti-abuse path.
|
||||||
pub const APP_VERSION: &str = "external-drive-linux@0.1.0-alpha";
|
/// Follows the release so Proton can tell releases apart and retire old ones
|
||||||
pub const USER_AGENT: &str = "proton-drive-linux/0.1.0";
|
/// without retiring every one.
|
||||||
|
pub const APP_VERSION: &str = concat!(
|
||||||
|
"external-drive-linux@",
|
||||||
|
env!("CARGO_PKG_VERSION"),
|
||||||
|
"-stable"
|
||||||
|
);
|
||||||
|
pub const USER_AGENT: &str = concat!("proton-drive-linux/", env!("CARGO_PKG_VERSION"));
|
||||||
|
|
||||||
|
/// The fixed identity every release up to 3.1.0 wrote into `config.json`. Read
|
||||||
|
/// back as "unset" so those configs follow the release instead of pinning it.
|
||||||
|
const LEGACY_APP_VERSION: &str = "external-drive-linux@0.1.0-alpha";
|
||||||
|
const LEGACY_USER_AGENT: &str = "proton-drive-linux/0.1.0";
|
||||||
|
|
||||||
/// Keyring service name; one entry per credential kind keyed by username.
|
/// Keyring service name; one entry per credential kind keyed by username.
|
||||||
pub const KEYRING_SERVICE: &str = "proton-drive-linux";
|
pub const KEYRING_SERVICE: &str = "proton-drive-linux";
|
||||||
@@ -76,10 +87,24 @@ fn resolve_sweep_mode(env: Option<&str>, stored: Option<SweepMode>) -> SweepMode
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Configuration structure allowing the user to customize client identification headers.
|
/// Configuration structure allowing the user to customize client identification headers.
|
||||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone, Default)]
|
||||||
pub struct AppConfig {
|
pub struct AppConfig {
|
||||||
pub app_version: String,
|
/// Override for [`APP_VERSION`]. `None` means "use the release's own";
|
||||||
pub user_agent: String,
|
/// the old fixed default reads as `None`, so it leaves the file on the
|
||||||
|
/// next save.
|
||||||
|
#[serde(
|
||||||
|
default,
|
||||||
|
deserialize_with = "identity_override",
|
||||||
|
skip_serializing_if = "Option::is_none"
|
||||||
|
)]
|
||||||
|
pub app_version: Option<String>,
|
||||||
|
/// Override for [`USER_AGENT`], handled like `app_version`.
|
||||||
|
#[serde(
|
||||||
|
default,
|
||||||
|
deserialize_with = "identity_override",
|
||||||
|
skip_serializing_if = "Option::is_none"
|
||||||
|
)]
|
||||||
|
pub user_agent: Option<String>,
|
||||||
/// Soft cap on the on-disk content cache, in bytes (`0` = unlimited).
|
/// Soft cap on the on-disk content cache, in bytes (`0` = unlimited).
|
||||||
/// `None` means "use [`DEFAULT_CACHE_BUDGET_BYTES`]"; the Settings page
|
/// `None` means "use [`DEFAULT_CACHE_BUDGET_BYTES`]"; the Settings page
|
||||||
/// writes an explicit value here. Defaulted for configs predating the field.
|
/// writes an explicit value here. Defaulted for configs predating the field.
|
||||||
@@ -216,31 +241,28 @@ impl FileSort {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for AppConfig {
|
/// Reads an `app_version` or `user_agent` override, dropping the fixed
|
||||||
fn default() -> Self {
|
/// identity older releases stored as the default.
|
||||||
Self {
|
fn identity_override<'de, D: Deserializer<'de>>(
|
||||||
app_version: APP_VERSION.to_string(),
|
deserializer: D,
|
||||||
user_agent: USER_AGENT.to_string(),
|
) -> std::result::Result<Option<String>, D::Error> {
|
||||||
cache_budget: None,
|
let value = Option::<String>::deserialize(deserializer)?;
|
||||||
upload_limit: None,
|
Ok(value.filter(|v| v != LEGACY_APP_VERSION && v != LEGACY_USER_AGENT))
|
||||||
download_limit: None,
|
|
||||||
mountpoint: None,
|
|
||||||
ignore_patterns: None,
|
|
||||||
device_uid: None,
|
|
||||||
conflict_sweep: None,
|
|
||||||
open_with: None,
|
|
||||||
prompt: None,
|
|
||||||
proton_theme: None,
|
|
||||||
files_view: FilesView::default(),
|
|
||||||
tray_hidden: false,
|
|
||||||
language: None,
|
|
||||||
online_map: false,
|
|
||||||
local_first: None,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AppConfig {
|
impl AppConfig {
|
||||||
|
/// The `x-pm-appversion` sent to Proton: the user's override, or
|
||||||
|
/// [`APP_VERSION`].
|
||||||
|
pub fn resolved_app_version(&self) -> &str {
|
||||||
|
self.app_version.as_deref().unwrap_or(APP_VERSION)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The `User-Agent` sent to Proton: the user's override, or
|
||||||
|
/// [`USER_AGENT`].
|
||||||
|
pub fn resolved_user_agent(&self) -> &str {
|
||||||
|
self.user_agent.as_deref().unwrap_or(USER_AGENT)
|
||||||
|
}
|
||||||
|
|
||||||
/// The effective cache budget in bytes: the user's explicit choice, or
|
/// The effective cache budget in bytes: the user's explicit choice, or
|
||||||
/// [`DEFAULT_CACHE_BUDGET_BYTES`] when unset.
|
/// [`DEFAULT_CACHE_BUDGET_BYTES`] when unset.
|
||||||
pub fn resolved_cache_budget(&self) -> u64 {
|
pub fn resolved_cache_budget(&self) -> u64 {
|
||||||
@@ -571,8 +593,8 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn test_app_config_serialization() {
|
fn test_app_config_serialization() {
|
||||||
let config = AppConfig {
|
let config = AppConfig {
|
||||||
app_version: "external-drive-test-client@1.0.0".to_string(),
|
app_version: Some("external-drive-test-client@1.0.0".to_string()),
|
||||||
user_agent: "test-agent/1.0".to_string(),
|
user_agent: Some("test-agent/1.0".to_string()),
|
||||||
cache_budget: Some(1234),
|
cache_budget: Some(1234),
|
||||||
upload_limit: Some(500_000),
|
upload_limit: Some(500_000),
|
||||||
download_limit: None,
|
download_limit: None,
|
||||||
@@ -596,8 +618,11 @@ mod tests {
|
|||||||
};
|
};
|
||||||
let json = serde_json::to_string(&config).unwrap();
|
let json = serde_json::to_string(&config).unwrap();
|
||||||
let decoded: AppConfig = serde_json::from_str(&json).unwrap();
|
let decoded: AppConfig = serde_json::from_str(&json).unwrap();
|
||||||
assert_eq!(decoded.app_version, "external-drive-test-client@1.0.0");
|
assert_eq!(
|
||||||
assert_eq!(decoded.user_agent, "test-agent/1.0");
|
decoded.resolved_app_version(),
|
||||||
|
"external-drive-test-client@1.0.0"
|
||||||
|
);
|
||||||
|
assert_eq!(decoded.resolved_user_agent(), "test-agent/1.0");
|
||||||
assert_eq!(decoded.proton_theme, Some(true));
|
assert_eq!(decoded.proton_theme, Some(true));
|
||||||
assert!(decoded.tray_hidden);
|
assert!(decoded.tray_hidden);
|
||||||
assert!(decoded.online_map);
|
assert!(decoded.online_map);
|
||||||
@@ -628,8 +653,55 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn test_default_app_config() {
|
fn test_default_app_config() {
|
||||||
let default_config = AppConfig::default();
|
let default_config = AppConfig::default();
|
||||||
assert_eq!(default_config.app_version, APP_VERSION);
|
assert_eq!(default_config.resolved_app_version(), APP_VERSION);
|
||||||
assert_eq!(default_config.user_agent, USER_AGENT);
|
assert_eq!(default_config.resolved_user_agent(), USER_AGENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn the_client_identity_follows_the_release() {
|
||||||
|
let version = env!("CARGO_PKG_VERSION");
|
||||||
|
assert_eq!(
|
||||||
|
APP_VERSION,
|
||||||
|
format!("external-drive-linux@{version}-stable")
|
||||||
|
);
|
||||||
|
assert_eq!(USER_AGENT, format!("proton-drive-linux/{version}"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn an_old_config_with_the_fixed_identity_follows_the_release() {
|
||||||
|
// Every config written up to 3.1.0 holds these two values, so they must
|
||||||
|
// not pin the identity once Proton retires 0.1.0.
|
||||||
|
let json = format!(
|
||||||
|
r#"{{"app_version":"{LEGACY_APP_VERSION}","user_agent":"{LEGACY_USER_AGENT}","tray_hidden":true}}"#
|
||||||
|
);
|
||||||
|
let decoded: AppConfig = serde_json::from_str(&json).unwrap();
|
||||||
|
assert_eq!(decoded.resolved_app_version(), APP_VERSION);
|
||||||
|
assert_eq!(decoded.resolved_user_agent(), USER_AGENT);
|
||||||
|
assert!(decoded.tray_hidden, "the rest of the config survives");
|
||||||
|
|
||||||
|
let saved = serde_json::to_string(&decoded).unwrap();
|
||||||
|
assert!(!saved.contains("app_version"), "{saved}");
|
||||||
|
assert!(!saved.contains("user_agent"), "{saved}");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn a_hand_set_client_identity_is_kept() {
|
||||||
|
let json = r#"{"app_version":"external-drive-linux@9.9.9-beta","user_agent":"custom/1"}"#;
|
||||||
|
let decoded: AppConfig = serde_json::from_str(json).unwrap();
|
||||||
|
assert_eq!(
|
||||||
|
decoded.resolved_app_version(),
|
||||||
|
"external-drive-linux@9.9.9-beta"
|
||||||
|
);
|
||||||
|
assert_eq!(decoded.resolved_user_agent(), "custom/1");
|
||||||
|
let saved = serde_json::to_string(&decoded).unwrap();
|
||||||
|
assert!(saved.contains("external-drive-linux@9.9.9-beta"), "{saved}");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn a_config_without_a_client_identity_loads() {
|
||||||
|
let decoded: AppConfig = serde_json::from_str("{}").unwrap();
|
||||||
|
assert_eq!(decoded.resolved_app_version(), APP_VERSION);
|
||||||
|
assert_eq!(decoded.resolved_user_agent(), USER_AGENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@@ -202,12 +202,20 @@ impl Ui {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() -> glib::ExitCode {
|
fn main() -> glib::ExitCode {
|
||||||
tracing_subscriber::fmt()
|
let verify = std::env::args().nth(1).as_deref() == Some(VERIFY_ARG);
|
||||||
.with_env_filter(
|
let logs = tracing_subscriber::fmt().with_env_filter(
|
||||||
tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| "info".into()),
|
tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| "info".into()),
|
||||||
)
|
);
|
||||||
.init();
|
// The verification window's stdout carries its token back to the app.
|
||||||
|
if verify {
|
||||||
|
logs.with_writer(std::io::stderr).init();
|
||||||
|
} else {
|
||||||
|
logs.init();
|
||||||
|
}
|
||||||
i18n::init();
|
i18n::init();
|
||||||
|
if verify {
|
||||||
|
return run_verification_window();
|
||||||
|
}
|
||||||
|
|
||||||
// The tray launches the app with arguments ("--page locations",
|
// The tray launches the app with arguments ("--page locations",
|
||||||
// "--confirm-stop"), which a running instance must receive too.
|
// "--confirm-stop"), which a running instance must receive too.
|
||||||
@@ -303,6 +311,11 @@ fn build_window(app: &adw::Application) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
// On a fresh install the daemon has not run yet to make these, and the
|
||||||
|
// Takeout page keeps its staged archives in the state dir (B194).
|
||||||
|
if let Err(e) = dirs.ensure() {
|
||||||
|
tracing::warn!("cannot create the app's directories: {e}");
|
||||||
|
}
|
||||||
|
|
||||||
let stack = adw::ViewStack::new();
|
let stack = adw::ViewStack::new();
|
||||||
let (login_page, login_widgets) = build_login_page();
|
let (login_page, login_widgets) = build_login_page();
|
||||||
@@ -1210,7 +1223,7 @@ fn install_window_actions(ui: &Rc<Ui>, window: &adw::ApplicationWindow) {
|
|||||||
let dialog = adw::AboutDialog::builder()
|
let dialog = adw::AboutDialog::builder()
|
||||||
.application_name(gettext("Proton Drive for Linux"))
|
.application_name(gettext("Proton Drive for Linux"))
|
||||||
.application_icon("io.narl.proton-drive-linux")
|
.application_icon("io.narl.proton-drive-linux")
|
||||||
.version(pdfs_core::config::APP_VERSION)
|
.version(env!("CARGO_PKG_VERSION"))
|
||||||
.developer_name("Nils Pukropp")
|
.developer_name("Nils Pukropp")
|
||||||
.website("https://proton-drive.narl.io")
|
.website("https://proton-drive.narl.io")
|
||||||
.issue_url("https://github.com/narrrl/proton-drive-linux/issues")
|
.issue_url("https://github.com/narrrl/proton-drive-linux/issues")
|
||||||
@@ -1350,8 +1363,8 @@ fn debug_info(ui: &Rc<Ui>) -> String {
|
|||||||
format!(
|
format!(
|
||||||
"App version: {}\nUser agent: {}\nlibadwaita: {}.{}.{}\nGTK: {}.{}.{}\n\
|
"App version: {}\nUser agent: {}\nlibadwaita: {}.{}.{}\nGTK: {}.{}.{}\n\
|
||||||
Mountpoint: {}\nControl socket: {}\nMount service running: {}\n",
|
Mountpoint: {}\nControl socket: {}\nMount service running: {}\n",
|
||||||
pdfs_core::config::APP_VERSION,
|
config.resolved_app_version(),
|
||||||
pdfs_core::config::USER_AGENT,
|
config.resolved_user_agent(),
|
||||||
adw::major_version(),
|
adw::major_version(),
|
||||||
adw::minor_version(),
|
adw::minor_version(),
|
||||||
adw::micro_version(),
|
adw::micro_version(),
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
use crate::*;
|
use crate::*;
|
||||||
use pdfs_core::proton_sdk::api::HumanVerificationCredential;
|
use pdfs_core::proton_sdk::api::{HumanVerification, HumanVerificationCredential};
|
||||||
|
|
||||||
pub(crate) struct LoginState {
|
pub(crate) struct LoginState {
|
||||||
// Login page.
|
// Login page.
|
||||||
@@ -150,15 +150,25 @@ pub(crate) fn wire_login(ui: &Rc<Ui>) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Same shape for human verification: only fires when the API gates the
|
// Same shape for human verification: only fires when the API gates the
|
||||||
// sign-in, and the worker is blocked on the token until it does.
|
// sign-in, and the worker is blocked on the credential until it does.
|
||||||
let ui_hv = ui.clone();
|
let ui_hv = ui.clone();
|
||||||
glib::spawn_future_local(async move {
|
glib::spawn_future_local(async move {
|
||||||
if let Ok((url, token_tx)) = hv_req_rx.recv().await {
|
if let Ok((hv, credential_tx)) = hv_req_rx.recv().await {
|
||||||
ui_hv
|
ui_hv
|
||||||
.login
|
.login
|
||||||
.login_status
|
.login_status
|
||||||
.set_text(&gettext("Complete the verification to continue…"));
|
.set_text(&gettext("Complete the verification to continue…"));
|
||||||
prompt_human_verification(&ui_hv, &url, token_tx);
|
// Anything but a credential drops the sender, which the worker
|
||||||
|
// reads as a cancelled sign-in.
|
||||||
|
match verify_human(hv.verification_url()).await {
|
||||||
|
Verification::Solved(token) => {
|
||||||
|
let _ = credential_tx.send(HumanVerificationCredential::captcha(token));
|
||||||
|
}
|
||||||
|
Verification::Cancelled => {}
|
||||||
|
// The web view could not start, most likely its sandbox
|
||||||
|
// (B195): the user's browser can show the page instead.
|
||||||
|
Verification::Failed => verify_in_browser(&ui_hv, &hv, credential_tx),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -252,9 +262,12 @@ pub(crate) struct LoginChannels {
|
|||||||
pub(crate) result: async_channel::Receiver<Result<(), String>>,
|
pub(crate) result: async_channel::Receiver<Result<(), String>>,
|
||||||
/// Fires only if the account needs a 2FA code; carries the sender for it.
|
/// Fires only if the account needs a 2FA code; carries the sender for it.
|
||||||
pub(crate) totp: async_channel::Receiver<std::sync::mpsc::Sender<String>>,
|
pub(crate) totp: async_channel::Receiver<std::sync::mpsc::Sender<String>>,
|
||||||
/// Fires only if the sign-in is gated: the page to show, and the sender for
|
/// Fires only if the sign-in is gated: the challenge, and the sender for the
|
||||||
/// the token the user earns on it.
|
/// credential the user earns by solving it.
|
||||||
pub(crate) hv: async_channel::Receiver<(String, std::sync::mpsc::Sender<String>)>,
|
pub(crate) hv: async_channel::Receiver<(
|
||||||
|
HumanVerification,
|
||||||
|
std::sync::mpsc::Sender<HumanVerificationCredential>,
|
||||||
|
)>,
|
||||||
/// Fires only for a two-password account: how many answers were already
|
/// Fires only for a two-password account: how many answers were already
|
||||||
/// wrong, and the sender for the password and the "remember" choice.
|
/// wrong, and the sender for the password and the "remember" choice.
|
||||||
pub(crate) mailbox: async_channel::Receiver<(u32, std::sync::mpsc::Sender<(String, bool)>)>,
|
pub(crate) mailbox: async_channel::Receiver<(u32, std::sync::mpsc::Sender<(String, bool)>)>,
|
||||||
@@ -312,18 +325,16 @@ pub(crate) fn spawn_login(username: String, password: String) -> LoginChannels {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|hv| {
|
|hv| {
|
||||||
// Gated: hand the UI the page to show, block on the token the
|
// Gated: hand the UI the challenge, block on the credential
|
||||||
// user earns by solving it.
|
// the user earns by solving it.
|
||||||
let (token_tx, token_rx) = std::sync::mpsc::channel::<String>();
|
let (credential_tx, credential_rx) =
|
||||||
hv_req_tx
|
std::sync::mpsc::channel::<HumanVerificationCredential>();
|
||||||
.send_blocking((hv.verification_url(), token_tx))
|
hv_req_tx.send_blocking((hv, credential_tx)).map_err(|_| {
|
||||||
.map_err(|_| {
|
pdfs_core::Error::Other("verification prompt closed".into())
|
||||||
pdfs_core::Error::Other("verification prompt closed".into())
|
})?;
|
||||||
})?;
|
credential_rx
|
||||||
let token = token_rx
|
|
||||||
.recv()
|
.recv()
|
||||||
.map_err(|_| pdfs_core::Error::Other("verification cancelled".into()))?;
|
.map_err(|_| pdfs_core::Error::Other("verification cancelled".into()))
|
||||||
Ok(HumanVerificationCredential::captcha(token))
|
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
@@ -510,6 +521,63 @@ pub(crate) fn prompt_2fa(ui: &Rc<Ui>, code_tx: std::sync::mpsc::Sender<String>)
|
|||||||
dialog.present(parent.as_ref());
|
dialog.present(parent.as_ref());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Let the user solve the challenge in their own browser, for when the
|
||||||
|
/// verification window could not come up. The page cannot hand its token back
|
||||||
|
/// to us, so the user says when they are done, and the retry carries the
|
||||||
|
/// challenge token, which the solved page made good (see
|
||||||
|
/// [`auth::browser_verified`]).
|
||||||
|
fn verify_in_browser(
|
||||||
|
ui: &Rc<Ui>,
|
||||||
|
hv: &HumanVerification,
|
||||||
|
credential_tx: std::sync::mpsc::Sender<HumanVerificationCredential>,
|
||||||
|
) {
|
||||||
|
let dialog = adw::AlertDialog::builder()
|
||||||
|
.heading(gettext("Verify in Your Browser"))
|
||||||
|
.body(gettext(
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in your browser, complete it there, then come back and choose Continue.",
|
||||||
|
))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
let url = auth::browser_verification_url(hv);
|
||||||
|
let open = gtk4::Button::builder()
|
||||||
|
.label(gettext("Open Verification Page"))
|
||||||
|
.halign(gtk4::Align::Center)
|
||||||
|
.build();
|
||||||
|
open.add_css_class("pill");
|
||||||
|
dialog.set_extra_child(Some(&open));
|
||||||
|
|
||||||
|
dialog.add_response("cancel", &gettext("Cancel"));
|
||||||
|
dialog.add_response("continue", &gettext("Continue"));
|
||||||
|
dialog.set_response_appearance("continue", adw::ResponseAppearance::Suggested);
|
||||||
|
// Continuing before the page was even opened would only fail the retry.
|
||||||
|
dialog.set_response_enabled("continue", false);
|
||||||
|
dialog.set_default_response(Some("continue"));
|
||||||
|
dialog.set_close_response("cancel");
|
||||||
|
|
||||||
|
let dialog_weak = dialog.downgrade();
|
||||||
|
open.connect_clicked(move |_| {
|
||||||
|
open_uri(&url);
|
||||||
|
if let Some(dialog) = dialog_weak.upgrade() {
|
||||||
|
dialog.set_response_enabled("continue", true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let credential = auth::browser_verified(hv);
|
||||||
|
let credential_tx = RefCell::new(Some(credential_tx));
|
||||||
|
dialog.connect_response(None, move |_, resp| {
|
||||||
|
// On cancel/close we take + drop `tx` without sending, so the worker's
|
||||||
|
// recv errors out and the login is reported as cancelled.
|
||||||
|
if let Some(tx) = credential_tx.borrow_mut().take()
|
||||||
|
&& resp == "continue"
|
||||||
|
{
|
||||||
|
let _ = tx.send(credential.clone());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let parent = ui.login.login_button.root().and_downcast::<gtk4::Window>();
|
||||||
|
dialog.present(parent.as_ref());
|
||||||
|
}
|
||||||
|
|
||||||
/// Sign out, after a confirmation: disable+stop the mount service (so the
|
/// Sign out, after a confirmation: disable+stop the mount service (so the
|
||||||
/// daemon isn't left running without credentials), forget the stored session,
|
/// daemon isn't left running without credentials), forget the stored session,
|
||||||
/// and drop back to the login page.
|
/// and drop back to the login page.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
//! The human-verification (CAPTCHA) dialog.
|
//! The human-verification (CAPTCHA) window.
|
||||||
//!
|
//!
|
||||||
//! Proton gates logins it does not recognise — a new IP, a VPN exit — behind a
|
//! Proton gates logins it does not recognise — a new IP, a VPN exit — behind a
|
||||||
//! CAPTCHA. The API answers the login with a challenge instead of a session, and
|
//! CAPTCHA. The API answers the login with a challenge instead of a session, and
|
||||||
@@ -8,10 +8,26 @@
|
|||||||
//! The page is hosted in a `WebKitWebView` rather than handed to the system
|
//! The page is hosted in a `WebKitWebView` rather than handed to the system
|
||||||
//! browser because it reports completion by posting a message to its host, not
|
//! browser because it reports completion by posting a message to its host, not
|
||||||
//! by redirecting: a browser has nowhere to post it back to.
|
//! by redirecting: a browser has nowhere to post it back to.
|
||||||
|
//!
|
||||||
|
//! The webview runs in a child `pdfs-app` started with [`VERIFY_ARG`], not in the
|
||||||
|
//! app itself. WebKit aborts its whole process when its sandbox cannot start, as
|
||||||
|
//! on hardened systems that keep bubblewrap from the journal socket
|
||||||
|
//! (`docs/BUGS.md` B195); in a child that costs the verification, not the app.
|
||||||
|
//! The URL goes to the child on stdin, so it never shows in a process list, and
|
||||||
|
//! the token comes back on stdout.
|
||||||
|
|
||||||
use crate::*;
|
use crate::*;
|
||||||
|
use std::io::{BufRead, BufReader, Write as _};
|
||||||
|
use std::process::{ExitStatus, Stdio};
|
||||||
use webkit6::prelude::*;
|
use webkit6::prelude::*;
|
||||||
|
|
||||||
|
/// The argument that makes `pdfs-app` the verification window instead of the app.
|
||||||
|
pub(crate) const VERIFY_ARG: &str = "--human-verification";
|
||||||
|
|
||||||
|
/// Marks the token among whatever else lands on the child's stdout: GLib and
|
||||||
|
/// WebKit write debug output there.
|
||||||
|
const TOKEN_PREFIX: &str = "hv-token ";
|
||||||
|
|
||||||
/// Bridge the verification page's `postMessage` to a handler this side can read.
|
/// Bridge the verification page's `postMessage` to a handler this side can read.
|
||||||
///
|
///
|
||||||
/// The page targets its embedding host (`window.parent`), which in a webview is
|
/// The page targets its embedding host (`window.parent`), which in a webview is
|
||||||
@@ -26,15 +42,100 @@ window.addEventListener('message', function (event) {
|
|||||||
});
|
});
|
||||||
"#;
|
"#;
|
||||||
|
|
||||||
/// Present the challenge and hand the solved token back through `token_tx`.
|
/// How the verification window ended.
|
||||||
///
|
#[derive(Debug, PartialEq, Eq)]
|
||||||
/// Closing the dialog without solving drops the sender, which the waiting login
|
pub(crate) enum Verification {
|
||||||
/// worker reads as a cancelled sign-in — the same contract as the 2FA prompt.
|
Solved(String),
|
||||||
pub(crate) fn prompt_human_verification(
|
/// Closed without solving.
|
||||||
ui: &Rc<Ui>,
|
Cancelled,
|
||||||
url: &str,
|
/// Never came up, or died: most likely WebKit could not start its sandbox.
|
||||||
token_tx: std::sync::mpsc::Sender<String>,
|
Failed,
|
||||||
) {
|
}
|
||||||
|
|
||||||
|
/// Show the challenge in the verification window and wait until it closes.
|
||||||
|
pub(crate) async fn verify_human(url: String) -> Verification {
|
||||||
|
match gio::spawn_blocking(move || run_verification_child(&url)).await {
|
||||||
|
Ok(Ok(verification)) => verification,
|
||||||
|
Ok(Err(e)) => {
|
||||||
|
tracing::error!("cannot run the verification window: {e}");
|
||||||
|
Verification::Failed
|
||||||
|
}
|
||||||
|
Err(_) => Verification::Failed,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn run_verification_child(url: &str) -> std::io::Result<Verification> {
|
||||||
|
let mut child = Command::new(own_exe())
|
||||||
|
.arg(VERIFY_ARG)
|
||||||
|
.stdin(Stdio::piped())
|
||||||
|
.stdout(Stdio::piped())
|
||||||
|
.spawn()?;
|
||||||
|
if let Some(mut stdin) = child.stdin.take() {
|
||||||
|
// A failed write means the child is already gone; its exit status says
|
||||||
|
// how. Dropping `stdin` closes it.
|
||||||
|
let _ = writeln!(stdin, "{url}");
|
||||||
|
}
|
||||||
|
// Stops reading at the token rather than at EOF: WebKit's helper processes
|
||||||
|
// inherit the pipe and may hold it open a moment after the child quits.
|
||||||
|
let token = child
|
||||||
|
.stdout
|
||||||
|
.take()
|
||||||
|
.and_then(|out| find_token(BufReader::new(out)));
|
||||||
|
let status = child.wait()?;
|
||||||
|
Ok(outcome(token, status))
|
||||||
|
}
|
||||||
|
|
||||||
|
/// This very binary, so a development build opens its own window. After an
|
||||||
|
/// upgrade replaced the file, `current_exe` names a deleted path, and the
|
||||||
|
/// installed `pdfs-app` is the next best.
|
||||||
|
fn own_exe() -> PathBuf {
|
||||||
|
std::env::current_exe()
|
||||||
|
.ok()
|
||||||
|
.filter(|path| path.is_file())
|
||||||
|
.unwrap_or_else(|| PathBuf::from("pdfs-app"))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn find_token(out: impl BufRead) -> Option<String> {
|
||||||
|
out.lines()
|
||||||
|
.map_while(Result::ok)
|
||||||
|
.find_map(|line| line.strip_prefix(TOKEN_PREFIX).map(str::to_owned))
|
||||||
|
}
|
||||||
|
|
||||||
|
/// A token wins over the exit status: the user solved the page, even if
|
||||||
|
/// WebKit's teardown crashed after it.
|
||||||
|
fn outcome(token: Option<String>, status: ExitStatus) -> Verification {
|
||||||
|
match token {
|
||||||
|
Some(token) => Verification::Solved(token),
|
||||||
|
None if status.success() => Verification::Cancelled,
|
||||||
|
None => {
|
||||||
|
tracing::error!(%status, "the verification window failed");
|
||||||
|
Verification::Failed
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Run as the verification window: read the page's URL from stdin, show it, and
|
||||||
|
/// print the token once the user has solved it. Closing the window exits
|
||||||
|
/// without a token, which the app reads as a cancelled sign-in.
|
||||||
|
pub(crate) fn run_verification_window() -> glib::ExitCode {
|
||||||
|
let mut url = String::new();
|
||||||
|
if std::io::stdin().lock().read_line(&mut url).is_err() || url.trim().is_empty() {
|
||||||
|
tracing::error!("{VERIFY_ARG} expects the verification URL on stdin");
|
||||||
|
return glib::ExitCode::FAILURE;
|
||||||
|
}
|
||||||
|
let url = url.trim().to_owned();
|
||||||
|
|
||||||
|
// Not unique: the app that started it already holds APP_ID.
|
||||||
|
let app = adw::Application::builder()
|
||||||
|
.flags(gio::ApplicationFlags::NON_UNIQUE)
|
||||||
|
.build();
|
||||||
|
app.connect_activate(move |app| build_verification_window(app, &url));
|
||||||
|
// GApplication would refuse VERIFY_ARG as an unknown option.
|
||||||
|
let argv0 = std::env::args().next().unwrap_or_default();
|
||||||
|
app.run_with_args(&[argv0])
|
||||||
|
}
|
||||||
|
|
||||||
|
fn build_verification_window(app: &adw::Application, url: &str) {
|
||||||
let content = webkit6::UserContentManager::new();
|
let content = webkit6::UserContentManager::new();
|
||||||
content.add_script(&webkit6::UserScript::new(
|
content.add_script(&webkit6::UserScript::new(
|
||||||
BRIDGE,
|
BRIDGE,
|
||||||
@@ -53,24 +154,19 @@ pub(crate) fn prompt_human_verification(
|
|||||||
.hexpand(true)
|
.hexpand(true)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
let dialog = adw::Dialog::builder()
|
let body = gtk4::Box::new(gtk4::Orientation::Vertical, 0);
|
||||||
|
body.append(&adw::HeaderBar::new());
|
||||||
|
body.append(&webview);
|
||||||
|
let window = adw::ApplicationWindow::builder()
|
||||||
|
.application(app)
|
||||||
.title(gettext("Verification"))
|
.title(gettext("Verification"))
|
||||||
.content_width(420)
|
.icon_name(APP_ID)
|
||||||
.content_height(560)
|
.default_width(420)
|
||||||
|
.default_height(560)
|
||||||
|
.content(&body)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
let header = adw::HeaderBar::new();
|
let app = app.downgrade();
|
||||||
let body = gtk4::Box::new(gtk4::Orientation::Vertical, 0);
|
|
||||||
body.append(&header);
|
|
||||||
body.append(&webview);
|
|
||||||
dialog.set_child(Some(&body));
|
|
||||||
|
|
||||||
// Taken on the first success *or* on close, so the token is sent at most
|
|
||||||
// once and a cancelled dialog always drops the sender.
|
|
||||||
let token_tx = Rc::new(RefCell::new(Some(token_tx)));
|
|
||||||
|
|
||||||
let tx = token_tx.clone();
|
|
||||||
let dlg_weak = dialog.downgrade();
|
|
||||||
content.connect_script_message_received(Some("hv"), move |_, value| {
|
content.connect_script_message_received(Some("hv"), move |_, value| {
|
||||||
let Some(token) = extract_token(&value.to_str()) else {
|
let Some(token) = extract_token(&value.to_str()) else {
|
||||||
// Every `postMessage` on the page reaches here, most of them the
|
// Every `postMessage` on the page reaches here, most of them the
|
||||||
@@ -78,25 +174,17 @@ pub(crate) fn prompt_human_verification(
|
|||||||
// is simply not ours.
|
// is simply not ours.
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
if let Some(tx) = tx.borrow_mut().take() {
|
let mut stdout = std::io::stdout().lock();
|
||||||
let _ = tx.send(token);
|
if let Err(e) = writeln!(stdout, "{TOKEN_PREFIX}{token}").and_then(|()| stdout.flush()) {
|
||||||
|
tracing::error!("cannot hand the verification token back: {e}");
|
||||||
}
|
}
|
||||||
if let Some(dlg) = dlg_weak.upgrade() {
|
if let Some(app) = app.upgrade() {
|
||||||
dlg.close();
|
app.quit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Covers the close button, Escape, and the user giving up.
|
|
||||||
dialog.connect_closed(move |_| {
|
|
||||||
token_tx.borrow_mut().take();
|
|
||||||
});
|
|
||||||
|
|
||||||
webview.load_uri(url);
|
webview.load_uri(url);
|
||||||
|
window.present();
|
||||||
let parent = ui.login.login_button.root().and_downcast::<gtk4::Window>();
|
|
||||||
// Returns immediately; the login worker stays blocked on the channel until
|
|
||||||
// the handler above sends, or the dialog closes and drops the sender.
|
|
||||||
dialog.present(parent.as_ref());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Pull the verification token out of a message posted by the verification page.
|
/// Pull the verification token out of a message posted by the verification page.
|
||||||
@@ -133,7 +221,12 @@ fn extract_token(raw: &str) -> Option<String> {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::extract_token;
|
use super::{Verification, extract_token, find_token, outcome};
|
||||||
|
use std::os::unix::process::ExitStatusExt as _;
|
||||||
|
use std::process::ExitStatus;
|
||||||
|
|
||||||
|
/// The wait status of a process killed by SIGABRT.
|
||||||
|
const ABORTED: i32 = 6;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn a_completion_message_yields_its_token() {
|
fn a_completion_message_yields_its_token() {
|
||||||
@@ -163,4 +256,39 @@ mod tests {
|
|||||||
assert!(extract_token(raw).is_none(), "accepted: {raw}");
|
assert!(extract_token(raw).is_none(), "accepted: {raw}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn the_token_is_found_among_other_output() {
|
||||||
|
let out = "Gtk-Message: something\nhv-token tok-1\nmore\n";
|
||||||
|
assert_eq!(find_token(out.as_bytes()).as_deref(), Some("tok-1"));
|
||||||
|
assert_eq!(find_token("only chatter\n".as_bytes()), None);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn a_window_closed_without_a_token_cancels() {
|
||||||
|
assert_eq!(
|
||||||
|
outcome(None, ExitStatus::from_raw(0)),
|
||||||
|
Verification::Cancelled
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// WebKit aborts when its sandbox cannot start (B195). That must read as a
|
||||||
|
/// failure the app explains, not as the user giving up.
|
||||||
|
#[test]
|
||||||
|
fn a_window_that_died_fails() {
|
||||||
|
assert_eq!(
|
||||||
|
outcome(None, ExitStatus::from_raw(ABORTED)),
|
||||||
|
Verification::Failed
|
||||||
|
);
|
||||||
|
let exited_1 = ExitStatus::from_raw(1 << 8);
|
||||||
|
assert_eq!(outcome(None, exited_1), Verification::Failed);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn a_token_counts_even_if_the_window_died_after_it() {
|
||||||
|
assert_eq!(
|
||||||
|
outcome(Some("tok-1".into()), ExitStatus::from_raw(ABORTED)),
|
||||||
|
Verification::Solved("tok-1".into())
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -485,6 +485,10 @@ fn main() -> Result<()> {
|
|||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The socket lives in the state dir, which nothing has made yet when the app
|
||||||
|
// starts the tray on a fresh install (B194).
|
||||||
|
dirs.ensure().context("create the app's directories")?;
|
||||||
|
|
||||||
// Ensure only one instance of the tray runs.
|
// Ensure only one instance of the tray runs.
|
||||||
let tray_sock = dirs.tray_socket();
|
let tray_sock = dirs.tray_socket();
|
||||||
if std::os::unix::net::UnixStream::connect(&tray_sock).is_ok() {
|
if std::os::unix::net::UnixStream::connect(&tray_sock).is_ok() {
|
||||||
|
|||||||
+12
-5
@@ -542,7 +542,7 @@ sequenceDiagram
|
|||||||
actor User
|
actor User
|
||||||
participant UI as pdfs-app
|
participant UI as pdfs-app
|
||||||
participant Auth as pdfs-core auth
|
participant Auth as pdfs-core auth
|
||||||
participant Web as WebKitGTK dialog
|
participant Web as pdfs-app --human-verification
|
||||||
participant API as Proton API
|
participant API as Proton API
|
||||||
|
|
||||||
User->>UI: email and password
|
User->>UI: email and password
|
||||||
@@ -550,9 +550,9 @@ sequenceDiagram
|
|||||||
Auth->>API: SRP handshake
|
Auth->>API: SRP handshake
|
||||||
API-->>Auth: 9001, challenge URL
|
API-->>Auth: 9001, challenge URL
|
||||||
Auth-->>UI: HumanVerificationRequired
|
Auth-->>UI: HumanVerificationRequired
|
||||||
UI->>Web: load challenge
|
UI->>Web: challenge URL (stdin)
|
||||||
User->>Web: solve it
|
User->>Web: solve it
|
||||||
Web-->>UI: token (postMessage)
|
Web-->>UI: token (stdout)
|
||||||
UI->>Auth: login_verified(token)
|
UI->>Auth: login_verified(token)
|
||||||
Auth->>API: new SRP handshake with the token
|
Auth->>API: new SRP handshake with the token
|
||||||
API-->>Auth: session
|
API-->>Auth: session
|
||||||
@@ -561,8 +561,15 @@ sequenceDiagram
|
|||||||
- The challenge used up the first SRP handshake, so the retry starts a new one with the token
|
- The challenge used up the first SRP handshake, so the retry starts a new one with the token
|
||||||
attached.
|
attached.
|
||||||
- The page may post the token as an object or as a JSON string; both are accepted.
|
- The page may post the token as an object or as a JSON string; both are accepted.
|
||||||
- The CLI has no web view. It fails with a message to sign in once with `pdfs-app`; the stored
|
- The page runs in a WebKitGTK view inside a child `pdfs-app`. WebKit aborts its process when its
|
||||||
session then works for the CLI and the service.
|
sandbox cannot start, as on hardened systems such as secureblue (B195). In the child, that ends
|
||||||
|
the web view, not the app.
|
||||||
|
- When the child fails, the app offers the page in the user's own browser instead, as Proton Mail
|
||||||
|
Bridge does. A browser tab cannot post the token back, so the user says when they are done, and
|
||||||
|
the retry carries the challenge token itself, which the solved page made good. Its type header
|
||||||
|
lists every offered method (`auth::browser_verified`).
|
||||||
|
- The CLI has no web view, so it always takes the browser path: it prints the page's URL and waits
|
||||||
|
for Enter.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+66
-1
@@ -47,7 +47,7 @@ original wording.
|
|||||||
it in the index in the same change.
|
it in the index in the same change.
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
### B194 — What the user sees, in one line
|
### B196 — What the user sees, in one line
|
||||||
|
|
||||||
**Status:** Open
|
**Status:** Open
|
||||||
**Found:** 2026-10-06, how it was found
|
**Found:** 2026-10-06, how it was found
|
||||||
@@ -100,6 +100,7 @@ a live account since.
|
|||||||
|
|
||||||
| Entry | Title |
|
| Entry | Title |
|
||||||
|---|---|
|
|---|---|
|
||||||
|
| [B195](#b195--the-app-crashes-when-proton-asks-for-a-captcha-on-secureblue) | The app crashes when Proton asks for a CAPTCHA on secureblue |
|
||||||
| [B193](#b193--deleting-a-file-whose-create-failed-can-trash-a-file-of-the-users-on-drive) | Deleting a file whose create failed can trash a file of the user's on Drive |
|
| [B193](#b193--deleting-a-file-whose-create-failed-can-trash-a-file-of-the-users-on-drive) | Deleting a file whose create failed can trash a file of the user's on Drive |
|
||||||
| [B191](#b191--a-file-deleted-after-its-create-failed-and-was-written-again-can-stay-on-drive) | A file deleted after its create failed and was written again can stay on Drive |
|
| [B191](#b191--a-file-deleted-after-its-create-failed-and-was-written-again-can-stay-on-drive) | A file deleted after its create failed and was written again can stay on Drive |
|
||||||
| [B190](#b190--a-file-saved-just-before-the-daemon-stops-can-keep-its-old-content-on-drive) | A file saved just before the daemon stops can keep its old content on Drive |
|
| [B190](#b190--a-file-saved-just-before-the-daemon-stops-can-keep-its-old-content-on-drive) | A file saved just before the daemon stops can keep its old content on Drive |
|
||||||
@@ -214,6 +215,7 @@ a live account since.
|
|||||||
|
|
||||||
| Entry | Title |
|
| Entry | Title |
|
||||||
|---|---|
|
|---|---|
|
||||||
|
| [B194](#b194--on-a-fresh-install-the-tray-exits-and-the-takeout-page-cannot-remember-its-archives) | On a fresh install the tray exits and the Takeout page cannot remember its archives |
|
||||||
| [B192](#b192--a-new-file-closed-empty-reaches-drive-only-half-a-minute-later) | A new file closed empty reaches Drive only half a minute later |
|
| [B192](#b192--a-new-file-closed-empty-reaches-drive-only-half-a-minute-later) | A new file closed empty reaches Drive only half a minute later |
|
||||||
| [B181](#b181--the-app-shows-a-queued-edit-kept-as-a-conflict-copy-in-english) | The app shows a queued edit kept as a conflict copy in English |
|
| [B181](#b181--the-app-shows-a-queued-edit-kept-as-a-conflict-copy-in-english) | The app shows a queued edit kept as a conflict copy in English |
|
||||||
| [B180](#b180--a-stop-waits-10-s-for-a-drain-worker-that-slept-through-it) | A stop waits 10 s for a drain worker that slept through it |
|
| [B180](#b180--a-stop-waits-10-s-for-a-drain-worker-that-slept-through-it) | A stop waits 10 s for a drain worker that slept through it |
|
||||||
@@ -296,6 +298,69 @@ a live account since.
|
|||||||
|
|
||||||
Newest first.
|
Newest first.
|
||||||
|
|
||||||
|
### B195 — The app crashes when Proton asks for a CAPTCHA on secureblue
|
||||||
|
|
||||||
|
**Status:** Fixed (unverified). On 2026-10-08 the reporter confirmed that the app survives, but
|
||||||
|
the CAPTCHA still could not be solved; the browser fallback below has not run on secureblue yet.
|
||||||
|
**Found:** 2026-10-07, [#29](https://github.com/narrrl/proton-drive-linux/issues/29). On
|
||||||
|
secureblue 44 (a hardened Fedora Atomic), `pdfs-app` aborted a few seconds after the sign-in, with
|
||||||
|
`bwrap: Can't get type of source /run/systemd/journal/socket: Permission denied` and
|
||||||
|
`Failed to fully launch dbus-proxy`.
|
||||||
|
**Where:** `crates/pdfs-gui/src/app/pages/verify.rs`, `crates/pdfs-gui/src/app/pages/login.rs`,
|
||||||
|
`crates/pdfs-core/src/auth.rs`, `crates/pdfs-cli/src/main.rs`
|
||||||
|
|
||||||
|
**Repro:** Sign in on secureblue from a network Proton asks a CAPTCHA for, such as a VPN.
|
||||||
|
|
||||||
|
**Cause.** The CAPTCHA page runs in a WebKitGTK view (B8). Before it loads anything, WebKit starts
|
||||||
|
its sandbox: bubblewrap, with the journal socket bound in, and `xdg-dbus-proxy`. secureblue keeps
|
||||||
|
bubblewrap from the socket, the proxy does not start, and WebKit ends its process with `g_error`.
|
||||||
|
WebKit binds the socket with `--ro-bind-try`, but bubblewrap skips only a missing path, not one it
|
||||||
|
may not read, and WebKit has no switch to leave the socket out.
|
||||||
|
The view was in the app's own process, so the whole app went down, and nothing in our code can
|
||||||
|
catch that.
|
||||||
|
|
||||||
|
**Fix.** The view runs in a child, `pdfs-app --human-verification`, that reads the URL on stdin
|
||||||
|
and prints the token on stdout. A child that exits without a token after a crash or a non-zero
|
||||||
|
status no longer ends the sign-in: the app offers the page in the user's own browser, as Proton
|
||||||
|
Mail Bridge does. The tab cannot post the token back, so the user says when they are done, and the
|
||||||
|
retry carries the challenge token, typed with every offered method. `pdfs login` takes the same
|
||||||
|
path. The sandbox is not switched off by the app: users choose a hardened system for that
|
||||||
|
isolation. TROUBLESHOOTING.md keeps the one-time workaround as a last resort.
|
||||||
|
|
||||||
|
**Test:** unit tests `a_window_that_died_fails`, `a_window_closed_without_a_token_cancels`,
|
||||||
|
`a_token_counts_even_if_the_window_died_after_it`, `the_token_is_found_among_other_output`,
|
||||||
|
`the_browser_gets_the_full_verification_page` and
|
||||||
|
`a_browser_verification_retries_with_the_challenge_token`. The browser retry has not run against a
|
||||||
|
live challenge: Proton only asks for one from a network it distrusts.
|
||||||
|
On 2026-10-08 the child ran under real WebKit on Arch against a local page that posts a completion,
|
||||||
|
and handed back its token.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### B194 — On a fresh install the tray exits and the Takeout page cannot remember its archives
|
||||||
|
|
||||||
|
**Status:** Fixed.
|
||||||
|
**Found:** 2026-10-07, in the log of [#29](https://github.com/narrrl/proton-drive-linux/issues/29):
|
||||||
|
`failed to bind tray single-instance socket: No such file or directory` and
|
||||||
|
`cannot remember staged Takeout archives: No such file or directory`.
|
||||||
|
**Where:** `crates/pdfs-gui/src/main.rs`, `build_window` in `crates/pdfs-gui/src/app/main.rs`
|
||||||
|
|
||||||
|
**Repro:** Start `pdfs-app` with no `~/.local/state/proton-drive-linux`, as on a fresh install. The
|
||||||
|
tray is gone, and staging a Takeout archive logs the warning.
|
||||||
|
|
||||||
|
**Cause.** Both write to the state directory, and only the daemon and the CLI made it
|
||||||
|
(`AppDirs::ensure`). The app starts the tray before the first sign-in, so before the daemon has
|
||||||
|
ever run.
|
||||||
|
|
||||||
|
**Fix.** `pdfs-tray` and `pdfs-app` call `AppDirs::ensure` at start, which also makes the
|
||||||
|
directories owner-only (B6).
|
||||||
|
|
||||||
|
**Verified:** 2026-10-08, `pdfs-tray` with `XDG_STATE_HOME`, `XDG_CONFIG_HOME` and
|
||||||
|
`XDG_CACHE_HOME` pointing at an empty directory. It exited with the error before the fix, and
|
||||||
|
afterwards ran with `tray.sock` in a `0700` state directory.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### B193 — Deleting a file whose create failed can trash a file of the user's on Drive
|
### B193 — Deleting a file whose create failed can trash a file of the user's on Drive
|
||||||
|
|
||||||
**Status:** Fixed (unverified).
|
**Status:** Fixed (unverified).
|
||||||
|
|||||||
@@ -11,6 +11,42 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- **A CAPTCHA could not be solved on hardened systems.** When the verification page cannot open in
|
||||||
|
the app, as on secureblue, the app now offers it in your browser and continues the sign-in
|
||||||
|
once you are done. `pdfs login` now handles a CAPTCHA the same way instead of failing.
|
||||||
|
([#29](https://github.com/narrrl/proton-drive-linux/issues/29))
|
||||||
|
|
||||||
|
## [3.1.2] — 2026-10-08
|
||||||
|
|
||||||
|
Schema: **42**, unchanged.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- **The app crashed when Proton asked for a CAPTCHA on hardened systems.** On secureblue, WebKit
|
||||||
|
cannot start the sandbox for the verification page and ends its process, which took the app
|
||||||
|
down with it. The page now opens in a separate window process: if that process fails, the
|
||||||
|
sign-in stops with a message that says why, and TROUBLESHOOTING.md has a workaround.
|
||||||
|
([#29](https://github.com/narrrl/proton-drive-linux/issues/29))
|
||||||
|
- **On a fresh install the tray icon did not start.** The tray and the app now create their state
|
||||||
|
directory themselves instead of waiting for the service to do it. This also lets the Takeout
|
||||||
|
page remember staged archives before the first mount.
|
||||||
|
([#29](https://github.com/narrrl/proton-drive-linux/issues/29))
|
||||||
|
|
||||||
|
## [3.1.1] — 2026-10-07
|
||||||
|
|
||||||
|
Schema: **42**, unchanged.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- **The client identifies itself with its release.** Sign-in and every API call used to send the
|
||||||
|
fixed `external-drive-linux@0.1.0-alpha` and `proton-drive-linux/0.1.0`. If Proton retired that
|
||||||
|
version, every release would fail to sign in at once and no update could fix it. The client now
|
||||||
|
sends `external-drive-linux@<version>-stable` and `proton-drive-linux/<version>`. `app_version`
|
||||||
|
and `user_agent` in `config.json` are optional overrides now. The fixed values that releases up
|
||||||
|
to 3.1.0 wrote there count as unset and are removed on the next save. A value you set by hand is
|
||||||
|
kept.
|
||||||
|
- The About dialog shows the release version, and its debug info shows the identity that is
|
||||||
|
actually sent.
|
||||||
|
|
||||||
## [3.1.0] — 2026-10-07
|
## [3.1.0] — 2026-10-07
|
||||||
|
|
||||||
Schema: **42**, unchanged.
|
Schema: **42**, unchanged.
|
||||||
@@ -1635,6 +1671,12 @@ 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.
|
||||||
|
|
||||||
|
[3.1.2]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.1.2
|
||||||
|
|
||||||
|
[3.1.1]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.1.1
|
||||||
|
|
||||||
|
[3.1.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.1.0
|
||||||
|
|
||||||
[3.0.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.0.0
|
[3.0.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.0.0
|
||||||
|
|
||||||
[2.10.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v2.10.0
|
[2.10.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v2.10.0
|
||||||
|
|||||||
@@ -89,7 +89,11 @@ fix it.
|
|||||||
| `open_with` | object | `xdg-open` | — | See [`open_with`](#open_with) |
|
| `open_with` | object | `xdg-open` | — | See [`open_with`](#open_with) |
|
||||||
| `prompt` | object | built-in window | — | See [`prompt`](#prompt) |
|
| `prompt` | object | built-in window | — | See [`prompt`](#prompt) |
|
||||||
|
|
||||||
`app_version` and `user_agent` identify the client to Proton. Leave them alone.
|
`app_version` and `user_agent` identify the client to Proton. When the keys are absent, the
|
||||||
|
client sends its own release (`external-drive-linux@<version>-stable`, `proton-drive-linux/<version>`).
|
||||||
|
Leave them out unless a support case asks for a different value. The fixed
|
||||||
|
`external-drive-linux@0.1.0-alpha` and `proton-drive-linux/0.1.0` that releases up to 3.1.0 wrote
|
||||||
|
here are treated as absent and removed on the next save.
|
||||||
|
|
||||||
### `ignore_patterns`
|
### `ignore_patterns`
|
||||||
|
|
||||||
|
|||||||
+18
-2
@@ -69,8 +69,24 @@ pdfs status
|
|||||||
## Signing in
|
## Signing in
|
||||||
|
|
||||||
**"Proton is asking for a CAPTCHA"** — Proton wants human verification, usually on a VPN or an
|
**"Proton is asking for a CAPTCHA"** — Proton wants human verification, usually on a VPN or an
|
||||||
unfamiliar network. The CLI cannot show it. Sign in with `pdfs-app`, which displays the challenge;
|
unfamiliar network. `pdfs login` prints the verification page's address: open it in your browser,
|
||||||
the stored session then works for the CLI too.
|
complete it, then press Enter. The app shows the page in its own window.
|
||||||
|
|
||||||
|
**"Verify in Your Browser"** — WebKit, which shows the CAPTCHA page in the app, could not start
|
||||||
|
its sandbox. Hardened systems such as secureblue keep its bubblewrap from the journal socket, and
|
||||||
|
the log then shows `bwrap: Can't get type of source /run/systemd/journal/socket: Permission
|
||||||
|
denied` and `Failed to fully launch dbus-proxy`. Choose **Open Verification Page**, complete the
|
||||||
|
page in your browser, then choose **Continue**. If that sign-in is refused too, check that `bwrap`
|
||||||
|
and `xdg-dbus-proxy` are installed. As a last resort, sign in once with the sandbox switched off
|
||||||
|
for this one run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
WEBKIT_DISABLE_SANDBOX_THIS_IS_DANGEROUS=1 pdfs-app
|
||||||
|
```
|
||||||
|
|
||||||
|
Quit the app first, so this starts a new instance. The page then runs without WebKit's isolation,
|
||||||
|
so use this only for the sign-in. The stored session keeps working without it. Signing in from
|
||||||
|
your usual network, without a VPN, often avoids the CAPTCHA in the first place.
|
||||||
|
|
||||||
**Sign-in works but is forgotten after a restart** — no Secret Service provider is running, or its
|
**Sign-in works but is forgotten after a restart** — no Secret Service provider is running, or its
|
||||||
keyring is locked. Install and unlock GNOME Keyring, KWallet or KeePassXC (with Secret Service
|
keyring is locked. Install and unlock GNOME Keyring, KWallet or KeePassXC (with Secret Service
|
||||||
|
|||||||
+1
-1
@@ -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=3.1.0
|
pkgver=3.1.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 = 3.0.0
|
pkgver = 3.1.1
|
||||||
pkgrel = 1
|
pkgrel = 1
|
||||||
url = https://proton-drive.narl.io
|
url = https://proton-drive.narl.io
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
@@ -21,21 +21,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=3.0.0
|
provides = proton-drive-for-linux=3.1.1
|
||||||
provides = proton-drive-linux=3.0.0
|
provides = proton-drive-linux=3.1.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-3.0.0-x86_64.tar.gz::https://github.com/narrrl/proton-drive-linux/releases/download/v3.0.0/proton-drive-linux-3.0.0-x86_64.tar.gz
|
source = proton-drive-linux-3.1.1-x86_64.tar.gz::https://github.com/narrrl/proton-drive-linux/releases/download/v3.1.1/proton-drive-linux-3.1.1-x86_64.tar.gz
|
||||||
source = io.narl.proton-drive-linux-3.0.0.desktop::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.0.0/packaging/io.narl.proton-drive-linux.desktop
|
source = io.narl.proton-drive-linux-3.1.1.desktop::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.1.1/packaging/io.narl.proton-drive-linux.desktop
|
||||||
source = io.narl.proton-drive-linux-tray-3.0.0.desktop::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.0.0/packaging/io.narl.proton-drive-linux-tray.desktop
|
source = io.narl.proton-drive-linux-tray-3.1.1.desktop::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.1.1/packaging/io.narl.proton-drive-linux-tray.desktop
|
||||||
source = io.narl.proton-drive-linux-3.0.0.svg::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.0.0/packaging/io.narl.proton-drive-linux.svg
|
source = io.narl.proton-drive-linux-3.1.1.svg::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.1.1/packaging/io.narl.proton-drive-linux.svg
|
||||||
source = proton-drive-3.0.0.service::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.0.0/packaging/proton-drive.service
|
source = proton-drive-3.1.1.service::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.1.1/packaging/proton-drive.service
|
||||||
source = LICENSE-3.0.0::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.0.0/LICENSE
|
source = LICENSE-3.1.1::https://raw.githubusercontent.com/narrrl/proton-drive-linux/v3.1.1/LICENSE
|
||||||
sha256sums = 4d72420f287e0a9b1d65dfc2954779b2df1bf367cb41ffe28519b2791451b6ed
|
sha256sums = e8a2ca20dc5a4b050a85056196eb7f3f4a428db2a8d41aa09b813e007609c0b6
|
||||||
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=3.0.0
|
pkgver=3.1.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')
|
||||||
@@ -34,7 +34,7 @@ source=("proton-drive-linux-$pkgver-x86_64.tar.gz::$_repo/releases/download/$_ta
|
|||||||
"io.narl.proton-drive-linux-$pkgver.svg::$_raw/packaging/io.narl.proton-drive-linux.svg"
|
"io.narl.proton-drive-linux-$pkgver.svg::$_raw/packaging/io.narl.proton-drive-linux.svg"
|
||||||
"proton-drive-$pkgver.service::$_raw/packaging/proton-drive.service"
|
"proton-drive-$pkgver.service::$_raw/packaging/proton-drive.service"
|
||||||
"LICENSE-$pkgver::$_raw/LICENSE")
|
"LICENSE-$pkgver::$_raw/LICENSE")
|
||||||
sha256sums=('4d72420f287e0a9b1d65dfc2954779b2df1bf367cb41ffe28519b2791451b6ed'
|
sha256sums=('e8a2ca20dc5a4b050a85056196eb7f3f4a428db2a8d41aa09b813e007609c0b6'
|
||||||
'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 = 3.0.0.r0.g2177383
|
pkgver = 3.1.1.r0.gedd62c5
|
||||||
pkgrel = 1
|
pkgrel = 1
|
||||||
url = https://proton-drive.narl.io
|
url = https://proton-drive.narl.io
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
@@ -24,8 +24,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=3.0.0.r0.g2177383
|
provides = proton-drive-for-linux=3.1.1.r0.gedd62c5
|
||||||
provides = proton-drive-linux=3.0.0.r0.g2177383
|
provides = proton-drive-linux=3.1.1.r0.gedd62c5
|
||||||
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=3.0.0.r0.g2177383
|
pkgver=3.1.1.r0.gedd62c5
|
||||||
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 = 3.0.0
|
pkgver = 3.1.1
|
||||||
pkgrel = 1
|
pkgrel = 1
|
||||||
url = https://proton-drive.narl.io
|
url = https://proton-drive.narl.io
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
@@ -23,13 +23,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=3.0.0
|
provides = proton-drive-linux=3.1.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-3.0.0.tar.gz::https://github.com/narrrl/proton-drive-linux/archive/refs/tags/v3.0.0.tar.gz
|
source = proton-drive-for-linux-3.1.1.tar.gz::https://github.com/narrrl/proton-drive-linux/archive/refs/tags/v3.1.1.tar.gz
|
||||||
sha256sums = 3a9ca82adae6b03e2b33af520ec49f702a3b4c83151ccc70ae3c21645b719ab5
|
sha256sums = c16019c75959d5056c8ae486e0a4dc1f6346828ea93f346dfeae7da717629256
|
||||||
|
|
||||||
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=3.0.0
|
pkgver=3.1.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')
|
||||||
@@ -24,7 +24,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::$_repo/archive/refs/tags/v$pkgver.tar.gz")
|
source=("$pkgname-$pkgver.tar.gz::$_repo/archive/refs/tags/v$pkgver.tar.gz")
|
||||||
sha256sums=('3a9ca82adae6b03e2b33af520ec49f702a3b4c83151ccc70ae3c21645b719ab5')
|
sha256sums=('c16019c75959d5056c8ae486e0a4dc1f6346828ea93f346dfeae7da717629256')
|
||||||
|
|
||||||
_srcname="proton-drive-linux-$pkgver"
|
_srcname="proton-drive-linux-$pkgver"
|
||||||
|
|
||||||
|
|||||||
@@ -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-10-07 02:39+0200\n"
|
"POT-Creation-Date: 2026-10-08 18:47+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"
|
||||||
@@ -57,7 +57,7 @@ msgstr "%-d. %b %Y"
|
|||||||
msgid "%A, %B %-d, %Y, %H:%M"
|
msgid "%A, %B %-d, %Y, %H:%M"
|
||||||
msgstr "%A, %-d. %B %Y, %H:%M"
|
msgstr "%A, %-d. %B %Y, %H:%M"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:747
|
#: crates/pdfs-gui/src/app/main.rs:760
|
||||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||||
@@ -70,91 +70,91 @@ msgstr "%A, %-d. %B %Y, %H:%M"
|
|||||||
msgid "My files"
|
msgid "My files"
|
||||||
msgstr "Meine Dateien"
|
msgstr "Meine Dateien"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||||
msgid "Photos"
|
msgid "Photos"
|
||||||
msgstr "Fotos"
|
msgstr "Fotos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:755
|
#: crates/pdfs-gui/src/app/main.rs:768
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||||
msgid "Shared with me"
|
msgid "Shared with me"
|
||||||
msgstr "Mit mir geteilt"
|
msgstr "Mit mir geteilt"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:760
|
#: crates/pdfs-gui/src/app/main.rs:773
|
||||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||||
msgid "Shared by me"
|
msgid "Shared by me"
|
||||||
msgstr "Von mir geteilt"
|
msgstr "Von mir geteilt"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:763
|
#: crates/pdfs-gui/src/app/main.rs:776
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||||
msgid "Computers"
|
msgid "Computers"
|
||||||
msgstr "Computer"
|
msgstr "Computer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:764
|
#: crates/pdfs-gui/src/app/main.rs:777
|
||||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||||
msgid "Trash"
|
msgid "Trash"
|
||||||
msgstr "Papierkorb"
|
msgstr "Papierkorb"
|
||||||
|
|
||||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:766
|
#: crates/pdfs-gui/src/app/main.rs:779
|
||||||
msgid "Sync"
|
msgid "Sync"
|
||||||
msgstr "Synchronisierung"
|
msgstr "Synchronisierung"
|
||||||
|
|
||||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||||
#. from the mount service.
|
#. from the mount service.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
#: crates/pdfs-gui/src/app/main.rs:1096
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "{what}: {detail}"
|
msgid "{what}: {detail}"
|
||||||
msgstr "{what}: {detail}"
|
msgstr "{what}: {detail}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
#: crates/pdfs-gui/src/app/main.rs:1115
|
||||||
msgid "You're offline"
|
msgid "You're offline"
|
||||||
msgstr "Keine Internetverbindung"
|
msgstr "Keine Internetverbindung"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
#: crates/pdfs-gui/src/app/main.rs:1116
|
||||||
msgid "That's not there any more"
|
msgid "That's not there any more"
|
||||||
msgstr "Das ist nicht mehr vorhanden"
|
msgstr "Das ist nicht mehr vorhanden"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
#: crates/pdfs-gui/src/app/main.rs:1117
|
||||||
msgid "You don't have access to that"
|
msgid "You don't have access to that"
|
||||||
msgstr "Kein Zugriff darauf"
|
msgstr "Kein Zugriff darauf"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
#: crates/pdfs-gui/src/app/main.rs:1118
|
||||||
msgid "Something changed this first"
|
msgid "Something changed this first"
|
||||||
msgstr "Etwas anderes hat dies zuerst geändert"
|
msgstr "Etwas anderes hat dies zuerst geändert"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
#: crates/pdfs-gui/src/app/main.rs:1119
|
||||||
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:1147 crates/pdfs-gui/src/app/main.rs:1376
|
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr "Einstellungen"
|
msgstr "Einstellungen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
#: crates/pdfs-gui/src/app/main.rs:1161
|
||||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr "Tastenkürzel"
|
msgstr "Tastenkürzel"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
#: crates/pdfs-gui/src/app/main.rs:1163
|
||||||
msgid "About Proton Drive for Linux"
|
msgid "About Proton Drive for Linux"
|
||||||
msgstr "Info zu Proton Drive for Linux"
|
msgstr "Info zu Proton Drive for Linux"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
#: crates/pdfs-gui/src/app/main.rs:1168
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr "Hauptmenü"
|
msgstr "Hauptmenü"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||||
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:1219
|
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||||
msgid ""
|
msgid ""
|
||||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -166,23 +166,23 @@ 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:1224
|
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr "Quellcode"
|
msgstr "Quellcode"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||||
msgid "Proton Terms of Service"
|
msgid "Proton Terms of Service"
|
||||||
msgstr "Nutzungsbedingungen von Proton"
|
msgstr "Nutzungsbedingungen von Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||||
msgid "Proton Privacy Policy"
|
msgid "Proton Privacy Policy"
|
||||||
msgstr "Datenschutzerklärung von Proton"
|
msgstr "Datenschutzerklärung von Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
#: crates/pdfs-gui/src/app/main.rs:1250
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr "Haftungsausschluss"
|
msgstr "Haftungsausschluss"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
#: crates/pdfs-gui/src/app/main.rs:1254
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||||
"endorsed by, or supported by Proton AG.\n"
|
"endorsed by, or supported by Proton AG.\n"
|
||||||
@@ -207,7 +207,7 @@ msgstr ""
|
|||||||
"bereitgestellt. Daten, deren Verlust nicht hinnehmbar ist, sollten "
|
"bereitgestellt. Daten, deren Verlust nicht hinnehmbar ist, sollten "
|
||||||
"zusätzlich gesichert werden."
|
"zusätzlich gesichert werden."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
#: crates/pdfs-gui/src/app/main.rs:1262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
@@ -217,7 +217,7 @@ msgstr ""
|
|||||||
"\">GeoNames</a>, lizenziert unter <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, lizenziert unter <a href=\"https://creativecommons.org/"
|
||||||
"licenses/by/4.0/\">CC BY 4.0</a>."
|
"licenses/by/4.0/\">CC BY 4.0</a>."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
#: crates/pdfs-gui/src/app/main.rs:1270
|
||||||
msgid ""
|
msgid ""
|
||||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
@@ -227,7 +227,7 @@ msgstr ""
|
|||||||
"href=\"https://www.naturalearthdata.com/\">Natural Earth</a> gezeichnet, die "
|
"href=\"https://www.naturalearthdata.com/\">Natural Earth</a> gezeichnet, die "
|
||||||
"gemeinfrei sind."
|
"gemeinfrei sind."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
#: crates/pdfs-gui/src/app/main.rs:1278
|
||||||
msgid ""
|
msgid ""
|
||||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||||
@@ -243,15 +243,15 @@ 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:1276
|
#: crates/pdfs-gui/src/app/main.rs:1289
|
||||||
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:1314
|
#: crates/pdfs-gui/src/app/main.rs:1327
|
||||||
msgid "Stop Proton Drive?"
|
msgid "Stop Proton Drive?"
|
||||||
msgstr "Proton Drive beenden?"
|
msgstr "Proton Drive beenden?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1315
|
#: crates/pdfs-gui/src/app/main.rs:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
@@ -260,7 +260,7 @@ msgstr ""
|
|||||||
"eine Verbindung hergestellt wird. Proton Drive startet bei der nächsten "
|
"eine Verbindung hergestellt wird. Proton Drive startet bei der nächsten "
|
||||||
"Anmeldung erneut."
|
"Anmeldung erneut."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
|
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||||
@@ -275,8 +275,9 @@ msgstr ""
|
|||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
#: crates/pdfs-gui/src/app/pages/login.rs:389
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
#: crates/pdfs-gui/src/app/pages/login.rs:503
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:549
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||||
@@ -291,30 +292,30 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Abbrechen"
|
msgstr "Abbrechen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||||
msgctxt "verb"
|
msgctxt "verb"
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Beenden"
|
msgstr "Beenden"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
#: crates/pdfs-gui/src/app/main.rs:1348
|
||||||
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:1336
|
#: crates/pdfs-gui/src/app/main.rs:1349
|
||||||
msgid "The Proton Drive service did not stop."
|
msgid "The Proton Drive service did not stop."
|
||||||
msgstr "Der Proton-Drive-Dienst wurde nicht beendet."
|
msgstr "Der Proton-Drive-Dienst wurde nicht beendet."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Allgemein"
|
msgstr "Allgemein"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||||
msgid "Search Drive"
|
msgid "Search Drive"
|
||||||
msgstr "Drive durchsuchen"
|
msgstr "Drive durchsuchen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||||
@@ -323,38 +324,38 @@ msgstr "Drive durchsuchen"
|
|||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Aktualisieren"
|
msgstr "Aktualisieren"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Tastenkürzel"
|
msgstr "Tastenkürzel"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
msgstr "Dateien"
|
msgstr "Dateien"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||||
msgid "New folder"
|
msgid "New folder"
|
||||||
msgstr "Neuer Ordner"
|
msgstr "Neuer Ordner"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||||
msgid "Upload files"
|
msgid "Upload files"
|
||||||
msgstr "Dateien hochladen"
|
msgstr "Dateien hochladen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1385
|
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||||
msgid "Back / forward"
|
msgid "Back / forward"
|
||||||
msgstr "Zurück / Vor"
|
msgstr "Zurück / Vor"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||||
msgid "Parent folder"
|
msgid "Parent folder"
|
||||||
msgstr "Übergeordneter Ordner"
|
msgstr "Übergeordneter Ordner"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
#: crates/pdfs-gui/src/app/main.rs:1400
|
||||||
msgid "Grid / list"
|
msgid "Grid / list"
|
||||||
msgstr "Raster / Liste"
|
msgstr "Raster / Liste"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
||||||
@@ -363,7 +364,7 @@ msgstr "Raster / Liste"
|
|||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Umbenennen"
|
msgstr "Umbenennen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||||
@@ -373,73 +374,73 @@ 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:1390
|
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||||
msgid "Clear the selection"
|
msgid "Clear the selection"
|
||||||
msgstr "Auswahl aufheben"
|
msgstr "Auswahl aufheben"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1396
|
#: crates/pdfs-gui/src/app/main.rs:1409
|
||||||
msgid "Larger thumbnails"
|
msgid "Larger thumbnails"
|
||||||
msgstr "Größere Vorschaubilder"
|
msgstr "Größere Vorschaubilder"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||||
msgid "Smaller thumbnails"
|
msgid "Smaller thumbnails"
|
||||||
msgstr "Kleinere Vorschaubilder"
|
msgstr "Kleinere Vorschaubilder"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1398
|
#: crates/pdfs-gui/src/app/main.rs:1411
|
||||||
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:1399
|
#: crates/pdfs-gui/src/app/main.rs:1412
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Alles auswählen"
|
msgstr "Alles auswählen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
#: crates/pdfs-gui/src/app/main.rs:1416
|
||||||
msgid "Photo Viewer"
|
msgid "Photo Viewer"
|
||||||
msgstr "Fotobetrachter"
|
msgstr "Fotobetrachter"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
#: crates/pdfs-gui/src/app/main.rs:1418
|
||||||
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:1406
|
#: crates/pdfs-gui/src/app/main.rs:1419
|
||||||
msgid "First / last photo"
|
msgid "First / last photo"
|
||||||
msgstr "Erstes / letztes Foto"
|
msgstr "Erstes / letztes Foto"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1407
|
#: crates/pdfs-gui/src/app/main.rs:1420
|
||||||
msgid "Show details"
|
msgid "Show details"
|
||||||
msgstr "Details anzeigen"
|
msgstr "Details anzeigen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
#: crates/pdfs-gui/src/app/main.rs:1421
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Vollbild"
|
msgstr "Vollbild"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
#: crates/pdfs-gui/src/app/main.rs:1423
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Schließen"
|
msgstr "Schließen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
#: crates/pdfs-gui/src/app/main.rs:1513
|
||||||
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"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
#: crates/pdfs-gui/src/app/main.rs:1673
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||||
msgid "Not connected"
|
msgid "Not connected"
|
||||||
msgstr "Nicht verbunden"
|
msgstr "Nicht verbunden"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
#: crates/pdfs-gui/src/app/main.rs:1674
|
||||||
msgid "The Proton Drive service isn't running."
|
msgid "The Proton Drive service isn't running."
|
||||||
msgstr "Der Proton-Drive-Dienst läuft nicht."
|
msgstr "Der Proton-Drive-Dienst läuft nicht."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
#: crates/pdfs-gui/src/app/main.rs:1682
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||||
#: crates/pdfs-gui/src/main.rs:453
|
#: crates/pdfs-gui/src/main.rs:453
|
||||||
msgid "Connecting…"
|
msgid "Connecting…"
|
||||||
msgstr "Verbindung wird hergestellt …"
|
msgstr "Verbindung wird hergestellt …"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
#: crates/pdfs-gui/src/app/main.rs:1683
|
||||||
msgid "Waiting for the Proton Drive service to start."
|
msgid "Waiting for the Proton Drive service to start."
|
||||||
msgstr "Warten auf den Start des Proton-Drive-Dienstes."
|
msgstr "Warten auf den Start des Proton-Drive-Dienstes."
|
||||||
|
|
||||||
@@ -3205,21 +3206,21 @@ msgstr "Anmeldung läuft …"
|
|||||||
msgid "Complete the verification to continue…"
|
msgid "Complete the verification to continue…"
|
||||||
msgstr "Zum Fortfahren die Überprüfung abschließen …"
|
msgstr "Zum Fortfahren die Überprüfung abschließen …"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
#: crates/pdfs-gui/src/app/pages/login.rs:195
|
||||||
msgid "login cancelled"
|
msgid "login cancelled"
|
||||||
msgstr "Anmeldung abgebrochen"
|
msgstr "Anmeldung abgebrochen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
#: crates/pdfs-gui/src/app/pages/login.rs:228
|
||||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
msgstr "Zu viele Anmeldeversuche. Einige Minuten warten und erneut versuchen."
|
msgstr "Zu viele Anmeldeversuche. Einige Minuten warten und erneut versuchen."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
#: crates/pdfs-gui/src/app/pages/login.rs:234
|
||||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Proton ist nicht erreichbar. Bitte die Internetverbindung prüfen und erneut "
|
"Proton ist nicht erreichbar. Bitte die Internetverbindung prüfen und erneut "
|
||||||
"versuchen."
|
"versuchen."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
#: crates/pdfs-gui/src/app/pages/login.rs:237
|
||||||
msgid ""
|
msgid ""
|
||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
@@ -3228,19 +3229,19 @@ msgstr ""
|
|||||||
"gespeichert werden. Bitte sicherstellen, dass ein Schlüsselbund (GNOME "
|
"gespeichert werden. Bitte sicherstellen, dass ein Schlüsselbund (GNOME "
|
||||||
"Keyring oder KWallet) läuft und entsperrt ist."
|
"Keyring oder KWallet) läuft und entsperrt ist."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
#: crates/pdfs-gui/src/app/pages/login.rs:240
|
||||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||||
msgstr "Anmeldung abgebrochen: Es wurde kein Zwei-Faktor-Code eingegeben."
|
msgstr "Anmeldung abgebrochen: Es wurde kein Zwei-Faktor-Code eingegeben."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
#: crates/pdfs-gui/src/app/pages/login.rs:243
|
||||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||||
msgstr "Anmeldung abgebrochen: Es wurde kein Postfach-Passwort eingegeben."
|
msgstr "Anmeldung abgebrochen: Es wurde kein Postfach-Passwort eingegeben."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
#: crates/pdfs-gui/src/app/pages/login.rs:246
|
||||||
msgid "That mailbox password didn't unlock your account."
|
msgid "That mailbox password didn't unlock your account."
|
||||||
msgstr "Das Postfach-Passwort hat Ihr Konto nicht entsperrt."
|
msgstr "Das Postfach-Passwort hat Ihr Konto nicht entsperrt."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
#: crates/pdfs-gui/src/app/pages/login.rs:249
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||||
"new one."
|
"new one."
|
||||||
@@ -3249,79 +3250,108 @@ msgstr ""
|
|||||||
"neue Überprüfung erneut anmelden."
|
"neue Überprüfung erneut anmelden."
|
||||||
|
|
||||||
#. Translators: {error} is an error message, usually in English.
|
#. Translators: {error} is an error message, usually in English.
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
#: crates/pdfs-gui/src/app/pages/login.rs:254
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "Sign-in failed: {error}"
|
msgid "Sign-in failed: {error}"
|
||||||
msgstr "Anmeldung fehlgeschlagen: {error}"
|
msgstr "Anmeldung fehlgeschlagen: {error}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||||
msgid "That mailbox password didn't unlock your account. Try again."
|
msgid "That mailbox password didn't unlock your account. Try again."
|
||||||
msgstr "Das Postfach-Passwort hat Ihr Konto nicht entsperrt. Versuchen Sie es erneut."
|
msgstr ""
|
||||||
|
"Das Postfach-Passwort hat Ihr Konto nicht entsperrt. Versuchen Sie es erneut."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
#: crates/pdfs-gui/src/app/pages/login.rs:367
|
||||||
msgid ""
|
msgid ""
|
||||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
msgstr "Dieses Konto hat ein separates Postfach-Passwort. Geben Sie es ein, um Ihre Dateien zu entsperren."
|
msgstr ""
|
||||||
|
"Dieses Konto hat ein separates Postfach-Passwort. Geben Sie es ein, um Ihre "
|
||||||
|
"Dateien zu entsperren."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
#: crates/pdfs-gui/src/app/pages/login.rs:370
|
||||||
msgid "Mailbox Password"
|
msgid "Mailbox Password"
|
||||||
msgstr "Postfach-Passwort"
|
msgstr "Postfach-Passwort"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
#: crates/pdfs-gui/src/app/pages/login.rs:376
|
||||||
msgid "Mailbox password"
|
msgid "Mailbox password"
|
||||||
msgstr "Postfach-Passwort"
|
msgstr "Postfach-Passwort"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
#: crates/pdfs-gui/src/app/pages/login.rs:380
|
||||||
msgid "Keep unlocked on this computer"
|
msgid "Keep unlocked on this computer"
|
||||||
msgstr "Auf diesem Computer entsperrt lassen"
|
msgstr "Auf diesem Computer entsperrt lassen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
#: crates/pdfs-gui/src/app/pages/login.rs:382
|
||||||
msgid ""
|
msgid ""
|
||||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
"asking after every login. Otherwise you enter the password once per session."
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
msgstr "Speichert die Entsperrung im System-Schlüsselbund, sodass sich Proton Drive nach jeder Anmeldung ohne Nachfrage öffnet. Andernfalls geben Sie das Passwort einmal pro Sitzung ein."
|
msgstr ""
|
||||||
|
"Speichert die Entsperrung im System-Schlüsselbund, sodass sich Proton Drive "
|
||||||
|
"nach jeder Anmeldung ohne Nachfrage öffnet. Andernfalls geben Sie das "
|
||||||
|
"Passwort einmal pro Sitzung ein."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
#: crates/pdfs-gui/src/app/pages/login.rs:390
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
#: crates/pdfs-gui/src/app/pages/login.rs:443
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Entsperren"
|
msgstr "Entsperren"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
#: crates/pdfs-gui/src/app/pages/login.rs:442
|
||||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
msgstr "Proton Drive ist gesperrt. Geben Sie Ihr Postfach-Passwort ein, um es zu entsperren."
|
msgstr ""
|
||||||
|
"Proton Drive ist gesperrt. Geben Sie Ihr Postfach-Passwort ein, um es zu "
|
||||||
|
"entsperren."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
#: crates/pdfs-gui/src/app/pages/login.rs:471
|
||||||
msgid "Unlocked."
|
msgid "Unlocked."
|
||||||
msgstr "Entsperrt."
|
msgstr "Entsperrt."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
#: crates/pdfs-gui/src/app/pages/login.rs:476
|
||||||
msgid "Couldn't unlock"
|
msgid "Couldn't unlock"
|
||||||
msgstr "Entsperren fehlgeschlagen"
|
msgstr "Entsperren fehlgeschlagen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
#: crates/pdfs-gui/src/app/pages/login.rs:489
|
||||||
msgid "Two-Factor Authentication"
|
msgid "Two-Factor Authentication"
|
||||||
msgstr "Zwei-Faktor-Authentifizierung"
|
msgstr "Zwei-Faktor-Authentifizierung"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
#: crates/pdfs-gui/src/app/pages/login.rs:491
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Den Code aus der Authentifizierungs-App oder einen der "
|
"Den Code aus der Authentifizierungs-App oder einen der "
|
||||||
"Wiederherstellungscodes eingeben."
|
"Wiederherstellungscodes eingeben."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
#: crates/pdfs-gui/src/app/pages/login.rs:497
|
||||||
msgid "Authentication code"
|
msgid "Authentication code"
|
||||||
msgstr "Authentifizierungscode"
|
msgstr "Authentifizierungscode"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
#: crates/pdfs-gui/src/app/pages/login.rs:504
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bestätigen"
|
msgstr "Bestätigen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
#: crates/pdfs-gui/src/app/pages/login.rs:535
|
||||||
|
#
|
||||||
|
msgid "Verify in Your Browser"
|
||||||
|
msgstr "Im Browser überprüfen"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:537
|
||||||
|
msgid ""
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in "
|
||||||
|
"your browser, complete it there, then come back and choose Continue."
|
||||||
|
msgstr "Die Überprüfungsseite kann auf diesem System nicht in der App angezeigt werden. Öffne sie in deinem Browser, schließe sie dort ab, komm dann zurück und wähle „Weiter“."
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:543
|
||||||
|
#
|
||||||
|
msgid "Open Verification Page"
|
||||||
|
msgstr "Überprüfungsseite öffnen"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:550
|
||||||
|
#
|
||||||
|
msgid "Continue"
|
||||||
|
msgstr "Weiter"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:589
|
||||||
msgid "Sign Out?"
|
msgid "Sign Out?"
|
||||||
msgstr "Abmelden?"
|
msgstr "Abmelden?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
#: crates/pdfs-gui/src/app/pages/login.rs:591
|
||||||
msgid ""
|
msgid ""
|
||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
@@ -3330,7 +3360,7 @@ msgstr ""
|
|||||||
"nächsten Anmeldung. Dateien, die sich bereits auf diesem Computer befinden, "
|
"nächsten Anmeldung. Dateien, die sich bereits auf diesem Computer befinden, "
|
||||||
"bleiben, wo sie sind."
|
"bleiben, wo sie sind."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
#: crates/pdfs-gui/src/app/pages/login.rs:593
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "Abmelden"
|
msgstr "Abmelden"
|
||||||
|
|
||||||
@@ -5319,7 +5349,7 @@ msgstr "Papierkorb geleert"
|
|||||||
msgid "Couldn't empty the trash"
|
msgid "Couldn't empty the trash"
|
||||||
msgstr "Der Papierkorb konnte nicht geleert werden"
|
msgstr "Der Papierkorb konnte nicht geleert werden"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/verify.rs:57
|
#: crates/pdfs-gui/src/app/pages/verify.rs:162
|
||||||
msgid "Verification"
|
msgid "Verification"
|
||||||
msgstr "Überprüfung"
|
msgstr "Überprüfung"
|
||||||
|
|
||||||
@@ -6117,6 +6147,16 @@ msgstr "{count} J."
|
|||||||
msgid "cannot reach the Proton Drive daemon: {error}"
|
msgid "cannot reach the Proton Drive daemon: {error}"
|
||||||
msgstr "Proton-Drive-Hintergrunddienst nicht erreichbar: {error}"
|
msgstr "Proton-Drive-Hintergrunddienst nicht erreichbar: {error}"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The verification page couldn't be opened, so the sign-in was cancelled. "
|
||||||
|
#~ "Your system may keep the web view's sandbox from starting; the "
|
||||||
|
#~ "troubleshooting guide explains what to do."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Die Überprüfungsseite konnte nicht geöffnet werden, daher wurde die "
|
||||||
|
#~ "Anmeldung abgebrochen. Möglicherweise verhindert das System, dass die "
|
||||||
|
#~ "Sandbox der Webansicht startet; die Anleitung zur Fehlerbehebung erklärt, "
|
||||||
|
#~ "was zu tun ist."
|
||||||
|
|
||||||
#~ msgid "Jump to a month"
|
#~ msgid "Jump to a month"
|
||||||
#~ msgstr "Zu einem Monat springen"
|
#~ msgstr "Zu einem Monat springen"
|
||||||
|
|
||||||
|
|||||||
+129
-95
@@ -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-10-07 02:39+0200\n"
|
"POT-Creation-Date: 2026-10-08 18:47+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"
|
||||||
@@ -57,7 +57,7 @@ msgstr "%-d %b %Y"
|
|||||||
msgid "%A, %B %-d, %Y, %H:%M"
|
msgid "%A, %B %-d, %Y, %H:%M"
|
||||||
msgstr "%A %-d %B %Y, %H:%M"
|
msgstr "%A %-d %B %Y, %H:%M"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:747
|
#: crates/pdfs-gui/src/app/main.rs:760
|
||||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||||
@@ -70,91 +70,91 @@ msgstr "%A %-d %B %Y, %H:%M"
|
|||||||
msgid "My files"
|
msgid "My files"
|
||||||
msgstr "My files"
|
msgstr "My files"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||||
msgid "Photos"
|
msgid "Photos"
|
||||||
msgstr "Photos"
|
msgstr "Photos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:755
|
#: crates/pdfs-gui/src/app/main.rs:768
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||||
msgid "Shared with me"
|
msgid "Shared with me"
|
||||||
msgstr "Shared with me"
|
msgstr "Shared with me"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:760
|
#: crates/pdfs-gui/src/app/main.rs:773
|
||||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||||
msgid "Shared by me"
|
msgid "Shared by me"
|
||||||
msgstr "Shared by me"
|
msgstr "Shared by me"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:763
|
#: crates/pdfs-gui/src/app/main.rs:776
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||||
msgid "Computers"
|
msgid "Computers"
|
||||||
msgstr "Computers"
|
msgstr "Computers"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:764
|
#: crates/pdfs-gui/src/app/main.rs:777
|
||||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||||
msgid "Trash"
|
msgid "Trash"
|
||||||
msgstr "Trash"
|
msgstr "Trash"
|
||||||
|
|
||||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:766
|
#: crates/pdfs-gui/src/app/main.rs:779
|
||||||
msgid "Sync"
|
msgid "Sync"
|
||||||
msgstr "Sync"
|
msgstr "Sync"
|
||||||
|
|
||||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||||
#. from the mount service.
|
#. from the mount service.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
#: crates/pdfs-gui/src/app/main.rs:1096
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "{what}: {detail}"
|
msgid "{what}: {detail}"
|
||||||
msgstr "{what}: {detail}"
|
msgstr "{what}: {detail}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
#: crates/pdfs-gui/src/app/main.rs:1115
|
||||||
msgid "You're offline"
|
msgid "You're offline"
|
||||||
msgstr "You're offline"
|
msgstr "You're offline"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
#: crates/pdfs-gui/src/app/main.rs:1116
|
||||||
msgid "That's not there any more"
|
msgid "That's not there any more"
|
||||||
msgstr "That's not there any more"
|
msgstr "That's not there any more"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
#: crates/pdfs-gui/src/app/main.rs:1117
|
||||||
msgid "You don't have access to that"
|
msgid "You don't have access to that"
|
||||||
msgstr "You don't have access to that"
|
msgstr "You don't have access to that"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
#: crates/pdfs-gui/src/app/main.rs:1118
|
||||||
msgid "Something changed this first"
|
msgid "Something changed this first"
|
||||||
msgstr "Something changed this first"
|
msgstr "Something changed this first"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
#: crates/pdfs-gui/src/app/main.rs:1119
|
||||||
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:1147 crates/pdfs-gui/src/app/main.rs:1376
|
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr "Preferences"
|
msgstr "Preferences"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
#: crates/pdfs-gui/src/app/main.rs:1161
|
||||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr "Keyboard Shortcuts"
|
msgstr "Keyboard Shortcuts"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
#: crates/pdfs-gui/src/app/main.rs:1163
|
||||||
msgid "About Proton Drive for Linux"
|
msgid "About Proton Drive for Linux"
|
||||||
msgstr "About Proton Drive for Linux"
|
msgstr "About Proton Drive for Linux"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
#: crates/pdfs-gui/src/app/main.rs:1168
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr "Main menu"
|
msgstr "Main menu"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||||
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:1219
|
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||||
msgid ""
|
msgid ""
|
||||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -166,23 +166,23 @@ 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:1224
|
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr "Source Code"
|
msgstr "Source Code"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||||
msgid "Proton Terms of Service"
|
msgid "Proton Terms of Service"
|
||||||
msgstr "Proton Terms of Service"
|
msgstr "Proton Terms of Service"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||||
msgid "Proton Privacy Policy"
|
msgid "Proton Privacy Policy"
|
||||||
msgstr "Proton Privacy Policy"
|
msgstr "Proton Privacy Policy"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
#: crates/pdfs-gui/src/app/main.rs:1250
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr "Disclaimer"
|
msgstr "Disclaimer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
#: crates/pdfs-gui/src/app/main.rs:1254
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||||
"endorsed by, or supported by Proton AG.\n"
|
"endorsed by, or supported by Proton AG.\n"
|
||||||
@@ -204,7 +204,7 @@ msgstr ""
|
|||||||
"This software is provided “as is”, without warranty of any kind. Keep a copy "
|
"This software is provided “as is”, without warranty of any kind. Keep a copy "
|
||||||
"of any data you cannot afford to lose."
|
"of any data you cannot afford to lose."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
#: crates/pdfs-gui/src/app/main.rs:1262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
@@ -214,7 +214,7 @@ msgstr ""
|
|||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
"licenses/by/4.0/\">CC BY 4.0</a>."
|
"licenses/by/4.0/\">CC BY 4.0</a>."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
#: crates/pdfs-gui/src/app/main.rs:1270
|
||||||
msgid ""
|
msgid ""
|
||||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
@@ -224,7 +224,7 @@ msgstr ""
|
|||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
"public domain."
|
"public domain."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
#: crates/pdfs-gui/src/app/main.rs:1278
|
||||||
msgid ""
|
msgid ""
|
||||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||||
@@ -240,15 +240,15 @@ 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:1276
|
#: crates/pdfs-gui/src/app/main.rs:1289
|
||||||
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:1314
|
#: crates/pdfs-gui/src/app/main.rs:1327
|
||||||
msgid "Stop Proton Drive?"
|
msgid "Stop Proton Drive?"
|
||||||
msgstr "Stop Proton Drive?"
|
msgstr "Stop Proton Drive?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1315
|
#: crates/pdfs-gui/src/app/main.rs:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
@@ -256,7 +256,7 @@ msgstr ""
|
|||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
|
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||||
@@ -271,8 +271,9 @@ msgstr ""
|
|||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
#: crates/pdfs-gui/src/app/pages/login.rs:389
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
#: crates/pdfs-gui/src/app/pages/login.rs:503
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:549
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||||
@@ -287,30 +288,30 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancel"
|
msgstr "Cancel"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||||
msgctxt "verb"
|
msgctxt "verb"
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Stop"
|
msgstr "Stop"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
#: crates/pdfs-gui/src/app/main.rs:1348
|
||||||
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:1336
|
#: crates/pdfs-gui/src/app/main.rs:1349
|
||||||
msgid "The Proton Drive service did not stop."
|
msgid "The Proton Drive service did not stop."
|
||||||
msgstr "The Proton Drive service did not stop."
|
msgstr "The Proton Drive service did not stop."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "General"
|
msgstr "General"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||||
msgid "Search Drive"
|
msgid "Search Drive"
|
||||||
msgstr "Search Drive"
|
msgstr "Search Drive"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||||
@@ -319,38 +320,38 @@ msgstr "Search Drive"
|
|||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Refresh"
|
msgstr "Refresh"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Keyboard shortcuts"
|
msgstr "Keyboard shortcuts"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
msgstr "Files"
|
msgstr "Files"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||||
msgid "New folder"
|
msgid "New folder"
|
||||||
msgstr "New folder"
|
msgstr "New folder"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||||
msgid "Upload files"
|
msgid "Upload files"
|
||||||
msgstr "Upload files"
|
msgstr "Upload files"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1385
|
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||||
msgid "Back / forward"
|
msgid "Back / forward"
|
||||||
msgstr "Back / forward"
|
msgstr "Back / forward"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||||
msgid "Parent folder"
|
msgid "Parent folder"
|
||||||
msgstr "Parent folder"
|
msgstr "Parent folder"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
#: crates/pdfs-gui/src/app/main.rs:1400
|
||||||
msgid "Grid / list"
|
msgid "Grid / list"
|
||||||
msgstr "Grid / list"
|
msgstr "Grid / list"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
||||||
@@ -359,7 +360,7 @@ msgstr "Grid / list"
|
|||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Rename"
|
msgstr "Rename"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||||
@@ -369,73 +370,73 @@ 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:1390
|
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||||
msgid "Clear the selection"
|
msgid "Clear the selection"
|
||||||
msgstr "Clear the selection"
|
msgstr "Clear the selection"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1396
|
#: crates/pdfs-gui/src/app/main.rs:1409
|
||||||
msgid "Larger thumbnails"
|
msgid "Larger thumbnails"
|
||||||
msgstr "Larger thumbnails"
|
msgstr "Larger thumbnails"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||||
msgid "Smaller thumbnails"
|
msgid "Smaller thumbnails"
|
||||||
msgstr "Smaller thumbnails"
|
msgstr "Smaller thumbnails"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1398
|
#: crates/pdfs-gui/src/app/main.rs:1411
|
||||||
msgid "Reset thumbnail size"
|
msgid "Reset thumbnail size"
|
||||||
msgstr "Reset thumbnail size"
|
msgstr "Reset thumbnail size"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1399
|
#: crates/pdfs-gui/src/app/main.rs:1412
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Select all"
|
msgstr "Select all"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
#: crates/pdfs-gui/src/app/main.rs:1416
|
||||||
msgid "Photo Viewer"
|
msgid "Photo Viewer"
|
||||||
msgstr "Photo Viewer"
|
msgstr "Photo Viewer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
#: crates/pdfs-gui/src/app/main.rs:1418
|
||||||
msgid "Previous / next photo"
|
msgid "Previous / next photo"
|
||||||
msgstr "Previous / next photo"
|
msgstr "Previous / next photo"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1406
|
#: crates/pdfs-gui/src/app/main.rs:1419
|
||||||
msgid "First / last photo"
|
msgid "First / last photo"
|
||||||
msgstr "First / last photo"
|
msgstr "First / last photo"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1407
|
#: crates/pdfs-gui/src/app/main.rs:1420
|
||||||
msgid "Show details"
|
msgid "Show details"
|
||||||
msgstr "Show details"
|
msgstr "Show details"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
#: crates/pdfs-gui/src/app/main.rs:1421
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Fullscreen"
|
msgstr "Fullscreen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
#: crates/pdfs-gui/src/app/main.rs:1423
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Close"
|
msgstr "Close"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
#: crates/pdfs-gui/src/app/main.rs:1513
|
||||||
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"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
#: crates/pdfs-gui/src/app/main.rs:1673
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||||
msgid "Not connected"
|
msgid "Not connected"
|
||||||
msgstr "Not connected"
|
msgstr "Not connected"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
#: crates/pdfs-gui/src/app/main.rs:1674
|
||||||
msgid "The Proton Drive service isn't running."
|
msgid "The Proton Drive service isn't running."
|
||||||
msgstr "The Proton Drive service isn't running."
|
msgstr "The Proton Drive service isn't running."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
#: crates/pdfs-gui/src/app/main.rs:1682
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||||
#: crates/pdfs-gui/src/main.rs:453
|
#: crates/pdfs-gui/src/main.rs:453
|
||||||
msgid "Connecting…"
|
msgid "Connecting…"
|
||||||
msgstr "Connecting…"
|
msgstr "Connecting…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
#: crates/pdfs-gui/src/app/main.rs:1683
|
||||||
msgid "Waiting for the Proton Drive service to start."
|
msgid "Waiting for the Proton Drive service to start."
|
||||||
msgstr "Waiting for the Proton Drive service to start."
|
msgstr "Waiting for the Proton Drive service to start."
|
||||||
|
|
||||||
@@ -3154,19 +3155,19 @@ msgstr "Signing in…"
|
|||||||
msgid "Complete the verification to continue…"
|
msgid "Complete the verification to continue…"
|
||||||
msgstr "Complete the verification to continue…"
|
msgstr "Complete the verification to continue…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
#: crates/pdfs-gui/src/app/pages/login.rs:195
|
||||||
msgid "login cancelled"
|
msgid "login cancelled"
|
||||||
msgstr "login cancelled"
|
msgstr "login cancelled"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
#: crates/pdfs-gui/src/app/pages/login.rs:228
|
||||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
msgstr "Too many sign-in attempts. Wait a few minutes and try again."
|
msgstr "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
#: crates/pdfs-gui/src/app/pages/login.rs:234
|
||||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
msgstr "Couldn't reach Proton. Check your internet connection and try again."
|
msgstr "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
#: crates/pdfs-gui/src/app/pages/login.rs:237
|
||||||
msgid ""
|
msgid ""
|
||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
@@ -3174,19 +3175,19 @@ msgstr ""
|
|||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
#: crates/pdfs-gui/src/app/pages/login.rs:240
|
||||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||||
msgstr "Sign-in cancelled: no two-factor code was entered."
|
msgstr "Sign-in cancelled: no two-factor code was entered."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
#: crates/pdfs-gui/src/app/pages/login.rs:243
|
||||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||||
msgstr "Sign-in cancelled: no mailbox password was entered."
|
msgstr "Sign-in cancelled: no mailbox password was entered."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
#: crates/pdfs-gui/src/app/pages/login.rs:246
|
||||||
msgid "That mailbox password didn't unlock your account."
|
msgid "That mailbox password didn't unlock your account."
|
||||||
msgstr "That mailbox password didn't unlock your account."
|
msgstr "That mailbox password didn't unlock your account."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
#: crates/pdfs-gui/src/app/pages/login.rs:249
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||||
"new one."
|
"new one."
|
||||||
@@ -3195,78 +3196,102 @@ msgstr ""
|
|||||||
"new one."
|
"new one."
|
||||||
|
|
||||||
#. Translators: {error} is an error message, usually in English.
|
#. Translators: {error} is an error message, usually in English.
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
#: crates/pdfs-gui/src/app/pages/login.rs:254
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "Sign-in failed: {error}"
|
msgid "Sign-in failed: {error}"
|
||||||
msgstr "Sign-in failed: {error}"
|
msgstr "Sign-in failed: {error}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||||
msgid "That mailbox password didn't unlock your account. Try again."
|
msgid "That mailbox password didn't unlock your account. Try again."
|
||||||
msgstr "That mailbox password didn't unlock your account. Try again."
|
msgstr "That mailbox password didn't unlock your account. Try again."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
#: crates/pdfs-gui/src/app/pages/login.rs:367
|
||||||
msgid ""
|
msgid ""
|
||||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
msgstr "This account has a separate mailbox password. Enter it to unlock your files."
|
msgstr ""
|
||||||
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
#: crates/pdfs-gui/src/app/pages/login.rs:370
|
||||||
msgid "Mailbox Password"
|
msgid "Mailbox Password"
|
||||||
msgstr "Mailbox Password"
|
msgstr "Mailbox Password"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
#: crates/pdfs-gui/src/app/pages/login.rs:376
|
||||||
msgid "Mailbox password"
|
msgid "Mailbox password"
|
||||||
msgstr "Mailbox password"
|
msgstr "Mailbox password"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
#: crates/pdfs-gui/src/app/pages/login.rs:380
|
||||||
msgid "Keep unlocked on this computer"
|
msgid "Keep unlocked on this computer"
|
||||||
msgstr "Keep unlocked on this computer"
|
msgstr "Keep unlocked on this computer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
#: crates/pdfs-gui/src/app/pages/login.rs:382
|
||||||
msgid ""
|
msgid ""
|
||||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
"asking after every login. Otherwise you enter the password once per session."
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
msgstr "Stores the unlock in the system keyring, so Proton Drive opens without asking after every login. Otherwise you enter the password once per session."
|
msgstr ""
|
||||||
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
#: crates/pdfs-gui/src/app/pages/login.rs:390
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
#: crates/pdfs-gui/src/app/pages/login.rs:443
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Unlock"
|
msgstr "Unlock"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
#: crates/pdfs-gui/src/app/pages/login.rs:442
|
||||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
msgstr "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgstr "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
#: crates/pdfs-gui/src/app/pages/login.rs:471
|
||||||
msgid "Unlocked."
|
msgid "Unlocked."
|
||||||
msgstr "Unlocked."
|
msgstr "Unlocked."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
#: crates/pdfs-gui/src/app/pages/login.rs:476
|
||||||
msgid "Couldn't unlock"
|
msgid "Couldn't unlock"
|
||||||
msgstr "Couldn't unlock"
|
msgstr "Couldn't unlock"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
#: crates/pdfs-gui/src/app/pages/login.rs:489
|
||||||
msgid "Two-Factor Authentication"
|
msgid "Two-Factor Authentication"
|
||||||
msgstr "Two-Factor Authentication"
|
msgstr "Two-Factor Authentication"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
#: crates/pdfs-gui/src/app/pages/login.rs:491
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
#: crates/pdfs-gui/src/app/pages/login.rs:497
|
||||||
msgid "Authentication code"
|
msgid "Authentication code"
|
||||||
msgstr "Authentication code"
|
msgstr "Authentication code"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
#: crates/pdfs-gui/src/app/pages/login.rs:504
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirm"
|
msgstr "Confirm"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
#: crates/pdfs-gui/src/app/pages/login.rs:535
|
||||||
|
#
|
||||||
|
msgid "Verify in Your Browser"
|
||||||
|
msgstr "Verify in Your Browser"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:537
|
||||||
|
msgid ""
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in "
|
||||||
|
"your browser, complete it there, then come back and choose Continue."
|
||||||
|
msgstr "The verification page can't be shown in the app on this system. Open it in your browser, complete it there, then come back and choose Continue."
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:543
|
||||||
|
#
|
||||||
|
msgid "Open Verification Page"
|
||||||
|
msgstr "Open Verification Page"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:550
|
||||||
|
#
|
||||||
|
msgid "Continue"
|
||||||
|
msgstr "Continue"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:589
|
||||||
msgid "Sign Out?"
|
msgid "Sign Out?"
|
||||||
msgstr "Sign Out?"
|
msgstr "Sign Out?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
#: crates/pdfs-gui/src/app/pages/login.rs:591
|
||||||
msgid ""
|
msgid ""
|
||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
@@ -3274,7 +3299,7 @@ msgstr ""
|
|||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
#: crates/pdfs-gui/src/app/pages/login.rs:593
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "Sign Out"
|
msgstr "Sign Out"
|
||||||
|
|
||||||
@@ -5216,7 +5241,7 @@ msgstr "Trash emptied"
|
|||||||
msgid "Couldn't empty the trash"
|
msgid "Couldn't empty the trash"
|
||||||
msgstr "Couldn't empty the trash"
|
msgstr "Couldn't empty the trash"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/verify.rs:57
|
#: crates/pdfs-gui/src/app/pages/verify.rs:162
|
||||||
msgid "Verification"
|
msgid "Verification"
|
||||||
msgstr "Verification"
|
msgstr "Verification"
|
||||||
|
|
||||||
@@ -6007,6 +6032,15 @@ msgstr "{count}y"
|
|||||||
msgid "cannot reach the Proton Drive daemon: {error}"
|
msgid "cannot reach the Proton Drive daemon: {error}"
|
||||||
msgstr "cannot reach the Proton Drive daemon: {error}"
|
msgstr "cannot reach the Proton Drive daemon: {error}"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The verification page couldn't be opened, so the sign-in was cancelled. "
|
||||||
|
#~ "Your system may keep the web view's sandbox from starting; the "
|
||||||
|
#~ "troubleshooting guide explains what to do."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "The verification page couldn't be opened, so the sign-in was cancelled. "
|
||||||
|
#~ "Your system may keep the web view's sandbox from starting; the "
|
||||||
|
#~ "troubleshooting guide explains what to do."
|
||||||
|
|
||||||
#~ msgid "Jump to a month"
|
#~ msgid "Jump to a month"
|
||||||
#~ msgstr "Jump to a month"
|
#~ msgstr "Jump to a month"
|
||||||
|
|
||||||
|
|||||||
@@ -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-10-07 02:39+0200\n"
|
"POT-Creation-Date: 2026-10-08 18:47+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"
|
||||||
@@ -57,7 +57,7 @@ msgstr "%-d %b %Y"
|
|||||||
msgid "%A, %B %-d, %Y, %H:%M"
|
msgid "%A, %B %-d, %Y, %H:%M"
|
||||||
msgstr "%A, %-d de %B de %Y, %H:%M"
|
msgstr "%A, %-d de %B de %Y, %H:%M"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:747
|
#: crates/pdfs-gui/src/app/main.rs:760
|
||||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||||
@@ -70,91 +70,91 @@ msgstr "%A, %-d de %B de %Y, %H:%M"
|
|||||||
msgid "My files"
|
msgid "My files"
|
||||||
msgstr "Mis archivos"
|
msgstr "Mis archivos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||||
msgid "Photos"
|
msgid "Photos"
|
||||||
msgstr "Fotos"
|
msgstr "Fotos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:755
|
#: crates/pdfs-gui/src/app/main.rs:768
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||||
msgid "Shared with me"
|
msgid "Shared with me"
|
||||||
msgstr "Compartido conmigo"
|
msgstr "Compartido conmigo"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:760
|
#: crates/pdfs-gui/src/app/main.rs:773
|
||||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||||
msgid "Shared by me"
|
msgid "Shared by me"
|
||||||
msgstr "Compartido por mí"
|
msgstr "Compartido por mí"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:763
|
#: crates/pdfs-gui/src/app/main.rs:776
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||||
msgid "Computers"
|
msgid "Computers"
|
||||||
msgstr "Equipos"
|
msgstr "Equipos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:764
|
#: crates/pdfs-gui/src/app/main.rs:777
|
||||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||||
msgid "Trash"
|
msgid "Trash"
|
||||||
msgstr "Papelera"
|
msgstr "Papelera"
|
||||||
|
|
||||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:766
|
#: crates/pdfs-gui/src/app/main.rs:779
|
||||||
msgid "Sync"
|
msgid "Sync"
|
||||||
msgstr "Sincronización"
|
msgstr "Sincronización"
|
||||||
|
|
||||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||||
#. from the mount service.
|
#. from the mount service.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
#: crates/pdfs-gui/src/app/main.rs:1096
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "{what}: {detail}"
|
msgid "{what}: {detail}"
|
||||||
msgstr "{what}: {detail}"
|
msgstr "{what}: {detail}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
#: crates/pdfs-gui/src/app/main.rs:1115
|
||||||
msgid "You're offline"
|
msgid "You're offline"
|
||||||
msgstr "Está sin conexión"
|
msgstr "Está sin conexión"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
#: crates/pdfs-gui/src/app/main.rs:1116
|
||||||
msgid "That's not there any more"
|
msgid "That's not there any more"
|
||||||
msgstr "Eso ya no existe"
|
msgstr "Eso ya no existe"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
#: crates/pdfs-gui/src/app/main.rs:1117
|
||||||
msgid "You don't have access to that"
|
msgid "You don't have access to that"
|
||||||
msgstr "No tiene acceso a eso"
|
msgstr "No tiene acceso a eso"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
#: crates/pdfs-gui/src/app/main.rs:1118
|
||||||
msgid "Something changed this first"
|
msgid "Something changed this first"
|
||||||
msgstr "Algo lo cambió antes"
|
msgstr "Algo lo cambió antes"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
#: crates/pdfs-gui/src/app/main.rs:1119
|
||||||
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:1147 crates/pdfs-gui/src/app/main.rs:1376
|
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr "Preferencias"
|
msgstr "Preferencias"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
#: crates/pdfs-gui/src/app/main.rs:1161
|
||||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr "Atajos del teclado"
|
msgstr "Atajos del teclado"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
#: crates/pdfs-gui/src/app/main.rs:1163
|
||||||
msgid "About Proton Drive for Linux"
|
msgid "About Proton Drive for Linux"
|
||||||
msgstr "Acerca de Proton Drive for Linux"
|
msgstr "Acerca de Proton Drive for Linux"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
#: crates/pdfs-gui/src/app/main.rs:1168
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr "Menú principal"
|
msgstr "Menú principal"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||||
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:1219
|
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||||
msgid ""
|
msgid ""
|
||||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -166,23 +166,23 @@ 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:1224
|
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr "Código fuente"
|
msgstr "Código fuente"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||||
msgid "Proton Terms of Service"
|
msgid "Proton Terms of Service"
|
||||||
msgstr "Condiciones del servicio de Proton"
|
msgstr "Condiciones del servicio de Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||||
msgid "Proton Privacy Policy"
|
msgid "Proton Privacy Policy"
|
||||||
msgstr "Política de privacidad de Proton"
|
msgstr "Política de privacidad de Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
#: crates/pdfs-gui/src/app/main.rs:1250
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr "Aviso legal"
|
msgstr "Aviso legal"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
#: crates/pdfs-gui/src/app/main.rs:1254
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||||
"endorsed by, or supported by Proton AG.\n"
|
"endorsed by, or supported by Proton AG.\n"
|
||||||
@@ -205,7 +205,7 @@ msgstr ""
|
|||||||
"Este software se proporciona “tal cual”, sin garantía de ningún tipo. Guarde "
|
"Este software se proporciona “tal cual”, sin garantía de ningún tipo. Guarde "
|
||||||
"una copia de los datos que no pueda permitirse perder."
|
"una copia de los datos que no pueda permitirse perder."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
#: crates/pdfs-gui/src/app/main.rs:1262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
@@ -215,7 +215,7 @@ msgstr ""
|
|||||||
"www.geonames.org/\">GeoNames</a>, con licencia <a href=\"https://"
|
"www.geonames.org/\">GeoNames</a>, con licencia <a href=\"https://"
|
||||||
"creativecommons.org/licenses/by/4.0/\">CC BY 4.0</a>."
|
"creativecommons.org/licenses/by/4.0/\">CC BY 4.0</a>."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
#: crates/pdfs-gui/src/app/main.rs:1270
|
||||||
msgid ""
|
msgid ""
|
||||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
@@ -225,7 +225,7 @@ msgstr ""
|
|||||||
"fronteras de países de <a href=\"https://www.naturalearthdata.com/\">Natural "
|
"fronteras de países de <a href=\"https://www.naturalearthdata.com/\">Natural "
|
||||||
"Earth</a>, que son de dominio público."
|
"Earth</a>, que son de dominio público."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
#: crates/pdfs-gui/src/app/main.rs:1278
|
||||||
msgid ""
|
msgid ""
|
||||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||||
@@ -241,15 +241,15 @@ 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:1276
|
#: crates/pdfs-gui/src/app/main.rs:1289
|
||||||
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:1314
|
#: crates/pdfs-gui/src/app/main.rs:1327
|
||||||
msgid "Stop Proton Drive?"
|
msgid "Stop Proton Drive?"
|
||||||
msgstr "¿Detener Proton Drive?"
|
msgstr "¿Detener Proton Drive?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1315
|
#: crates/pdfs-gui/src/app/main.rs:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
@@ -258,7 +258,7 @@ msgstr ""
|
|||||||
"a conectarse. Proton Drive se iniciará de nuevo en su próximo inicio de "
|
"a conectarse. Proton Drive se iniciará de nuevo en su próximo inicio de "
|
||||||
"sesión."
|
"sesión."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
|
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||||
@@ -273,8 +273,9 @@ msgstr ""
|
|||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
#: crates/pdfs-gui/src/app/pages/login.rs:389
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
#: crates/pdfs-gui/src/app/pages/login.rs:503
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:549
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||||
@@ -289,30 +290,30 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||||
msgctxt "verb"
|
msgctxt "verb"
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Detener"
|
msgstr "Detener"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
#: crates/pdfs-gui/src/app/main.rs:1348
|
||||||
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:1336
|
#: crates/pdfs-gui/src/app/main.rs:1349
|
||||||
msgid "The Proton Drive service did not stop."
|
msgid "The Proton Drive service did not stop."
|
||||||
msgstr "El servicio de Proton Drive no se detuvo."
|
msgstr "El servicio de Proton Drive no se detuvo."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "General"
|
msgstr "General"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||||
msgid "Search Drive"
|
msgid "Search Drive"
|
||||||
msgstr "Buscar en Drive"
|
msgstr "Buscar en Drive"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||||
@@ -321,38 +322,38 @@ msgstr "Buscar en Drive"
|
|||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Actualizar"
|
msgstr "Actualizar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Atajos del teclado"
|
msgstr "Atajos del teclado"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
msgstr "Archivos"
|
msgstr "Archivos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||||
msgid "New folder"
|
msgid "New folder"
|
||||||
msgstr "Carpeta nueva"
|
msgstr "Carpeta nueva"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||||
msgid "Upload files"
|
msgid "Upload files"
|
||||||
msgstr "Subir archivos"
|
msgstr "Subir archivos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1385
|
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||||
msgid "Back / forward"
|
msgid "Back / forward"
|
||||||
msgstr "Atrás / adelante"
|
msgstr "Atrás / adelante"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||||
msgid "Parent folder"
|
msgid "Parent folder"
|
||||||
msgstr "Carpeta superior"
|
msgstr "Carpeta superior"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
#: crates/pdfs-gui/src/app/main.rs:1400
|
||||||
msgid "Grid / list"
|
msgid "Grid / list"
|
||||||
msgstr "Cuadrícula / lista"
|
msgstr "Cuadrícula / lista"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
||||||
@@ -361,7 +362,7 @@ msgstr "Cuadrícula / lista"
|
|||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Renombrar"
|
msgstr "Renombrar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||||
@@ -371,73 +372,73 @@ 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:1390
|
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||||
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:1396
|
#: crates/pdfs-gui/src/app/main.rs:1409
|
||||||
msgid "Larger thumbnails"
|
msgid "Larger thumbnails"
|
||||||
msgstr "Miniaturas más grandes"
|
msgstr "Miniaturas más grandes"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||||
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:1398
|
#: crates/pdfs-gui/src/app/main.rs:1411
|
||||||
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:1399
|
#: crates/pdfs-gui/src/app/main.rs:1412
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Seleccionar todo"
|
msgstr "Seleccionar todo"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
#: crates/pdfs-gui/src/app/main.rs:1416
|
||||||
msgid "Photo Viewer"
|
msgid "Photo Viewer"
|
||||||
msgstr "Visor de fotos"
|
msgstr "Visor de fotos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
#: crates/pdfs-gui/src/app/main.rs:1418
|
||||||
msgid "Previous / next photo"
|
msgid "Previous / next photo"
|
||||||
msgstr "Foto anterior / siguiente"
|
msgstr "Foto anterior / siguiente"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1406
|
#: crates/pdfs-gui/src/app/main.rs:1419
|
||||||
msgid "First / last photo"
|
msgid "First / last photo"
|
||||||
msgstr "Primera / última foto"
|
msgstr "Primera / última foto"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1407
|
#: crates/pdfs-gui/src/app/main.rs:1420
|
||||||
msgid "Show details"
|
msgid "Show details"
|
||||||
msgstr "Mostrar detalles"
|
msgstr "Mostrar detalles"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
#: crates/pdfs-gui/src/app/main.rs:1421
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Pantalla completa"
|
msgstr "Pantalla completa"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
#: crates/pdfs-gui/src/app/main.rs:1423
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Cerrar"
|
msgstr "Cerrar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
#: crates/pdfs-gui/src/app/main.rs:1513
|
||||||
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"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
#: crates/pdfs-gui/src/app/main.rs:1673
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||||
msgid "Not connected"
|
msgid "Not connected"
|
||||||
msgstr "Sin conexión"
|
msgstr "Sin conexión"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
#: crates/pdfs-gui/src/app/main.rs:1674
|
||||||
msgid "The Proton Drive service isn't running."
|
msgid "The Proton Drive service isn't running."
|
||||||
msgstr "El servicio de Proton Drive no está en ejecución."
|
msgstr "El servicio de Proton Drive no está en ejecución."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
#: crates/pdfs-gui/src/app/main.rs:1682
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||||
#: crates/pdfs-gui/src/main.rs:453
|
#: crates/pdfs-gui/src/main.rs:453
|
||||||
msgid "Connecting…"
|
msgid "Connecting…"
|
||||||
msgstr "Conectando…"
|
msgstr "Conectando…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
#: crates/pdfs-gui/src/app/main.rs:1683
|
||||||
msgid "Waiting for the Proton Drive service to start."
|
msgid "Waiting for the Proton Drive service to start."
|
||||||
msgstr "Esperando a que se inicie el servicio de Proton Drive."
|
msgstr "Esperando a que se inicie el servicio de Proton Drive."
|
||||||
|
|
||||||
@@ -3179,23 +3180,23 @@ msgstr "Iniciando sesión…"
|
|||||||
msgid "Complete the verification to continue…"
|
msgid "Complete the verification to continue…"
|
||||||
msgstr "Complete la verificación para continuar…"
|
msgstr "Complete la verificación para continuar…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
#: crates/pdfs-gui/src/app/pages/login.rs:195
|
||||||
msgid "login cancelled"
|
msgid "login cancelled"
|
||||||
msgstr "inicio de sesión cancelado"
|
msgstr "inicio de sesión cancelado"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
#: crates/pdfs-gui/src/app/pages/login.rs:228
|
||||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Demasiados intentos de inicio de sesión. Espere unos minutos e inténtelo de "
|
"Demasiados intentos de inicio de sesión. Espere unos minutos e inténtelo de "
|
||||||
"nuevo."
|
"nuevo."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
#: crates/pdfs-gui/src/app/pages/login.rs:234
|
||||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No se pudo contactar con Proton. Compruebe su conexión a Internet e "
|
"No se pudo contactar con Proton. Compruebe su conexión a Internet e "
|
||||||
"inténtelo de nuevo."
|
"inténtelo de nuevo."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
#: crates/pdfs-gui/src/app/pages/login.rs:237
|
||||||
msgid ""
|
msgid ""
|
||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
@@ -3204,20 +3205,20 @@ msgstr ""
|
|||||||
"sistema. Asegúrese de que un depósito de claves (GNOME Keyring o KWallet) "
|
"sistema. Asegúrese de que un depósito de claves (GNOME Keyring o KWallet) "
|
||||||
"esté en ejecución y desbloqueado."
|
"esté en ejecución y desbloqueado."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
#: crates/pdfs-gui/src/app/pages/login.rs:240
|
||||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Inicio de sesión cancelado: no se introdujo ningún código de dos factores."
|
"Inicio de sesión cancelado: no se introdujo ningún código de dos factores."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
#: crates/pdfs-gui/src/app/pages/login.rs:243
|
||||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||||
msgstr "Inicio de sesión cancelado: no se introdujo la contraseña del buzón."
|
msgstr "Inicio de sesión cancelado: no se introdujo la contraseña del buzón."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
#: crates/pdfs-gui/src/app/pages/login.rs:246
|
||||||
msgid "That mailbox password didn't unlock your account."
|
msgid "That mailbox password didn't unlock your account."
|
||||||
msgstr "Esa contraseña del buzón no desbloqueó tu cuenta."
|
msgstr "Esa contraseña del buzón no desbloqueó tu cuenta."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
#: crates/pdfs-gui/src/app/pages/login.rs:249
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||||
"new one."
|
"new one."
|
||||||
@@ -3226,79 +3227,107 @@ msgstr ""
|
|||||||
"sesión para obtener una nueva."
|
"sesión para obtener una nueva."
|
||||||
|
|
||||||
#. Translators: {error} is an error message, usually in English.
|
#. Translators: {error} is an error message, usually in English.
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
#: crates/pdfs-gui/src/app/pages/login.rs:254
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "Sign-in failed: {error}"
|
msgid "Sign-in failed: {error}"
|
||||||
msgstr "Falló el inicio de sesión: {error}"
|
msgstr "Falló el inicio de sesión: {error}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||||
msgid "That mailbox password didn't unlock your account. Try again."
|
msgid "That mailbox password didn't unlock your account. Try again."
|
||||||
msgstr "Esa contraseña del buzón no desbloqueó tu cuenta. Inténtalo de nuevo."
|
msgstr "Esa contraseña del buzón no desbloqueó tu cuenta. Inténtalo de nuevo."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
#: crates/pdfs-gui/src/app/pages/login.rs:367
|
||||||
msgid ""
|
msgid ""
|
||||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
msgstr "Esta cuenta tiene una contraseña del buzón independiente. Introdúcela para desbloquear tus archivos."
|
msgstr ""
|
||||||
|
"Esta cuenta tiene una contraseña del buzón independiente. Introdúcela para "
|
||||||
|
"desbloquear tus archivos."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
#: crates/pdfs-gui/src/app/pages/login.rs:370
|
||||||
msgid "Mailbox Password"
|
msgid "Mailbox Password"
|
||||||
msgstr "Contraseña del buzón"
|
msgstr "Contraseña del buzón"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
#: crates/pdfs-gui/src/app/pages/login.rs:376
|
||||||
msgid "Mailbox password"
|
msgid "Mailbox password"
|
||||||
msgstr "Contraseña del buzón"
|
msgstr "Contraseña del buzón"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
#: crates/pdfs-gui/src/app/pages/login.rs:380
|
||||||
msgid "Keep unlocked on this computer"
|
msgid "Keep unlocked on this computer"
|
||||||
msgstr "Mantener desbloqueado en este equipo"
|
msgstr "Mantener desbloqueado en este equipo"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
#: crates/pdfs-gui/src/app/pages/login.rs:382
|
||||||
msgid ""
|
msgid ""
|
||||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
"asking after every login. Otherwise you enter the password once per session."
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
msgstr "Guarda el desbloqueo en el llavero del sistema, para que Proton Drive se abra sin preguntar después de cada inicio de sesión. De lo contrario, introduces la contraseña una vez por sesión."
|
msgstr ""
|
||||||
|
"Guarda el desbloqueo en el llavero del sistema, para que Proton Drive se "
|
||||||
|
"abra sin preguntar después de cada inicio de sesión. De lo contrario, "
|
||||||
|
"introduces la contraseña una vez por sesión."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
#: crates/pdfs-gui/src/app/pages/login.rs:390
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
#: crates/pdfs-gui/src/app/pages/login.rs:443
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Desbloquear"
|
msgstr "Desbloquear"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
#: crates/pdfs-gui/src/app/pages/login.rs:442
|
||||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
msgstr "Proton Drive está bloqueado. Introduce la contraseña del buzón para desbloquearlo."
|
msgstr ""
|
||||||
|
"Proton Drive está bloqueado. Introduce la contraseña del buzón para "
|
||||||
|
"desbloquearlo."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
#: crates/pdfs-gui/src/app/pages/login.rs:471
|
||||||
msgid "Unlocked."
|
msgid "Unlocked."
|
||||||
msgstr "Desbloqueado."
|
msgstr "Desbloqueado."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
#: crates/pdfs-gui/src/app/pages/login.rs:476
|
||||||
msgid "Couldn't unlock"
|
msgid "Couldn't unlock"
|
||||||
msgstr "No se pudo desbloquear"
|
msgstr "No se pudo desbloquear"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
#: crates/pdfs-gui/src/app/pages/login.rs:489
|
||||||
msgid "Two-Factor Authentication"
|
msgid "Two-Factor Authentication"
|
||||||
msgstr "Autenticación en dos pasos"
|
msgstr "Autenticación en dos pasos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
#: crates/pdfs-gui/src/app/pages/login.rs:491
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Introduzca el código de su aplicación de autenticación o uno de sus códigos "
|
"Introduzca el código de su aplicación de autenticación o uno de sus códigos "
|
||||||
"de recuperación."
|
"de recuperación."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
#: crates/pdfs-gui/src/app/pages/login.rs:497
|
||||||
msgid "Authentication code"
|
msgid "Authentication code"
|
||||||
msgstr "Código de autenticación"
|
msgstr "Código de autenticación"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
#: crates/pdfs-gui/src/app/pages/login.rs:504
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmar"
|
msgstr "Confirmar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
#: crates/pdfs-gui/src/app/pages/login.rs:535
|
||||||
|
#
|
||||||
|
msgid "Verify in Your Browser"
|
||||||
|
msgstr "Verificar en el navegador"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:537
|
||||||
|
msgid ""
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in "
|
||||||
|
"your browser, complete it there, then come back and choose Continue."
|
||||||
|
msgstr "La página de verificación no se puede mostrar en la aplicación en este sistema. Ábrala en su navegador, complétela allí y luego vuelva y elija “Continuar”."
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:543
|
||||||
|
#
|
||||||
|
msgid "Open Verification Page"
|
||||||
|
msgstr "Abrir página de verificación"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:550
|
||||||
|
#
|
||||||
|
msgid "Continue"
|
||||||
|
msgstr "Continuar"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:589
|
||||||
msgid "Sign Out?"
|
msgid "Sign Out?"
|
||||||
msgstr "¿Cerrar la sesión?"
|
msgstr "¿Cerrar la sesión?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
#: crates/pdfs-gui/src/app/pages/login.rs:591
|
||||||
msgid ""
|
msgid ""
|
||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
@@ -3307,7 +3336,7 @@ msgstr ""
|
|||||||
"iniciar sesión. Los archivos que ya están en este equipo se quedan donde "
|
"iniciar sesión. Los archivos que ya están en este equipo se quedan donde "
|
||||||
"están."
|
"están."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
#: crates/pdfs-gui/src/app/pages/login.rs:593
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "Cerrar la sesión"
|
msgstr "Cerrar la sesión"
|
||||||
|
|
||||||
@@ -5277,7 +5306,7 @@ msgstr "Papelera vaciada"
|
|||||||
msgid "Couldn't empty the trash"
|
msgid "Couldn't empty the trash"
|
||||||
msgstr "No se pudo vaciar la papelera"
|
msgstr "No se pudo vaciar la papelera"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/verify.rs:57
|
#: crates/pdfs-gui/src/app/pages/verify.rs:162
|
||||||
msgid "Verification"
|
msgid "Verification"
|
||||||
msgstr "Verificación"
|
msgstr "Verificación"
|
||||||
|
|
||||||
@@ -6077,6 +6106,16 @@ msgstr "{count} a"
|
|||||||
msgid "cannot reach the Proton Drive daemon: {error}"
|
msgid "cannot reach the Proton Drive daemon: {error}"
|
||||||
msgstr "no se puede contactar con el demonio de Proton Drive: {error}"
|
msgstr "no se puede contactar con el demonio de Proton Drive: {error}"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The verification page couldn't be opened, so the sign-in was cancelled. "
|
||||||
|
#~ "Your system may keep the web view's sandbox from starting; the "
|
||||||
|
#~ "troubleshooting guide explains what to do."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "No se pudo abrir la página de verificación, así que se canceló el inicio "
|
||||||
|
#~ "de sesión. Es posible que su sistema impida que se inicie el entorno "
|
||||||
|
#~ "aislado de la vista web; la guía de solución de problemas explica qué "
|
||||||
|
#~ "hacer."
|
||||||
|
|
||||||
#~ msgid "Jump to a month"
|
#~ msgid "Jump to a month"
|
||||||
#~ msgstr "Saltar a un mes"
|
#~ msgstr "Saltar a un mes"
|
||||||
|
|
||||||
|
|||||||
@@ -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-10-07 02:39+0200\n"
|
"POT-Creation-Date: 2026-10-08 18:47+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"
|
||||||
@@ -57,7 +57,7 @@ msgstr "%-d %b %Y"
|
|||||||
msgid "%A, %B %-d, %Y, %H:%M"
|
msgid "%A, %B %-d, %Y, %H:%M"
|
||||||
msgstr "%A %-d %B %Y à %H:%M"
|
msgstr "%A %-d %B %Y à %H:%M"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:747
|
#: crates/pdfs-gui/src/app/main.rs:760
|
||||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||||
@@ -70,91 +70,91 @@ msgstr "%A %-d %B %Y à %H:%M"
|
|||||||
msgid "My files"
|
msgid "My files"
|
||||||
msgstr "Mes fichiers"
|
msgstr "Mes fichiers"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||||
msgid "Photos"
|
msgid "Photos"
|
||||||
msgstr "Photos"
|
msgstr "Photos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:755
|
#: crates/pdfs-gui/src/app/main.rs:768
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||||
msgid "Shared with me"
|
msgid "Shared with me"
|
||||||
msgstr "Partagés avec moi"
|
msgstr "Partagés avec moi"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:760
|
#: crates/pdfs-gui/src/app/main.rs:773
|
||||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||||
msgid "Shared by me"
|
msgid "Shared by me"
|
||||||
msgstr "Partagés par moi"
|
msgstr "Partagés par moi"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:763
|
#: crates/pdfs-gui/src/app/main.rs:776
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||||
msgid "Computers"
|
msgid "Computers"
|
||||||
msgstr "Ordinateurs"
|
msgstr "Ordinateurs"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:764
|
#: crates/pdfs-gui/src/app/main.rs:777
|
||||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||||
msgid "Trash"
|
msgid "Trash"
|
||||||
msgstr "Corbeille"
|
msgstr "Corbeille"
|
||||||
|
|
||||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:766
|
#: crates/pdfs-gui/src/app/main.rs:779
|
||||||
msgid "Sync"
|
msgid "Sync"
|
||||||
msgstr "Synchronisation"
|
msgstr "Synchronisation"
|
||||||
|
|
||||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||||
#. from the mount service.
|
#. from the mount service.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
#: crates/pdfs-gui/src/app/main.rs:1096
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "{what}: {detail}"
|
msgid "{what}: {detail}"
|
||||||
msgstr "{what} : {detail}"
|
msgstr "{what} : {detail}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
#: crates/pdfs-gui/src/app/main.rs:1115
|
||||||
msgid "You're offline"
|
msgid "You're offline"
|
||||||
msgstr "Vous êtes hors ligne"
|
msgstr "Vous êtes hors ligne"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
#: crates/pdfs-gui/src/app/main.rs:1116
|
||||||
msgid "That's not there any more"
|
msgid "That's not there any more"
|
||||||
msgstr "Cet élément n’existe plus"
|
msgstr "Cet élément n’existe plus"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
#: crates/pdfs-gui/src/app/main.rs:1117
|
||||||
msgid "You don't have access to that"
|
msgid "You don't have access to that"
|
||||||
msgstr "Vous n’avez pas accès à cet élément"
|
msgstr "Vous n’avez pas accès à cet élément"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
#: crates/pdfs-gui/src/app/main.rs:1118
|
||||||
msgid "Something changed this first"
|
msgid "Something changed this first"
|
||||||
msgstr "Quelque chose l’a modifié entre-temps"
|
msgstr "Quelque chose l’a modifié entre-temps"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
#: crates/pdfs-gui/src/app/main.rs:1119
|
||||||
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:1147 crates/pdfs-gui/src/app/main.rs:1376
|
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr "Préférences"
|
msgstr "Préférences"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
#: crates/pdfs-gui/src/app/main.rs:1161
|
||||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr "Raccourcis clavier"
|
msgstr "Raccourcis clavier"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
#: crates/pdfs-gui/src/app/main.rs:1163
|
||||||
msgid "About Proton Drive for Linux"
|
msgid "About Proton Drive for Linux"
|
||||||
msgstr "À propos de Proton Drive for Linux"
|
msgstr "À propos de Proton Drive for Linux"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
#: crates/pdfs-gui/src/app/main.rs:1168
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr "Menu principal"
|
msgstr "Menu principal"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||||
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:1219
|
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||||
msgid ""
|
msgid ""
|
||||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -166,23 +166,23 @@ 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:1224
|
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr "Code source"
|
msgstr "Code source"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||||
msgid "Proton Terms of Service"
|
msgid "Proton Terms of Service"
|
||||||
msgstr "Conditions d’utilisation de Proton"
|
msgstr "Conditions d’utilisation de Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||||
msgid "Proton Privacy Policy"
|
msgid "Proton Privacy Policy"
|
||||||
msgstr "Politique de confidentialité de Proton"
|
msgstr "Politique de confidentialité de Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
#: crates/pdfs-gui/src/app/main.rs:1250
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr "Avertissement"
|
msgstr "Avertissement"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
#: crates/pdfs-gui/src/app/main.rs:1254
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||||
"endorsed by, or supported by Proton AG.\n"
|
"endorsed by, or supported by Proton AG.\n"
|
||||||
@@ -206,7 +206,7 @@ msgstr ""
|
|||||||
"une copie de toutes les données que vous ne pouvez pas vous permettre de "
|
"une copie de toutes les données que vous ne pouvez pas vous permettre de "
|
||||||
"perdre."
|
"perdre."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
#: crates/pdfs-gui/src/app/main.rs:1262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
@@ -216,7 +216,7 @@ msgstr ""
|
|||||||
"www.geonames.org/\">GeoNames</a>, sous licence <a href=\"https://"
|
"www.geonames.org/\">GeoNames</a>, sous licence <a href=\"https://"
|
||||||
"creativecommons.org/licenses/by/4.0/\">CC BY 4.0</a>."
|
"creativecommons.org/licenses/by/4.0/\">CC BY 4.0</a>."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
#: crates/pdfs-gui/src/app/main.rs:1270
|
||||||
msgid ""
|
msgid ""
|
||||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
@@ -226,7 +226,7 @@ msgstr ""
|
|||||||
"frontières des pays de <a href=\"https://www.naturalearthdata.com/\">Natural "
|
"frontières des pays de <a href=\"https://www.naturalearthdata.com/\">Natural "
|
||||||
"Earth</a>, qui sont dans le domaine public."
|
"Earth</a>, qui sont dans le domaine public."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
#: crates/pdfs-gui/src/app/main.rs:1278
|
||||||
msgid ""
|
msgid ""
|
||||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||||
@@ -243,15 +243,15 @@ 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:1276
|
#: crates/pdfs-gui/src/app/main.rs:1289
|
||||||
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:1314
|
#: crates/pdfs-gui/src/app/main.rs:1327
|
||||||
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:1315
|
#: crates/pdfs-gui/src/app/main.rs:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
@@ -260,7 +260,7 @@ msgstr ""
|
|||||||
"vous reconnectez pas. Proton Drive redémarrera à votre prochaine ouverture "
|
"vous reconnectez pas. Proton Drive redémarrera à votre prochaine ouverture "
|
||||||
"de session."
|
"de session."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
|
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||||
@@ -275,8 +275,9 @@ msgstr ""
|
|||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
#: crates/pdfs-gui/src/app/pages/login.rs:389
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
#: crates/pdfs-gui/src/app/pages/login.rs:503
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:549
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||||
@@ -291,30 +292,30 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuler"
|
msgstr "Annuler"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||||
msgctxt "verb"
|
msgctxt "verb"
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Arrêter"
|
msgstr "Arrêter"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
#: crates/pdfs-gui/src/app/main.rs:1348
|
||||||
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:1336
|
#: crates/pdfs-gui/src/app/main.rs:1349
|
||||||
msgid "The Proton Drive service did not stop."
|
msgid "The Proton Drive service did not stop."
|
||||||
msgstr "Le service Proton Drive ne s’est pas arrêté."
|
msgstr "Le service Proton Drive ne s’est pas arrêté."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Général"
|
msgstr "Général"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||||
msgid "Search Drive"
|
msgid "Search Drive"
|
||||||
msgstr "Rechercher dans Drive"
|
msgstr "Rechercher dans Drive"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||||
@@ -323,38 +324,38 @@ msgstr "Rechercher dans Drive"
|
|||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Actualiser"
|
msgstr "Actualiser"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Raccourcis clavier"
|
msgstr "Raccourcis clavier"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
msgstr "Fichiers"
|
msgstr "Fichiers"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||||
msgid "New folder"
|
msgid "New folder"
|
||||||
msgstr "Nouveau dossier"
|
msgstr "Nouveau dossier"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||||
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:1385
|
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||||
msgid "Back / forward"
|
msgid "Back / forward"
|
||||||
msgstr "Précédent / suivant"
|
msgstr "Précédent / suivant"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||||
msgid "Parent folder"
|
msgid "Parent folder"
|
||||||
msgstr "Dossier parent"
|
msgstr "Dossier parent"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
#: crates/pdfs-gui/src/app/main.rs:1400
|
||||||
msgid "Grid / list"
|
msgid "Grid / list"
|
||||||
msgstr "Grille / liste"
|
msgstr "Grille / liste"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
||||||
@@ -363,7 +364,7 @@ msgstr "Grille / liste"
|
|||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Renommer"
|
msgstr "Renommer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||||
@@ -373,73 +374,73 @@ 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:1390
|
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||||
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:1396
|
#: crates/pdfs-gui/src/app/main.rs:1409
|
||||||
msgid "Larger thumbnails"
|
msgid "Larger thumbnails"
|
||||||
msgstr "Miniatures plus grandes"
|
msgstr "Miniatures plus grandes"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||||
msgid "Smaller thumbnails"
|
msgid "Smaller thumbnails"
|
||||||
msgstr "Miniatures plus petites"
|
msgstr "Miniatures plus petites"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1398
|
#: crates/pdfs-gui/src/app/main.rs:1411
|
||||||
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:1399
|
#: crates/pdfs-gui/src/app/main.rs:1412
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Tout sélectionner"
|
msgstr "Tout sélectionner"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
#: crates/pdfs-gui/src/app/main.rs:1416
|
||||||
msgid "Photo Viewer"
|
msgid "Photo Viewer"
|
||||||
msgstr "Visionneuse de photos"
|
msgstr "Visionneuse de photos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
#: crates/pdfs-gui/src/app/main.rs:1418
|
||||||
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:1406
|
#: crates/pdfs-gui/src/app/main.rs:1419
|
||||||
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:1407
|
#: crates/pdfs-gui/src/app/main.rs:1420
|
||||||
msgid "Show details"
|
msgid "Show details"
|
||||||
msgstr "Afficher les détails"
|
msgstr "Afficher les détails"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
#: crates/pdfs-gui/src/app/main.rs:1421
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Plein écran"
|
msgstr "Plein écran"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
#: crates/pdfs-gui/src/app/main.rs:1423
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Fermer"
|
msgstr "Fermer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
#: crates/pdfs-gui/src/app/main.rs:1513
|
||||||
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"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
#: crates/pdfs-gui/src/app/main.rs:1673
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||||
msgid "Not connected"
|
msgid "Not connected"
|
||||||
msgstr "Non connecté"
|
msgstr "Non connecté"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
#: crates/pdfs-gui/src/app/main.rs:1674
|
||||||
msgid "The Proton Drive service isn't running."
|
msgid "The Proton Drive service isn't running."
|
||||||
msgstr "Le service Proton Drive n’est pas en cours d’exécution."
|
msgstr "Le service Proton Drive n’est pas en cours d’exécution."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
#: crates/pdfs-gui/src/app/main.rs:1682
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||||
#: crates/pdfs-gui/src/main.rs:453
|
#: crates/pdfs-gui/src/main.rs:453
|
||||||
msgid "Connecting…"
|
msgid "Connecting…"
|
||||||
msgstr "Connexion…"
|
msgstr "Connexion…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
#: crates/pdfs-gui/src/app/main.rs:1683
|
||||||
msgid "Waiting for the Proton Drive service to start."
|
msgid "Waiting for the Proton Drive service to start."
|
||||||
msgstr "En attente du démarrage du service Proton Drive."
|
msgstr "En attente du démarrage du service Proton Drive."
|
||||||
|
|
||||||
@@ -3205,21 +3206,21 @@ msgstr "Connexion…"
|
|||||||
msgid "Complete the verification to continue…"
|
msgid "Complete the verification to continue…"
|
||||||
msgstr "Terminez la vérification pour continuer…"
|
msgstr "Terminez la vérification pour continuer…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
#: crates/pdfs-gui/src/app/pages/login.rs:195
|
||||||
msgid "login cancelled"
|
msgid "login cancelled"
|
||||||
msgstr "connexion annulée"
|
msgstr "connexion annulée"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
#: crates/pdfs-gui/src/app/pages/login.rs:228
|
||||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Trop de tentatives de connexion. Patientez quelques minutes et réessayez."
|
"Trop de tentatives de connexion. Patientez quelques minutes et réessayez."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
#: crates/pdfs-gui/src/app/pages/login.rs:234
|
||||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Impossible de joindre Proton. Vérifiez votre connexion Internet et réessayez."
|
"Impossible de joindre Proton. Vérifiez votre connexion Internet et réessayez."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
#: crates/pdfs-gui/src/app/pages/login.rs:237
|
||||||
msgid ""
|
msgid ""
|
||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
@@ -3228,19 +3229,21 @@ msgstr ""
|
|||||||
"système. Assurez-vous qu’un trousseau (GNOME Keyring ou KWallet) est en "
|
"système. Assurez-vous qu’un trousseau (GNOME Keyring ou KWallet) est en "
|
||||||
"cours d’exécution et déverrouillé."
|
"cours d’exécution et déverrouillé."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
#: crates/pdfs-gui/src/app/pages/login.rs:240
|
||||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||||
msgstr "Connexion annulée : aucun code à deux facteurs n’a été saisi."
|
msgstr "Connexion annulée : aucun code à deux facteurs n’a été saisi."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
#: crates/pdfs-gui/src/app/pages/login.rs:243
|
||||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||||
msgstr "Connexion annulée : aucun mot de passe de boîte aux lettres n’a été saisi."
|
msgstr ""
|
||||||
|
"Connexion annulée : aucun mot de passe de boîte aux lettres n’a été saisi."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
#: crates/pdfs-gui/src/app/pages/login.rs:246
|
||||||
msgid "That mailbox password didn't unlock your account."
|
msgid "That mailbox password didn't unlock your account."
|
||||||
msgstr "Ce mot de passe de boîte aux lettres n’a pas déverrouillé votre compte."
|
msgstr ""
|
||||||
|
"Ce mot de passe de boîte aux lettres n’a pas déverrouillé votre compte."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
#: crates/pdfs-gui/src/app/pages/login.rs:249
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||||
"new one."
|
"new one."
|
||||||
@@ -3249,79 +3252,109 @@ msgstr ""
|
|||||||
"pour en obtenir une nouvelle."
|
"pour en obtenir une nouvelle."
|
||||||
|
|
||||||
#. Translators: {error} is an error message, usually in English.
|
#. Translators: {error} is an error message, usually in English.
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
#: crates/pdfs-gui/src/app/pages/login.rs:254
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "Sign-in failed: {error}"
|
msgid "Sign-in failed: {error}"
|
||||||
msgstr "Échec de la connexion : {error}"
|
msgstr "Échec de la connexion : {error}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||||
msgid "That mailbox password didn't unlock your account. Try again."
|
msgid "That mailbox password didn't unlock your account. Try again."
|
||||||
msgstr "Ce mot de passe de boîte aux lettres n’a pas déverrouillé votre compte. Réessayez."
|
msgstr ""
|
||||||
|
"Ce mot de passe de boîte aux lettres n’a pas déverrouillé votre compte. "
|
||||||
|
"Réessayez."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
#: crates/pdfs-gui/src/app/pages/login.rs:367
|
||||||
msgid ""
|
msgid ""
|
||||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
msgstr "Ce compte a un mot de passe de boîte aux lettres distinct. Saisissez-le pour déverrouiller vos fichiers."
|
msgstr ""
|
||||||
|
"Ce compte a un mot de passe de boîte aux lettres distinct. Saisissez-le pour "
|
||||||
|
"déverrouiller vos fichiers."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
#: crates/pdfs-gui/src/app/pages/login.rs:370
|
||||||
msgid "Mailbox Password"
|
msgid "Mailbox Password"
|
||||||
msgstr "Mot de passe de la boîte aux lettres"
|
msgstr "Mot de passe de la boîte aux lettres"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
#: crates/pdfs-gui/src/app/pages/login.rs:376
|
||||||
msgid "Mailbox password"
|
msgid "Mailbox password"
|
||||||
msgstr "Mot de passe de la boîte aux lettres"
|
msgstr "Mot de passe de la boîte aux lettres"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
#: crates/pdfs-gui/src/app/pages/login.rs:380
|
||||||
msgid "Keep unlocked on this computer"
|
msgid "Keep unlocked on this computer"
|
||||||
msgstr "Garder déverrouillé sur cet ordinateur"
|
msgstr "Garder déverrouillé sur cet ordinateur"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
#: crates/pdfs-gui/src/app/pages/login.rs:382
|
||||||
msgid ""
|
msgid ""
|
||||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
"asking after every login. Otherwise you enter the password once per session."
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
msgstr "Enregistre le déverrouillage dans le trousseau de clés du système, afin que Proton Drive s’ouvre sans demande après chaque connexion. Sinon, vous saisissez le mot de passe une fois par session."
|
msgstr ""
|
||||||
|
"Enregistre le déverrouillage dans le trousseau de clés du système, afin que "
|
||||||
|
"Proton Drive s’ouvre sans demande après chaque connexion. Sinon, vous "
|
||||||
|
"saisissez le mot de passe une fois par session."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
#: crates/pdfs-gui/src/app/pages/login.rs:390
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
#: crates/pdfs-gui/src/app/pages/login.rs:443
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Déverrouiller"
|
msgstr "Déverrouiller"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
#: crates/pdfs-gui/src/app/pages/login.rs:442
|
||||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
msgstr "Proton Drive est verrouillé. Saisissez votre mot de passe de boîte aux lettres pour le déverrouiller."
|
msgstr ""
|
||||||
|
"Proton Drive est verrouillé. Saisissez votre mot de passe de boîte aux "
|
||||||
|
"lettres pour le déverrouiller."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
#: crates/pdfs-gui/src/app/pages/login.rs:471
|
||||||
msgid "Unlocked."
|
msgid "Unlocked."
|
||||||
msgstr "Déverrouillé."
|
msgstr "Déverrouillé."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
#: crates/pdfs-gui/src/app/pages/login.rs:476
|
||||||
msgid "Couldn't unlock"
|
msgid "Couldn't unlock"
|
||||||
msgstr "Impossible de déverrouiller"
|
msgstr "Impossible de déverrouiller"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
#: crates/pdfs-gui/src/app/pages/login.rs:489
|
||||||
msgid "Two-Factor Authentication"
|
msgid "Two-Factor Authentication"
|
||||||
msgstr "Authentification à deux facteurs"
|
msgstr "Authentification à deux facteurs"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
#: crates/pdfs-gui/src/app/pages/login.rs:491
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Saisissez le code de votre application d’authentification ou l’un de vos "
|
"Saisissez le code de votre application d’authentification ou l’un de vos "
|
||||||
"codes de récupération."
|
"codes de récupération."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
#: crates/pdfs-gui/src/app/pages/login.rs:497
|
||||||
msgid "Authentication code"
|
msgid "Authentication code"
|
||||||
msgstr "Code d’authentification"
|
msgstr "Code d’authentification"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
#: crates/pdfs-gui/src/app/pages/login.rs:504
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmer"
|
msgstr "Confirmer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
#: crates/pdfs-gui/src/app/pages/login.rs:535
|
||||||
|
#
|
||||||
|
msgid "Verify in Your Browser"
|
||||||
|
msgstr "Vérifier dans le navigateur"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:537
|
||||||
|
msgid ""
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in "
|
||||||
|
"your browser, complete it there, then come back and choose Continue."
|
||||||
|
msgstr "La page de vérification ne peut pas s’afficher dans l’application sur ce système. Ouvrez-la dans votre navigateur, terminez-la, puis revenez et choisissez « Continuer »."
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:543
|
||||||
|
#
|
||||||
|
msgid "Open Verification Page"
|
||||||
|
msgstr "Ouvrir la page de vérification"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:550
|
||||||
|
#
|
||||||
|
msgid "Continue"
|
||||||
|
msgstr "Continuer"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:589
|
||||||
msgid "Sign Out?"
|
msgid "Sign Out?"
|
||||||
msgstr "Se déconnecter ?"
|
msgstr "Se déconnecter ?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
#: crates/pdfs-gui/src/app/pages/login.rs:591
|
||||||
msgid ""
|
msgid ""
|
||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
@@ -3330,7 +3363,7 @@ msgstr ""
|
|||||||
"vous vous reconnectiez. Les fichiers déjà présents sur cet ordinateur "
|
"vous vous reconnectiez. Les fichiers déjà présents sur cet ordinateur "
|
||||||
"restent en place."
|
"restent en place."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
#: crates/pdfs-gui/src/app/pages/login.rs:593
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "Se déconnecter"
|
msgstr "Se déconnecter"
|
||||||
|
|
||||||
@@ -5317,7 +5350,7 @@ msgstr "Corbeille vidée"
|
|||||||
msgid "Couldn't empty the trash"
|
msgid "Couldn't empty the trash"
|
||||||
msgstr "Impossible de vider la corbeille"
|
msgstr "Impossible de vider la corbeille"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/verify.rs:57
|
#: crates/pdfs-gui/src/app/pages/verify.rs:162
|
||||||
msgid "Verification"
|
msgid "Verification"
|
||||||
msgstr "Vérification"
|
msgstr "Vérification"
|
||||||
|
|
||||||
@@ -6118,6 +6151,15 @@ msgstr "{count} a"
|
|||||||
msgid "cannot reach the Proton Drive daemon: {error}"
|
msgid "cannot reach the Proton Drive daemon: {error}"
|
||||||
msgstr "impossible de joindre le démon Proton Drive : {error}"
|
msgstr "impossible de joindre le démon Proton Drive : {error}"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The verification page couldn't be opened, so the sign-in was cancelled. "
|
||||||
|
#~ "Your system may keep the web view's sandbox from starting; the "
|
||||||
|
#~ "troubleshooting guide explains what to do."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "La page de vérification n’a pas pu s’ouvrir, la connexion a donc été "
|
||||||
|
#~ "annulée. Votre système empêche peut-être le démarrage du bac à sable de "
|
||||||
|
#~ "la vue web ; le guide de dépannage explique la marche à suivre."
|
||||||
|
|
||||||
#~ msgid "Jump to a month"
|
#~ msgid "Jump to a month"
|
||||||
#~ msgstr "Aller à un mois"
|
#~ msgstr "Aller à un mois"
|
||||||
|
|
||||||
|
|||||||
@@ -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-10-07 02:39+0200\n"
|
"POT-Creation-Date: 2026-10-08 18:47+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"
|
||||||
@@ -57,7 +57,7 @@ msgstr "%-d %b %Y"
|
|||||||
msgid "%A, %B %-d, %Y, %H:%M"
|
msgid "%A, %B %-d, %Y, %H:%M"
|
||||||
msgstr "%A %-d %B %Y, %H:%M"
|
msgstr "%A %-d %B %Y, %H:%M"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:747
|
#: crates/pdfs-gui/src/app/main.rs:760
|
||||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||||
@@ -70,91 +70,91 @@ msgstr "%A %-d %B %Y, %H:%M"
|
|||||||
msgid "My files"
|
msgid "My files"
|
||||||
msgstr "I miei file"
|
msgstr "I miei file"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||||
msgid "Photos"
|
msgid "Photos"
|
||||||
msgstr "Foto"
|
msgstr "Foto"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:755
|
#: crates/pdfs-gui/src/app/main.rs:768
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||||
msgid "Shared with me"
|
msgid "Shared with me"
|
||||||
msgstr "Condivisi con me"
|
msgstr "Condivisi con me"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:760
|
#: crates/pdfs-gui/src/app/main.rs:773
|
||||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||||
msgid "Shared by me"
|
msgid "Shared by me"
|
||||||
msgstr "Condivisi da me"
|
msgstr "Condivisi da me"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:763
|
#: crates/pdfs-gui/src/app/main.rs:776
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||||
msgid "Computers"
|
msgid "Computers"
|
||||||
msgstr "Computer"
|
msgstr "Computer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:764
|
#: crates/pdfs-gui/src/app/main.rs:777
|
||||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||||
msgid "Trash"
|
msgid "Trash"
|
||||||
msgstr "Cestino"
|
msgstr "Cestino"
|
||||||
|
|
||||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:766
|
#: crates/pdfs-gui/src/app/main.rs:779
|
||||||
msgid "Sync"
|
msgid "Sync"
|
||||||
msgstr "Sincronizzazione"
|
msgstr "Sincronizzazione"
|
||||||
|
|
||||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||||
#. from the mount service.
|
#. from the mount service.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
#: crates/pdfs-gui/src/app/main.rs:1096
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "{what}: {detail}"
|
msgid "{what}: {detail}"
|
||||||
msgstr "{what}: {detail}"
|
msgstr "{what}: {detail}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
#: crates/pdfs-gui/src/app/main.rs:1115
|
||||||
msgid "You're offline"
|
msgid "You're offline"
|
||||||
msgstr "Sei offline"
|
msgstr "Sei offline"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
#: crates/pdfs-gui/src/app/main.rs:1116
|
||||||
msgid "That's not there any more"
|
msgid "That's not there any more"
|
||||||
msgstr "Non esiste più"
|
msgstr "Non esiste più"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
#: crates/pdfs-gui/src/app/main.rs:1117
|
||||||
msgid "You don't have access to that"
|
msgid "You don't have access to that"
|
||||||
msgstr "Non hai accesso a questo elemento"
|
msgstr "Non hai accesso a questo elemento"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
#: crates/pdfs-gui/src/app/main.rs:1118
|
||||||
msgid "Something changed this first"
|
msgid "Something changed this first"
|
||||||
msgstr "È stato modificato prima da qualcos'altro"
|
msgstr "È stato modificato prima da qualcos'altro"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
#: crates/pdfs-gui/src/app/main.rs:1119
|
||||||
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:1147 crates/pdfs-gui/src/app/main.rs:1376
|
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr "Preferenze"
|
msgstr "Preferenze"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
#: crates/pdfs-gui/src/app/main.rs:1161
|
||||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr "Scorciatoie da tastiera"
|
msgstr "Scorciatoie da tastiera"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
#: crates/pdfs-gui/src/app/main.rs:1163
|
||||||
msgid "About Proton Drive for Linux"
|
msgid "About Proton Drive for Linux"
|
||||||
msgstr "Informazioni su Proton Drive for Linux"
|
msgstr "Informazioni su Proton Drive for Linux"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
#: crates/pdfs-gui/src/app/main.rs:1168
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr "Menu principale"
|
msgstr "Menu principale"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||||
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:1219
|
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||||
msgid ""
|
msgid ""
|
||||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -165,23 +165,23 @@ 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:1224
|
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr "Codice sorgente"
|
msgstr "Codice sorgente"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||||
msgid "Proton Terms of Service"
|
msgid "Proton Terms of Service"
|
||||||
msgstr "Termini di servizio di Proton"
|
msgstr "Termini di servizio di Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||||
msgid "Proton Privacy Policy"
|
msgid "Proton Privacy Policy"
|
||||||
msgstr "Informativa sulla privacy di Proton"
|
msgstr "Informativa sulla privacy di Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
#: crates/pdfs-gui/src/app/main.rs:1250
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr "Esclusione di responsabilità"
|
msgstr "Esclusione di responsabilità"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
#: crates/pdfs-gui/src/app/main.rs:1254
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||||
"endorsed by, or supported by Proton AG.\n"
|
"endorsed by, or supported by Proton AG.\n"
|
||||||
@@ -204,7 +204,7 @@ msgstr ""
|
|||||||
"Questo software è fornito “così com’è”, senza alcuna garanzia. Conserva una "
|
"Questo software è fornito “così com’è”, senza alcuna garanzia. Conserva una "
|
||||||
"copia dei dati che non puoi permetterti di perdere."
|
"copia dei dati che non puoi permetterti di perdere."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
#: crates/pdfs-gui/src/app/main.rs:1262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
@@ -214,7 +214,7 @@ msgstr ""
|
|||||||
"\">GeoNames</a>, con licenza <a href=\"https://creativecommons.org/licenses/"
|
"\">GeoNames</a>, con licenza <a href=\"https://creativecommons.org/licenses/"
|
||||||
"by/4.0/\">CC BY 4.0</a>."
|
"by/4.0/\">CC BY 4.0</a>."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
#: crates/pdfs-gui/src/app/main.rs:1270
|
||||||
msgid ""
|
msgid ""
|
||||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
@@ -224,7 +224,7 @@ msgstr ""
|
|||||||
"confini nazionali di <a href=\"https://www.naturalearthdata.com/\">Natural "
|
"confini nazionali di <a href=\"https://www.naturalearthdata.com/\">Natural "
|
||||||
"Earth</a>, che sono di pubblico dominio."
|
"Earth</a>, che sono di pubblico dominio."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
#: crates/pdfs-gui/src/app/main.rs:1278
|
||||||
msgid ""
|
msgid ""
|
||||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||||
@@ -240,15 +240,15 @@ 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:1276
|
#: crates/pdfs-gui/src/app/main.rs:1289
|
||||||
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:1314
|
#: crates/pdfs-gui/src/app/main.rs:1327
|
||||||
msgid "Stop Proton Drive?"
|
msgid "Stop Proton Drive?"
|
||||||
msgstr "Arrestare Proton Drive?"
|
msgstr "Arrestare Proton Drive?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1315
|
#: crates/pdfs-gui/src/app/main.rs:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
@@ -256,7 +256,7 @@ msgstr ""
|
|||||||
"I miei file andranno offline e nulla verrà sincronizzato finché non ti "
|
"I miei file andranno offline e nulla verrà 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:1317 crates/pdfs-gui/src/app/main.rs:1592
|
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||||
@@ -271,8 +271,9 @@ msgstr ""
|
|||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
#: crates/pdfs-gui/src/app/pages/login.rs:389
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
#: crates/pdfs-gui/src/app/pages/login.rs:503
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:549
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||||
@@ -287,30 +288,30 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annulla"
|
msgstr "Annulla"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||||
msgctxt "verb"
|
msgctxt "verb"
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Arresta"
|
msgstr "Arresta"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
#: crates/pdfs-gui/src/app/main.rs:1348
|
||||||
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:1336
|
#: crates/pdfs-gui/src/app/main.rs:1349
|
||||||
msgid "The Proton Drive service did not stop."
|
msgid "The Proton Drive service did not stop."
|
||||||
msgstr "Il servizio di Proton Drive non si è arrestato."
|
msgstr "Il servizio di Proton Drive non si è arrestato."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Generale"
|
msgstr "Generale"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||||
msgid "Search Drive"
|
msgid "Search Drive"
|
||||||
msgstr "Cerca in Drive"
|
msgstr "Cerca in Drive"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||||
@@ -319,38 +320,38 @@ msgstr "Cerca in Drive"
|
|||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Aggiorna"
|
msgstr "Aggiorna"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Scorciatoie da tastiera"
|
msgstr "Scorciatoie da tastiera"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
msgstr "File"
|
msgstr "File"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||||
msgid "New folder"
|
msgid "New folder"
|
||||||
msgstr "Nuova cartella"
|
msgstr "Nuova cartella"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||||
msgid "Upload files"
|
msgid "Upload files"
|
||||||
msgstr "Carica file"
|
msgstr "Carica file"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1385
|
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||||
msgid "Back / forward"
|
msgid "Back / forward"
|
||||||
msgstr "Indietro / avanti"
|
msgstr "Indietro / avanti"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||||
msgid "Parent folder"
|
msgid "Parent folder"
|
||||||
msgstr "Cartella superiore"
|
msgstr "Cartella superiore"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
#: crates/pdfs-gui/src/app/main.rs:1400
|
||||||
msgid "Grid / list"
|
msgid "Grid / list"
|
||||||
msgstr "Griglia / elenco"
|
msgstr "Griglia / elenco"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
||||||
@@ -359,7 +360,7 @@ msgstr "Griglia / elenco"
|
|||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Rinomina"
|
msgstr "Rinomina"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||||
@@ -369,73 +370,73 @@ 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:1390
|
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||||
msgid "Clear the selection"
|
msgid "Clear the selection"
|
||||||
msgstr "Annulla la selezione"
|
msgstr "Annulla la selezione"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1396
|
#: crates/pdfs-gui/src/app/main.rs:1409
|
||||||
msgid "Larger thumbnails"
|
msgid "Larger thumbnails"
|
||||||
msgstr "Miniature più grandi"
|
msgstr "Miniature più grandi"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||||
msgid "Smaller thumbnails"
|
msgid "Smaller thumbnails"
|
||||||
msgstr "Miniature più piccole"
|
msgstr "Miniature più piccole"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1398
|
#: crates/pdfs-gui/src/app/main.rs:1411
|
||||||
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:1399
|
#: crates/pdfs-gui/src/app/main.rs:1412
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Seleziona tutto"
|
msgstr "Seleziona tutto"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
#: crates/pdfs-gui/src/app/main.rs:1416
|
||||||
msgid "Photo Viewer"
|
msgid "Photo Viewer"
|
||||||
msgstr "Visualizzatore di foto"
|
msgstr "Visualizzatore di foto"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
#: crates/pdfs-gui/src/app/main.rs:1418
|
||||||
msgid "Previous / next photo"
|
msgid "Previous / next photo"
|
||||||
msgstr "Foto precedente / successiva"
|
msgstr "Foto precedente / successiva"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1406
|
#: crates/pdfs-gui/src/app/main.rs:1419
|
||||||
msgid "First / last photo"
|
msgid "First / last photo"
|
||||||
msgstr "Prima / ultima foto"
|
msgstr "Prima / ultima foto"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1407
|
#: crates/pdfs-gui/src/app/main.rs:1420
|
||||||
msgid "Show details"
|
msgid "Show details"
|
||||||
msgstr "Mostra dettagli"
|
msgstr "Mostra dettagli"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
#: crates/pdfs-gui/src/app/main.rs:1421
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Schermo intero"
|
msgstr "Schermo intero"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
#: crates/pdfs-gui/src/app/main.rs:1423
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Chiudi"
|
msgstr "Chiudi"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
#: crates/pdfs-gui/src/app/main.rs:1513
|
||||||
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"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
#: crates/pdfs-gui/src/app/main.rs:1673
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||||
msgid "Not connected"
|
msgid "Not connected"
|
||||||
msgstr "Non connesso"
|
msgstr "Non connesso"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
#: crates/pdfs-gui/src/app/main.rs:1674
|
||||||
msgid "The Proton Drive service isn't running."
|
msgid "The Proton Drive service isn't running."
|
||||||
msgstr "Il servizio di Proton Drive non è in esecuzione."
|
msgstr "Il servizio di Proton Drive non è in esecuzione."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
#: crates/pdfs-gui/src/app/main.rs:1682
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||||
#: crates/pdfs-gui/src/main.rs:453
|
#: crates/pdfs-gui/src/main.rs:453
|
||||||
msgid "Connecting…"
|
msgid "Connecting…"
|
||||||
msgstr "Connessione…"
|
msgstr "Connessione…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
#: crates/pdfs-gui/src/app/main.rs:1683
|
||||||
msgid "Waiting for the Proton Drive service to start."
|
msgid "Waiting for the Proton Drive service to start."
|
||||||
msgstr "In attesa dell’avvio del servizio di Proton Drive."
|
msgstr "In attesa dell’avvio del servizio di Proton Drive."
|
||||||
|
|
||||||
@@ -3197,21 +3198,21 @@ msgstr "Accesso in corso…"
|
|||||||
msgid "Complete the verification to continue…"
|
msgid "Complete the verification to continue…"
|
||||||
msgstr "Completa la verifica per continuare…"
|
msgstr "Completa la verifica per continuare…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
#: crates/pdfs-gui/src/app/pages/login.rs:195
|
||||||
msgid "login cancelled"
|
msgid "login cancelled"
|
||||||
msgstr "accesso annullato"
|
msgstr "accesso annullato"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
#: crates/pdfs-gui/src/app/pages/login.rs:228
|
||||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
msgstr "Troppi tentativi di accesso. Attendi qualche minuto e riprova."
|
msgstr "Troppi tentativi di accesso. Attendi qualche minuto e riprova."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
#: crates/pdfs-gui/src/app/pages/login.rs:234
|
||||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Impossibile raggiungere Proton. Controlla la connessione a Internet e "
|
"Impossibile raggiungere Proton. Controlla la connessione a Internet e "
|
||||||
"riprova."
|
"riprova."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
#: crates/pdfs-gui/src/app/pages/login.rs:237
|
||||||
msgid ""
|
msgid ""
|
||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
@@ -3220,21 +3221,24 @@ msgstr ""
|
|||||||
"portachiavi di sistema. Assicurati che un portachiavi (GNOME Keyring o "
|
"portachiavi di sistema. Assicurati che un portachiavi (GNOME Keyring o "
|
||||||
"KWallet) sia in esecuzione e sbloccato."
|
"KWallet) sia in esecuzione e sbloccato."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
#: crates/pdfs-gui/src/app/pages/login.rs:240
|
||||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Accesso annullato: non è stato inserito alcun codice di autenticazione a due "
|
"Accesso annullato: non è stato inserito alcun codice di autenticazione a due "
|
||||||
"fattori."
|
"fattori."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
#: crates/pdfs-gui/src/app/pages/login.rs:243
|
||||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||||
msgstr "Accesso annullato: non è stata inserita alcuna password della casella di posta."
|
msgstr ""
|
||||||
|
"Accesso annullato: non è stata inserita alcuna password della casella di "
|
||||||
|
"posta."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
#: crates/pdfs-gui/src/app/pages/login.rs:246
|
||||||
msgid "That mailbox password didn't unlock your account."
|
msgid "That mailbox password didn't unlock your account."
|
||||||
msgstr "Quella password della casella di posta non ha sbloccato il tuo account."
|
msgstr ""
|
||||||
|
"Quella password della casella di posta non ha sbloccato il tuo account."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
#: crates/pdfs-gui/src/app/pages/login.rs:249
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||||
"new one."
|
"new one."
|
||||||
@@ -3243,79 +3247,109 @@ msgstr ""
|
|||||||
"riceverne una nuova."
|
"riceverne una nuova."
|
||||||
|
|
||||||
#. Translators: {error} is an error message, usually in English.
|
#. Translators: {error} is an error message, usually in English.
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
#: crates/pdfs-gui/src/app/pages/login.rs:254
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "Sign-in failed: {error}"
|
msgid "Sign-in failed: {error}"
|
||||||
msgstr "Accesso non riuscito: {error}"
|
msgstr "Accesso non riuscito: {error}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||||
msgid "That mailbox password didn't unlock your account. Try again."
|
msgid "That mailbox password didn't unlock your account. Try again."
|
||||||
msgstr "Quella password della casella di posta non ha sbloccato il tuo account. Riprova."
|
msgstr ""
|
||||||
|
"Quella password della casella di posta non ha sbloccato il tuo account. "
|
||||||
|
"Riprova."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
#: crates/pdfs-gui/src/app/pages/login.rs:367
|
||||||
msgid ""
|
msgid ""
|
||||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
msgstr "Questo account ha una password della casella di posta separata. Inseriscila per sbloccare i tuoi file."
|
msgstr ""
|
||||||
|
"Questo account ha una password della casella di posta separata. Inseriscila "
|
||||||
|
"per sbloccare i tuoi file."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
#: crates/pdfs-gui/src/app/pages/login.rs:370
|
||||||
msgid "Mailbox Password"
|
msgid "Mailbox Password"
|
||||||
msgstr "Password della casella di posta"
|
msgstr "Password della casella di posta"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
#: crates/pdfs-gui/src/app/pages/login.rs:376
|
||||||
msgid "Mailbox password"
|
msgid "Mailbox password"
|
||||||
msgstr "Password della casella di posta"
|
msgstr "Password della casella di posta"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
#: crates/pdfs-gui/src/app/pages/login.rs:380
|
||||||
msgid "Keep unlocked on this computer"
|
msgid "Keep unlocked on this computer"
|
||||||
msgstr "Mantieni sbloccato su questo computer"
|
msgstr "Mantieni sbloccato su questo computer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
#: crates/pdfs-gui/src/app/pages/login.rs:382
|
||||||
msgid ""
|
msgid ""
|
||||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
"asking after every login. Otherwise you enter the password once per session."
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
msgstr "Salva lo sblocco nel portachiavi di sistema, così Proton Drive si apre senza chiedere dopo ogni accesso. Altrimenti inserisci la password una volta per sessione."
|
msgstr ""
|
||||||
|
"Salva lo sblocco nel portachiavi di sistema, così Proton Drive si apre senza "
|
||||||
|
"chiedere dopo ogni accesso. Altrimenti inserisci la password una volta per "
|
||||||
|
"sessione."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
#: crates/pdfs-gui/src/app/pages/login.rs:390
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
#: crates/pdfs-gui/src/app/pages/login.rs:443
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Sblocca"
|
msgstr "Sblocca"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
#: crates/pdfs-gui/src/app/pages/login.rs:442
|
||||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
msgstr "Proton Drive è bloccato. Inserisci la password della casella di posta per sbloccarlo."
|
msgstr ""
|
||||||
|
"Proton Drive è bloccato. Inserisci la password della casella di posta per "
|
||||||
|
"sbloccarlo."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
#: crates/pdfs-gui/src/app/pages/login.rs:471
|
||||||
msgid "Unlocked."
|
msgid "Unlocked."
|
||||||
msgstr "Sbloccato."
|
msgstr "Sbloccato."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
#: crates/pdfs-gui/src/app/pages/login.rs:476
|
||||||
msgid "Couldn't unlock"
|
msgid "Couldn't unlock"
|
||||||
msgstr "Impossibile sbloccare"
|
msgstr "Impossibile sbloccare"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
#: crates/pdfs-gui/src/app/pages/login.rs:489
|
||||||
msgid "Two-Factor Authentication"
|
msgid "Two-Factor Authentication"
|
||||||
msgstr "Autenticazione a due fattori"
|
msgstr "Autenticazione a due fattori"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
#: crates/pdfs-gui/src/app/pages/login.rs:491
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Inserisci il codice dell'app di autenticazione o uno dei tuoi codici di "
|
"Inserisci il codice dell'app di autenticazione o uno dei tuoi codici di "
|
||||||
"recupero."
|
"recupero."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
#: crates/pdfs-gui/src/app/pages/login.rs:497
|
||||||
msgid "Authentication code"
|
msgid "Authentication code"
|
||||||
msgstr "Codice di autenticazione"
|
msgstr "Codice di autenticazione"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
#: crates/pdfs-gui/src/app/pages/login.rs:504
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Conferma"
|
msgstr "Conferma"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
#: crates/pdfs-gui/src/app/pages/login.rs:535
|
||||||
|
#
|
||||||
|
msgid "Verify in Your Browser"
|
||||||
|
msgstr "Verifica nel browser"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:537
|
||||||
|
msgid ""
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in "
|
||||||
|
"your browser, complete it there, then come back and choose Continue."
|
||||||
|
msgstr "La pagina di verifica non può essere mostrata nell’app su questo sistema. Aprila nel browser, completala lì, poi torna qui e scegli “Continua”."
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:543
|
||||||
|
#
|
||||||
|
msgid "Open Verification Page"
|
||||||
|
msgstr "Apri pagina di verifica"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:550
|
||||||
|
#
|
||||||
|
msgid "Continue"
|
||||||
|
msgstr "Continua"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:589
|
||||||
msgid "Sign Out?"
|
msgid "Sign Out?"
|
||||||
msgstr "Disconnettersi?"
|
msgstr "Disconnettersi?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
#: crates/pdfs-gui/src/app/pages/login.rs:591
|
||||||
msgid ""
|
msgid ""
|
||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
@@ -3323,7 +3357,7 @@ msgstr ""
|
|||||||
"Proton Drive si disconnetterà e interromperà la sincronizzazione finché non "
|
"Proton Drive si disconnetterà e interromperà la sincronizzazione finché non "
|
||||||
"accedi di nuovo. I file già presenti su questo computer restano dove sono."
|
"accedi di nuovo. I file già presenti su questo computer restano dove sono."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
#: crates/pdfs-gui/src/app/pages/login.rs:593
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "Disconnetti"
|
msgstr "Disconnetti"
|
||||||
|
|
||||||
@@ -5297,7 +5331,7 @@ msgstr "Cestino svuotato"
|
|||||||
msgid "Couldn't empty the trash"
|
msgid "Couldn't empty the trash"
|
||||||
msgstr "Impossibile svuotare il cestino"
|
msgstr "Impossibile svuotare il cestino"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/verify.rs:57
|
#: crates/pdfs-gui/src/app/pages/verify.rs:162
|
||||||
msgid "Verification"
|
msgid "Verification"
|
||||||
msgstr "Verifica"
|
msgstr "Verifica"
|
||||||
|
|
||||||
@@ -6095,6 +6129,15 @@ msgstr "{count} a"
|
|||||||
msgid "cannot reach the Proton Drive daemon: {error}"
|
msgid "cannot reach the Proton Drive daemon: {error}"
|
||||||
msgstr "impossibile raggiungere il demone di Proton Drive: {error}"
|
msgstr "impossibile raggiungere il demone di Proton Drive: {error}"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The verification page couldn't be opened, so the sign-in was cancelled. "
|
||||||
|
#~ "Your system may keep the web view's sandbox from starting; the "
|
||||||
|
#~ "troubleshooting guide explains what to do."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Impossibile aprire la pagina di verifica, quindi l'accesso è stato "
|
||||||
|
#~ "annullato. Il sistema potrebbe impedire l'avvio della sandbox della vista "
|
||||||
|
#~ "web; la guida alla risoluzione dei problemi spiega cosa fare."
|
||||||
|
|
||||||
#~ msgid "Jump to a month"
|
#~ msgid "Jump to a month"
|
||||||
#~ msgstr "Vai a un mese"
|
#~ msgstr "Vai a un mese"
|
||||||
|
|
||||||
|
|||||||
@@ -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-10-07 02:39+0200\n"
|
"POT-Creation-Date: 2026-10-08 18:47+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"
|
||||||
@@ -57,7 +57,7 @@ msgstr "%-d %b %Y"
|
|||||||
msgid "%A, %B %-d, %Y, %H:%M"
|
msgid "%A, %B %-d, %Y, %H:%M"
|
||||||
msgstr "%A %-d %B %Y, %H:%M"
|
msgstr "%A %-d %B %Y, %H:%M"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:747
|
#: crates/pdfs-gui/src/app/main.rs:760
|
||||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||||
@@ -70,91 +70,91 @@ msgstr "%A %-d %B %Y, %H:%M"
|
|||||||
msgid "My files"
|
msgid "My files"
|
||||||
msgstr "Mijn bestanden"
|
msgstr "Mijn bestanden"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||||
msgid "Photos"
|
msgid "Photos"
|
||||||
msgstr "Foto's"
|
msgstr "Foto's"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:755
|
#: crates/pdfs-gui/src/app/main.rs:768
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||||
msgid "Shared with me"
|
msgid "Shared with me"
|
||||||
msgstr "Gedeeld met mij"
|
msgstr "Gedeeld met mij"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:760
|
#: crates/pdfs-gui/src/app/main.rs:773
|
||||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||||
msgid "Shared by me"
|
msgid "Shared by me"
|
||||||
msgstr "Gedeeld door mij"
|
msgstr "Gedeeld door mij"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:763
|
#: crates/pdfs-gui/src/app/main.rs:776
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||||
msgid "Computers"
|
msgid "Computers"
|
||||||
msgstr "Computers"
|
msgstr "Computers"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:764
|
#: crates/pdfs-gui/src/app/main.rs:777
|
||||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||||
msgid "Trash"
|
msgid "Trash"
|
||||||
msgstr "Prullenbak"
|
msgstr "Prullenbak"
|
||||||
|
|
||||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:766
|
#: crates/pdfs-gui/src/app/main.rs:779
|
||||||
msgid "Sync"
|
msgid "Sync"
|
||||||
msgstr "Synchronisatie"
|
msgstr "Synchronisatie"
|
||||||
|
|
||||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||||
#. from the mount service.
|
#. from the mount service.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
#: crates/pdfs-gui/src/app/main.rs:1096
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "{what}: {detail}"
|
msgid "{what}: {detail}"
|
||||||
msgstr "{what}: {detail}"
|
msgstr "{what}: {detail}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
#: crates/pdfs-gui/src/app/main.rs:1115
|
||||||
msgid "You're offline"
|
msgid "You're offline"
|
||||||
msgstr "Je bent offline"
|
msgstr "Je bent offline"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
#: crates/pdfs-gui/src/app/main.rs:1116
|
||||||
msgid "That's not there any more"
|
msgid "That's not there any more"
|
||||||
msgstr "Dat bestaat niet meer"
|
msgstr "Dat bestaat niet meer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
#: crates/pdfs-gui/src/app/main.rs:1117
|
||||||
msgid "You don't have access to that"
|
msgid "You don't have access to that"
|
||||||
msgstr "Je hebt daar geen toegang toe"
|
msgstr "Je hebt daar geen toegang toe"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
#: crates/pdfs-gui/src/app/main.rs:1118
|
||||||
msgid "Something changed this first"
|
msgid "Something changed this first"
|
||||||
msgstr "Er is eerst iets anders gewijzigd"
|
msgstr "Er is eerst iets anders gewijzigd"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
#: crates/pdfs-gui/src/app/main.rs:1119
|
||||||
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:1147 crates/pdfs-gui/src/app/main.rs:1376
|
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr "Voorkeuren"
|
msgstr "Voorkeuren"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
#: crates/pdfs-gui/src/app/main.rs:1161
|
||||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr "Sneltoetsen"
|
msgstr "Sneltoetsen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
#: crates/pdfs-gui/src/app/main.rs:1163
|
||||||
msgid "About Proton Drive for Linux"
|
msgid "About Proton Drive for Linux"
|
||||||
msgstr "Over Proton Drive for Linux"
|
msgstr "Over Proton Drive for Linux"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
#: crates/pdfs-gui/src/app/main.rs:1168
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr "Hoofdmenu"
|
msgstr "Hoofdmenu"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||||
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:1219
|
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||||
msgid ""
|
msgid ""
|
||||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -166,23 +166,23 @@ 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:1224
|
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr "Broncode"
|
msgstr "Broncode"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||||
msgid "Proton Terms of Service"
|
msgid "Proton Terms of Service"
|
||||||
msgstr "Servicevoorwaarden van Proton"
|
msgstr "Servicevoorwaarden van Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||||
msgid "Proton Privacy Policy"
|
msgid "Proton Privacy Policy"
|
||||||
msgstr "Privacybeleid van Proton"
|
msgstr "Privacybeleid van Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
#: crates/pdfs-gui/src/app/main.rs:1250
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr "Disclaimer"
|
msgstr "Disclaimer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
#: crates/pdfs-gui/src/app/main.rs:1254
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||||
"endorsed by, or supported by Proton AG.\n"
|
"endorsed by, or supported by Proton AG.\n"
|
||||||
@@ -205,7 +205,7 @@ msgstr ""
|
|||||||
"Deze software wordt geleverd “zoals ze is”, zonder enige garantie. Bewaar "
|
"Deze software wordt geleverd “zoals ze is”, zonder enige garantie. Bewaar "
|
||||||
"een kopie van gegevens die je niet kwijt wilt raken."
|
"een kopie van gegevens die je niet kwijt wilt raken."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
#: crates/pdfs-gui/src/app/main.rs:1262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
@@ -215,7 +215,7 @@ msgstr ""
|
|||||||
"\">GeoNames</a>, gelicentieerd onder <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, gelicentieerd onder <a href=\"https://creativecommons.org/"
|
||||||
"licenses/by/4.0/\">CC BY 4.0</a>."
|
"licenses/by/4.0/\">CC BY 4.0</a>."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
#: crates/pdfs-gui/src/app/main.rs:1270
|
||||||
msgid ""
|
msgid ""
|
||||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
@@ -225,7 +225,7 @@ msgstr ""
|
|||||||
"href=\"https://www.naturalearthdata.com/\">Natural Earth</a>, die in het "
|
"href=\"https://www.naturalearthdata.com/\">Natural Earth</a>, die in het "
|
||||||
"publieke domein vallen."
|
"publieke domein vallen."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
#: crates/pdfs-gui/src/app/main.rs:1278
|
||||||
msgid ""
|
msgid ""
|
||||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||||
@@ -241,15 +241,15 @@ 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:1276
|
#: crates/pdfs-gui/src/app/main.rs:1289
|
||||||
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:1314
|
#: crates/pdfs-gui/src/app/main.rs:1327
|
||||||
msgid "Stop Proton Drive?"
|
msgid "Stop Proton Drive?"
|
||||||
msgstr "Proton Drive stoppen?"
|
msgstr "Proton Drive stoppen?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1315
|
#: crates/pdfs-gui/src/app/main.rs:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
@@ -257,7 +257,7 @@ msgstr ""
|
|||||||
"Mijn bestanden gaat offline en er wordt niets gesynchroniseerd tot je weer "
|
"Mijn bestanden gaat offline en er wordt niets gesynchroniseerd tot je weer "
|
||||||
"verbinding maakt. Proton Drive start opnieuw bij je volgende aanmelding."
|
"verbinding maakt. Proton Drive start opnieuw bij je volgende aanmelding."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
|
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||||
@@ -272,8 +272,9 @@ msgstr ""
|
|||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
#: crates/pdfs-gui/src/app/pages/login.rs:389
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
#: crates/pdfs-gui/src/app/pages/login.rs:503
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:549
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||||
@@ -288,30 +289,30 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuleren"
|
msgstr "Annuleren"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||||
msgctxt "verb"
|
msgctxt "verb"
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Stoppen"
|
msgstr "Stoppen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
#: crates/pdfs-gui/src/app/main.rs:1348
|
||||||
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:1336
|
#: crates/pdfs-gui/src/app/main.rs:1349
|
||||||
msgid "The Proton Drive service did not stop."
|
msgid "The Proton Drive service did not stop."
|
||||||
msgstr "De Proton Drive-service is niet gestopt."
|
msgstr "De Proton Drive-service is niet gestopt."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Algemeen"
|
msgstr "Algemeen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||||
msgid "Search Drive"
|
msgid "Search Drive"
|
||||||
msgstr "Drive doorzoeken"
|
msgstr "Drive doorzoeken"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||||
@@ -320,38 +321,38 @@ msgstr "Drive doorzoeken"
|
|||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Verversen"
|
msgstr "Verversen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Sneltoetsen"
|
msgstr "Sneltoetsen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
msgstr "Bestanden"
|
msgstr "Bestanden"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||||
msgid "New folder"
|
msgid "New folder"
|
||||||
msgstr "Nieuwe map"
|
msgstr "Nieuwe map"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||||
msgid "Upload files"
|
msgid "Upload files"
|
||||||
msgstr "Bestanden uploaden"
|
msgstr "Bestanden uploaden"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1385
|
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||||
msgid "Back / forward"
|
msgid "Back / forward"
|
||||||
msgstr "Terug / vooruit"
|
msgstr "Terug / vooruit"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||||
msgid "Parent folder"
|
msgid "Parent folder"
|
||||||
msgstr "Bovenliggende map"
|
msgstr "Bovenliggende map"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
#: crates/pdfs-gui/src/app/main.rs:1400
|
||||||
msgid "Grid / list"
|
msgid "Grid / list"
|
||||||
msgstr "Raster / lijst"
|
msgstr "Raster / lijst"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
||||||
@@ -360,7 +361,7 @@ msgstr "Raster / lijst"
|
|||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Hernoemen"
|
msgstr "Hernoemen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||||
@@ -370,73 +371,73 @@ 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:1390
|
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||||
msgid "Clear the selection"
|
msgid "Clear the selection"
|
||||||
msgstr "Selectie wissen"
|
msgstr "Selectie wissen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1396
|
#: crates/pdfs-gui/src/app/main.rs:1409
|
||||||
msgid "Larger thumbnails"
|
msgid "Larger thumbnails"
|
||||||
msgstr "Grotere miniaturen"
|
msgstr "Grotere miniaturen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||||
msgid "Smaller thumbnails"
|
msgid "Smaller thumbnails"
|
||||||
msgstr "Kleinere miniaturen"
|
msgstr "Kleinere miniaturen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1398
|
#: crates/pdfs-gui/src/app/main.rs:1411
|
||||||
msgid "Reset thumbnail size"
|
msgid "Reset thumbnail size"
|
||||||
msgstr "Miniatuurgrootte herstellen"
|
msgstr "Miniatuurgrootte herstellen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1399
|
#: crates/pdfs-gui/src/app/main.rs:1412
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Alles selecteren"
|
msgstr "Alles selecteren"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
#: crates/pdfs-gui/src/app/main.rs:1416
|
||||||
msgid "Photo Viewer"
|
msgid "Photo Viewer"
|
||||||
msgstr "Fotoweergave"
|
msgstr "Fotoweergave"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
#: crates/pdfs-gui/src/app/main.rs:1418
|
||||||
msgid "Previous / next photo"
|
msgid "Previous / next photo"
|
||||||
msgstr "Vorige / volgende foto"
|
msgstr "Vorige / volgende foto"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1406
|
#: crates/pdfs-gui/src/app/main.rs:1419
|
||||||
msgid "First / last photo"
|
msgid "First / last photo"
|
||||||
msgstr "Eerste / laatste foto"
|
msgstr "Eerste / laatste foto"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1407
|
#: crates/pdfs-gui/src/app/main.rs:1420
|
||||||
msgid "Show details"
|
msgid "Show details"
|
||||||
msgstr "Details tonen"
|
msgstr "Details tonen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
#: crates/pdfs-gui/src/app/main.rs:1421
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Volledig scherm"
|
msgstr "Volledig scherm"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
#: crates/pdfs-gui/src/app/main.rs:1423
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Sluiten"
|
msgstr "Sluiten"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
#: crates/pdfs-gui/src/app/main.rs:1513
|
||||||
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"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
#: crates/pdfs-gui/src/app/main.rs:1673
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||||
msgid "Not connected"
|
msgid "Not connected"
|
||||||
msgstr "Niet verbonden"
|
msgstr "Niet verbonden"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
#: crates/pdfs-gui/src/app/main.rs:1674
|
||||||
msgid "The Proton Drive service isn't running."
|
msgid "The Proton Drive service isn't running."
|
||||||
msgstr "De Proton Drive-service draait niet."
|
msgstr "De Proton Drive-service draait niet."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
#: crates/pdfs-gui/src/app/main.rs:1682
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||||
#: crates/pdfs-gui/src/main.rs:453
|
#: crates/pdfs-gui/src/main.rs:453
|
||||||
msgid "Connecting…"
|
msgid "Connecting…"
|
||||||
msgstr "Verbinden…"
|
msgstr "Verbinden…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
#: crates/pdfs-gui/src/app/main.rs:1683
|
||||||
msgid "Waiting for the Proton Drive service to start."
|
msgid "Waiting for the Proton Drive service to start."
|
||||||
msgstr "Wachten tot de Proton Drive-service is gestart."
|
msgstr "Wachten tot de Proton Drive-service is gestart."
|
||||||
|
|
||||||
@@ -3190,22 +3191,22 @@ msgstr "Aanmelden…"
|
|||||||
msgid "Complete the verification to continue…"
|
msgid "Complete the verification to continue…"
|
||||||
msgstr "Voltooi de verificatie om verder te gaan…"
|
msgstr "Voltooi de verificatie om verder te gaan…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
#: crates/pdfs-gui/src/app/pages/login.rs:195
|
||||||
msgid "login cancelled"
|
msgid "login cancelled"
|
||||||
msgstr "aanmelden geannuleerd"
|
msgstr "aanmelden geannuleerd"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
#: crates/pdfs-gui/src/app/pages/login.rs:228
|
||||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Te veel aanmeldpogingen. Wacht een paar minuten en probeer het opnieuw."
|
"Te veel aanmeldpogingen. Wacht een paar minuten en probeer het opnieuw."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
#: crates/pdfs-gui/src/app/pages/login.rs:234
|
||||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Kon Proton niet bereiken. Controleer je internetverbinding en probeer het "
|
"Kon Proton niet bereiken. Controleer je internetverbinding en probeer het "
|
||||||
"opnieuw."
|
"opnieuw."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
#: crates/pdfs-gui/src/app/pages/login.rs:237
|
||||||
msgid ""
|
msgid ""
|
||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
@@ -3214,19 +3215,19 @@ msgstr ""
|
|||||||
"opgeslagen. Zorg dat een sleutelbos (GNOME Keyring of KWallet) actief en "
|
"opgeslagen. Zorg dat een sleutelbos (GNOME Keyring of KWallet) actief en "
|
||||||
"ontgrendeld is."
|
"ontgrendeld is."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
#: crates/pdfs-gui/src/app/pages/login.rs:240
|
||||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||||
msgstr "Aanmelden geannuleerd: er is geen tweestapscode ingevoerd."
|
msgstr "Aanmelden geannuleerd: er is geen tweestapscode ingevoerd."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
#: crates/pdfs-gui/src/app/pages/login.rs:243
|
||||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||||
msgstr "Aanmelden geannuleerd: er is geen mailboxwachtwoord ingevoerd."
|
msgstr "Aanmelden geannuleerd: er is geen mailboxwachtwoord ingevoerd."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
#: crates/pdfs-gui/src/app/pages/login.rs:246
|
||||||
msgid "That mailbox password didn't unlock your account."
|
msgid "That mailbox password didn't unlock your account."
|
||||||
msgstr "Dat mailboxwachtwoord heeft je account niet ontgrendeld."
|
msgstr "Dat mailboxwachtwoord heeft je account niet ontgrendeld."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
#: crates/pdfs-gui/src/app/pages/login.rs:249
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||||
"new one."
|
"new one."
|
||||||
@@ -3235,77 +3236,106 @@ msgstr ""
|
|||||||
"om een nieuwe te krijgen."
|
"om een nieuwe te krijgen."
|
||||||
|
|
||||||
#. Translators: {error} is an error message, usually in English.
|
#. Translators: {error} is an error message, usually in English.
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
#: crates/pdfs-gui/src/app/pages/login.rs:254
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "Sign-in failed: {error}"
|
msgid "Sign-in failed: {error}"
|
||||||
msgstr "Aanmelden mislukt: {error}"
|
msgstr "Aanmelden mislukt: {error}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||||
msgid "That mailbox password didn't unlock your account. Try again."
|
msgid "That mailbox password didn't unlock your account. Try again."
|
||||||
msgstr "Dat mailboxwachtwoord heeft je account niet ontgrendeld. Probeer het opnieuw."
|
msgstr ""
|
||||||
|
"Dat mailboxwachtwoord heeft je account niet ontgrendeld. Probeer het opnieuw."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
#: crates/pdfs-gui/src/app/pages/login.rs:367
|
||||||
msgid ""
|
msgid ""
|
||||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
msgstr "Dit account heeft een apart mailboxwachtwoord. Voer het in om je bestanden te ontgrendelen."
|
msgstr ""
|
||||||
|
"Dit account heeft een apart mailboxwachtwoord. Voer het in om je bestanden "
|
||||||
|
"te ontgrendelen."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
#: crates/pdfs-gui/src/app/pages/login.rs:370
|
||||||
msgid "Mailbox Password"
|
msgid "Mailbox Password"
|
||||||
msgstr "Mailboxwachtwoord"
|
msgstr "Mailboxwachtwoord"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
#: crates/pdfs-gui/src/app/pages/login.rs:376
|
||||||
msgid "Mailbox password"
|
msgid "Mailbox password"
|
||||||
msgstr "Mailboxwachtwoord"
|
msgstr "Mailboxwachtwoord"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
#: crates/pdfs-gui/src/app/pages/login.rs:380
|
||||||
msgid "Keep unlocked on this computer"
|
msgid "Keep unlocked on this computer"
|
||||||
msgstr "Ontgrendeld houden op deze computer"
|
msgstr "Ontgrendeld houden op deze computer"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
#: crates/pdfs-gui/src/app/pages/login.rs:382
|
||||||
msgid ""
|
msgid ""
|
||||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
"asking after every login. Otherwise you enter the password once per session."
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
msgstr "Bewaart de ontgrendeling in de sleutelhanger van het systeem, zodat Proton Drive na elke aanmelding opent zonder te vragen. Anders voer je het wachtwoord één keer per sessie in."
|
msgstr ""
|
||||||
|
"Bewaart de ontgrendeling in de sleutelhanger van het systeem, zodat Proton "
|
||||||
|
"Drive na elke aanmelding opent zonder te vragen. Anders voer je het "
|
||||||
|
"wachtwoord één keer per sessie in."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
#: crates/pdfs-gui/src/app/pages/login.rs:390
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
#: crates/pdfs-gui/src/app/pages/login.rs:443
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Ontgrendelen"
|
msgstr "Ontgrendelen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
#: crates/pdfs-gui/src/app/pages/login.rs:442
|
||||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
msgstr "Proton Drive is vergrendeld. Voer je mailboxwachtwoord in om het te ontgrendelen."
|
msgstr ""
|
||||||
|
"Proton Drive is vergrendeld. Voer je mailboxwachtwoord in om het te "
|
||||||
|
"ontgrendelen."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
#: crates/pdfs-gui/src/app/pages/login.rs:471
|
||||||
msgid "Unlocked."
|
msgid "Unlocked."
|
||||||
msgstr "Ontgrendeld."
|
msgstr "Ontgrendeld."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
#: crates/pdfs-gui/src/app/pages/login.rs:476
|
||||||
msgid "Couldn't unlock"
|
msgid "Couldn't unlock"
|
||||||
msgstr "Ontgrendelen mislukt"
|
msgstr "Ontgrendelen mislukt"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
#: crates/pdfs-gui/src/app/pages/login.rs:489
|
||||||
msgid "Two-Factor Authentication"
|
msgid "Two-Factor Authentication"
|
||||||
msgstr "Tweestapsverificatie"
|
msgstr "Tweestapsverificatie"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
#: crates/pdfs-gui/src/app/pages/login.rs:491
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
msgstr "Voer de code uit je authenticator-app in, of een van je herstelcodes."
|
msgstr "Voer de code uit je authenticator-app in, of een van je herstelcodes."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
#: crates/pdfs-gui/src/app/pages/login.rs:497
|
||||||
msgid "Authentication code"
|
msgid "Authentication code"
|
||||||
msgstr "Verificatiecode"
|
msgstr "Verificatiecode"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
#: crates/pdfs-gui/src/app/pages/login.rs:504
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bevestigen"
|
msgstr "Bevestigen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
#: crates/pdfs-gui/src/app/pages/login.rs:535
|
||||||
|
#
|
||||||
|
msgid "Verify in Your Browser"
|
||||||
|
msgstr "Verifiëren in je browser"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:537
|
||||||
|
msgid ""
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in "
|
||||||
|
"your browser, complete it there, then come back and choose Continue."
|
||||||
|
msgstr "De verificatiepagina kan op dit systeem niet in de app worden getoond. Open hem in je browser, voltooi hem daar, kom dan terug en kies “Doorgaan”."
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:543
|
||||||
|
#
|
||||||
|
msgid "Open Verification Page"
|
||||||
|
msgstr "Verificatiepagina openen"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:550
|
||||||
|
#
|
||||||
|
msgid "Continue"
|
||||||
|
msgstr "Doorgaan"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:589
|
||||||
msgid "Sign Out?"
|
msgid "Sign Out?"
|
||||||
msgstr "Afmelden?"
|
msgstr "Afmelden?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
#: crates/pdfs-gui/src/app/pages/login.rs:591
|
||||||
msgid ""
|
msgid ""
|
||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
@@ -3314,7 +3344,7 @@ msgstr ""
|
|||||||
"je opnieuw aanmeldt. Bestanden die al op deze computer staan, blijven waar "
|
"je opnieuw aanmeldt. Bestanden die al op deze computer staan, blijven waar "
|
||||||
"ze zijn."
|
"ze zijn."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
#: crates/pdfs-gui/src/app/pages/login.rs:593
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "Afmelden"
|
msgstr "Afmelden"
|
||||||
|
|
||||||
@@ -5290,7 +5320,7 @@ msgstr "Prullenbak geleegd"
|
|||||||
msgid "Couldn't empty the trash"
|
msgid "Couldn't empty the trash"
|
||||||
msgstr "Kon de prullenbak niet legen"
|
msgstr "Kon de prullenbak niet legen"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/verify.rs:57
|
#: crates/pdfs-gui/src/app/pages/verify.rs:162
|
||||||
msgid "Verification"
|
msgid "Verification"
|
||||||
msgstr "Verificatie"
|
msgstr "Verificatie"
|
||||||
|
|
||||||
@@ -6087,6 +6117,16 @@ msgstr "{count}j"
|
|||||||
msgid "cannot reach the Proton Drive daemon: {error}"
|
msgid "cannot reach the Proton Drive daemon: {error}"
|
||||||
msgstr "kan de achtergronddienst van Proton Drive niet bereiken: {error}"
|
msgstr "kan de achtergronddienst van Proton Drive niet bereiken: {error}"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The verification page couldn't be opened, so the sign-in was cancelled. "
|
||||||
|
#~ "Your system may keep the web view's sandbox from starting; the "
|
||||||
|
#~ "troubleshooting guide explains what to do."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "De verificatiepagina kon niet worden geopend, dus het aanmelden is "
|
||||||
|
#~ "geannuleerd. Mogelijk verhindert je systeem dat de sandbox van de "
|
||||||
|
#~ "webweergave start; de handleiding voor probleemoplossing legt uit wat je "
|
||||||
|
#~ "kunt doen."
|
||||||
|
|
||||||
#~ msgid "Jump to a month"
|
#~ msgid "Jump to a month"
|
||||||
#~ msgstr "Naar een maand springen"
|
#~ msgstr "Naar een maand springen"
|
||||||
|
|
||||||
|
|||||||
+113
-94
@@ -6,9 +6,9 @@
|
|||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: proton-drive-linux 3.1.0\n"
|
"Project-Id-Version: proton-drive-linux 3.1.2\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-10-07 02:39+0200\n"
|
"POT-Creation-Date: 2026-10-08 18:47+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"
|
||||||
@@ -60,7 +60,7 @@ msgstr ""
|
|||||||
msgid "%A, %B %-d, %Y, %H:%M"
|
msgid "%A, %B %-d, %Y, %H:%M"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:747
|
#: crates/pdfs-gui/src/app/main.rs:760
|
||||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||||
@@ -73,91 +73,91 @@ msgstr ""
|
|||||||
msgid "My files"
|
msgid "My files"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||||
msgid "Photos"
|
msgid "Photos"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:755
|
#: crates/pdfs-gui/src/app/main.rs:768
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||||
msgid "Shared with me"
|
msgid "Shared with me"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:760
|
#: crates/pdfs-gui/src/app/main.rs:773
|
||||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||||
msgid "Shared by me"
|
msgid "Shared by me"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:763
|
#: crates/pdfs-gui/src/app/main.rs:776
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||||
msgid "Computers"
|
msgid "Computers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:764
|
#: crates/pdfs-gui/src/app/main.rs:777
|
||||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||||
msgid "Trash"
|
msgid "Trash"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:766
|
#: crates/pdfs-gui/src/app/main.rs:779
|
||||||
msgid "Sync"
|
msgid "Sync"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||||
#. from the mount service.
|
#. from the mount service.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
#: crates/pdfs-gui/src/app/main.rs:1096
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "{what}: {detail}"
|
msgid "{what}: {detail}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
#: crates/pdfs-gui/src/app/main.rs:1115
|
||||||
msgid "You're offline"
|
msgid "You're offline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
#: crates/pdfs-gui/src/app/main.rs:1116
|
||||||
msgid "That's not there any more"
|
msgid "That's not there any more"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
#: crates/pdfs-gui/src/app/main.rs:1117
|
||||||
msgid "You don't have access to that"
|
msgid "You don't have access to that"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
#: crates/pdfs-gui/src/app/main.rs:1118
|
||||||
msgid "Something changed this first"
|
msgid "Something changed this first"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
#: crates/pdfs-gui/src/app/main.rs:1119
|
||||||
msgid "Your Proton Drive is full"
|
msgid "Your Proton Drive is full"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1147 crates/pdfs-gui/src/app/main.rs:1376
|
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
#: crates/pdfs-gui/src/app/main.rs:1161
|
||||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
#: crates/pdfs-gui/src/app/main.rs:1163
|
||||||
msgid "About Proton Drive for Linux"
|
msgid "About Proton Drive for Linux"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
#: crates/pdfs-gui/src/app/main.rs:1168
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||||
msgid "Proton Drive for Linux"
|
msgid "Proton Drive for Linux"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1219
|
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||||
msgid ""
|
msgid ""
|
||||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -165,23 +165,23 @@ msgid ""
|
|||||||
"AG."
|
"AG."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1224
|
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||||
msgid "Proton Terms of Service"
|
msgid "Proton Terms of Service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||||
msgid "Proton Privacy Policy"
|
msgid "Proton Privacy Policy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
#: crates/pdfs-gui/src/app/main.rs:1250
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
#: crates/pdfs-gui/src/app/main.rs:1254
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||||
"endorsed by, or supported by Proton AG.\n"
|
"endorsed by, or supported by Proton AG.\n"
|
||||||
@@ -194,21 +194,21 @@ msgid ""
|
|||||||
"of any data you cannot afford to lose."
|
"of any data you cannot afford to lose."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
#: crates/pdfs-gui/src/app/main.rs:1262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
"licenses/by/4.0/\">CC BY 4.0</a>."
|
"licenses/by/4.0/\">CC BY 4.0</a>."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
#: crates/pdfs-gui/src/app/main.rs:1270
|
||||||
msgid ""
|
msgid ""
|
||||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
"public domain."
|
"public domain."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
#: crates/pdfs-gui/src/app/main.rs:1278
|
||||||
msgid ""
|
msgid ""
|
||||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||||
@@ -219,21 +219,21 @@ 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:1276
|
#: crates/pdfs-gui/src/app/main.rs:1289
|
||||||
msgid "translator-credits"
|
msgid "translator-credits"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1314
|
#: crates/pdfs-gui/src/app/main.rs:1327
|
||||||
msgid "Stop Proton Drive?"
|
msgid "Stop Proton Drive?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1315
|
#: crates/pdfs-gui/src/app/main.rs:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
|
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||||
@@ -248,8 +248,9 @@ msgstr ""
|
|||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
#: crates/pdfs-gui/src/app/pages/login.rs:389
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
#: crates/pdfs-gui/src/app/pages/login.rs:503
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:549
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||||
@@ -264,30 +265,30 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||||
msgctxt "verb"
|
msgctxt "verb"
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
#: crates/pdfs-gui/src/app/main.rs:1348
|
||||||
msgid "Couldn't stop Proton Drive"
|
msgid "Couldn't stop Proton Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1336
|
#: crates/pdfs-gui/src/app/main.rs:1349
|
||||||
msgid "The Proton Drive service did not stop."
|
msgid "The Proton Drive service did not stop."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||||
msgid "Search Drive"
|
msgid "Search Drive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||||
@@ -296,38 +297,38 @@ msgstr ""
|
|||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||||
msgid "New folder"
|
msgid "New folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||||
msgid "Upload files"
|
msgid "Upload files"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1385
|
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||||
msgid "Back / forward"
|
msgid "Back / forward"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||||
msgid "Parent folder"
|
msgid "Parent folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
#: crates/pdfs-gui/src/app/main.rs:1400
|
||||||
msgid "Grid / list"
|
msgid "Grid / list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
||||||
@@ -336,7 +337,7 @@ msgstr ""
|
|||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||||
@@ -346,73 +347,73 @@ msgstr ""
|
|||||||
msgid "Move to Trash"
|
msgid "Move to Trash"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1390
|
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||||
msgid "Clear the selection"
|
msgid "Clear the selection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1396
|
#: crates/pdfs-gui/src/app/main.rs:1409
|
||||||
msgid "Larger thumbnails"
|
msgid "Larger thumbnails"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||||
msgid "Smaller thumbnails"
|
msgid "Smaller thumbnails"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1398
|
#: crates/pdfs-gui/src/app/main.rs:1411
|
||||||
msgid "Reset thumbnail size"
|
msgid "Reset thumbnail size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1399
|
#: crates/pdfs-gui/src/app/main.rs:1412
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
#: crates/pdfs-gui/src/app/main.rs:1416
|
||||||
msgid "Photo Viewer"
|
msgid "Photo Viewer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
#: crates/pdfs-gui/src/app/main.rs:1418
|
||||||
msgid "Previous / next photo"
|
msgid "Previous / next photo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1406
|
#: crates/pdfs-gui/src/app/main.rs:1419
|
||||||
msgid "First / last photo"
|
msgid "First / last photo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1407
|
#: crates/pdfs-gui/src/app/main.rs:1420
|
||||||
msgid "Show details"
|
msgid "Show details"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
#: crates/pdfs-gui/src/app/main.rs:1421
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
#: crates/pdfs-gui/src/app/main.rs:1423
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
#: crates/pdfs-gui/src/app/main.rs:1513
|
||||||
msgid "Select a single item to rename it"
|
msgid "Select a single item to rename it"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
#: crates/pdfs-gui/src/app/main.rs:1673
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||||
msgid "Not connected"
|
msgid "Not connected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
#: crates/pdfs-gui/src/app/main.rs:1674
|
||||||
msgid "The Proton Drive service isn't running."
|
msgid "The Proton Drive service isn't running."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
#: crates/pdfs-gui/src/app/main.rs:1682
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||||
#: crates/pdfs-gui/src/main.rs:453
|
#: crates/pdfs-gui/src/main.rs:453
|
||||||
msgid "Connecting…"
|
msgid "Connecting…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
#: crates/pdfs-gui/src/app/main.rs:1683
|
||||||
msgid "Waiting for the Proton Drive service to start."
|
msgid "Waiting for the Proton Drive service to start."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3057,120 +3058,138 @@ msgstr ""
|
|||||||
msgid "Complete the verification to continue…"
|
msgid "Complete the verification to continue…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
#: crates/pdfs-gui/src/app/pages/login.rs:195
|
||||||
msgid "login cancelled"
|
msgid "login cancelled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
#: crates/pdfs-gui/src/app/pages/login.rs:228
|
||||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
#: crates/pdfs-gui/src/app/pages/login.rs:234
|
||||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
#: crates/pdfs-gui/src/app/pages/login.rs:237
|
||||||
msgid ""
|
msgid ""
|
||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
#: crates/pdfs-gui/src/app/pages/login.rs:240
|
||||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
#: crates/pdfs-gui/src/app/pages/login.rs:243
|
||||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
#: crates/pdfs-gui/src/app/pages/login.rs:246
|
||||||
msgid "That mailbox password didn't unlock your account."
|
msgid "That mailbox password didn't unlock your account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
#: crates/pdfs-gui/src/app/pages/login.rs:249
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||||
"new one."
|
"new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Translators: {error} is an error message, usually in English.
|
#. Translators: {error} is an error message, usually in English.
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
#: crates/pdfs-gui/src/app/pages/login.rs:254
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "Sign-in failed: {error}"
|
msgid "Sign-in failed: {error}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||||
msgid "That mailbox password didn't unlock your account. Try again."
|
msgid "That mailbox password didn't unlock your account. Try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
#: crates/pdfs-gui/src/app/pages/login.rs:367
|
||||||
msgid ""
|
msgid ""
|
||||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
#: crates/pdfs-gui/src/app/pages/login.rs:370
|
||||||
msgid "Mailbox Password"
|
msgid "Mailbox Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
#: crates/pdfs-gui/src/app/pages/login.rs:376
|
||||||
msgid "Mailbox password"
|
msgid "Mailbox password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
#: crates/pdfs-gui/src/app/pages/login.rs:380
|
||||||
msgid "Keep unlocked on this computer"
|
msgid "Keep unlocked on this computer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
#: crates/pdfs-gui/src/app/pages/login.rs:382
|
||||||
msgid ""
|
msgid ""
|
||||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
"asking after every login. Otherwise you enter the password once per session."
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
#: crates/pdfs-gui/src/app/pages/login.rs:390
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
#: crates/pdfs-gui/src/app/pages/login.rs:443
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
#: crates/pdfs-gui/src/app/pages/login.rs:442
|
||||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
#: crates/pdfs-gui/src/app/pages/login.rs:471
|
||||||
msgid "Unlocked."
|
msgid "Unlocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
#: crates/pdfs-gui/src/app/pages/login.rs:476
|
||||||
msgid "Couldn't unlock"
|
msgid "Couldn't unlock"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
#: crates/pdfs-gui/src/app/pages/login.rs:489
|
||||||
msgid "Two-Factor Authentication"
|
msgid "Two-Factor Authentication"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
#: crates/pdfs-gui/src/app/pages/login.rs:491
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
#: crates/pdfs-gui/src/app/pages/login.rs:497
|
||||||
msgid "Authentication code"
|
msgid "Authentication code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
#: crates/pdfs-gui/src/app/pages/login.rs:504
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
#: crates/pdfs-gui/src/app/pages/login.rs:535
|
||||||
|
msgid "Verify in Your Browser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:537
|
||||||
|
msgid ""
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in "
|
||||||
|
"your browser, complete it there, then come back and choose Continue."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:543
|
||||||
|
msgid "Open Verification Page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:550
|
||||||
|
msgid "Continue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:589
|
||||||
msgid "Sign Out?"
|
msgid "Sign Out?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
#: crates/pdfs-gui/src/app/pages/login.rs:591
|
||||||
msgid ""
|
msgid ""
|
||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
#: crates/pdfs-gui/src/app/pages/login.rs:593
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5076,7 +5095,7 @@ msgstr ""
|
|||||||
msgid "Couldn't empty the trash"
|
msgid "Couldn't empty the trash"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/verify.rs:57
|
#: crates/pdfs-gui/src/app/pages/verify.rs:162
|
||||||
msgid "Verification"
|
msgid "Verification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -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-10-07 02:39+0200\n"
|
"POT-Creation-Date: 2026-10-08 18:47+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"
|
||||||
@@ -59,7 +59,7 @@ msgstr "%-d %b %Y"
|
|||||||
msgid "%A, %B %-d, %Y, %H:%M"
|
msgid "%A, %B %-d, %Y, %H:%M"
|
||||||
msgstr "%A, %-d %B %Y, %H:%M"
|
msgstr "%A, %-d %B %Y, %H:%M"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:747
|
#: crates/pdfs-gui/src/app/main.rs:760
|
||||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||||
@@ -72,91 +72,91 @@ msgstr "%A, %-d %B %Y, %H:%M"
|
|||||||
msgid "My files"
|
msgid "My files"
|
||||||
msgstr "Moje pliki"
|
msgstr "Moje pliki"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||||
msgid "Photos"
|
msgid "Photos"
|
||||||
msgstr "Zdjęcia"
|
msgstr "Zdjęcia"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:755
|
#: crates/pdfs-gui/src/app/main.rs:768
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||||
msgid "Shared with me"
|
msgid "Shared with me"
|
||||||
msgstr "Udostępnione mi"
|
msgstr "Udostępnione mi"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:760
|
#: crates/pdfs-gui/src/app/main.rs:773
|
||||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||||
msgid "Shared by me"
|
msgid "Shared by me"
|
||||||
msgstr "Udostępnione przeze mnie"
|
msgstr "Udostępnione przeze mnie"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:763
|
#: crates/pdfs-gui/src/app/main.rs:776
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||||
msgid "Computers"
|
msgid "Computers"
|
||||||
msgstr "Komputery"
|
msgstr "Komputery"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:764
|
#: crates/pdfs-gui/src/app/main.rs:777
|
||||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||||
msgid "Trash"
|
msgid "Trash"
|
||||||
msgstr "Kosz"
|
msgstr "Kosz"
|
||||||
|
|
||||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:766
|
#: crates/pdfs-gui/src/app/main.rs:779
|
||||||
msgid "Sync"
|
msgid "Sync"
|
||||||
msgstr "Synchronizacja"
|
msgstr "Synchronizacja"
|
||||||
|
|
||||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||||
#. from the mount service.
|
#. from the mount service.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
#: crates/pdfs-gui/src/app/main.rs:1096
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "{what}: {detail}"
|
msgid "{what}: {detail}"
|
||||||
msgstr "{what}: {detail}"
|
msgstr "{what}: {detail}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
#: crates/pdfs-gui/src/app/main.rs:1115
|
||||||
msgid "You're offline"
|
msgid "You're offline"
|
||||||
msgstr "Brak połączenia z siecią"
|
msgstr "Brak połączenia z siecią"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
#: crates/pdfs-gui/src/app/main.rs:1116
|
||||||
msgid "That's not there any more"
|
msgid "That's not there any more"
|
||||||
msgstr "Ten element już nie istnieje"
|
msgstr "Ten element już nie istnieje"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
#: crates/pdfs-gui/src/app/main.rs:1117
|
||||||
msgid "You don't have access to that"
|
msgid "You don't have access to that"
|
||||||
msgstr "Brak dostępu do tego elementu"
|
msgstr "Brak dostępu do tego elementu"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
#: crates/pdfs-gui/src/app/main.rs:1118
|
||||||
msgid "Something changed this first"
|
msgid "Something changed this first"
|
||||||
msgstr "Coś zmieniło ten element wcześniej"
|
msgstr "Coś zmieniło ten element wcześniej"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
#: crates/pdfs-gui/src/app/main.rs:1119
|
||||||
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:1147 crates/pdfs-gui/src/app/main.rs:1376
|
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr "Preferencje"
|
msgstr "Preferencje"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
#: crates/pdfs-gui/src/app/main.rs:1161
|
||||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr "Skróty klawiszowe"
|
msgstr "Skróty klawiszowe"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
#: crates/pdfs-gui/src/app/main.rs:1163
|
||||||
msgid "About Proton Drive for Linux"
|
msgid "About Proton Drive for Linux"
|
||||||
msgstr "O programie Proton Drive for Linux"
|
msgstr "O programie Proton Drive for Linux"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
#: crates/pdfs-gui/src/app/main.rs:1168
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr "Menu główne"
|
msgstr "Menu główne"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||||
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:1219
|
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||||
msgid ""
|
msgid ""
|
||||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -168,23 +168,23 @@ 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:1224
|
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr "Kod źródłowy"
|
msgstr "Kod źródłowy"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||||
msgid "Proton Terms of Service"
|
msgid "Proton Terms of Service"
|
||||||
msgstr "Warunki korzystania z usług Proton"
|
msgstr "Warunki korzystania z usług Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||||
msgid "Proton Privacy Policy"
|
msgid "Proton Privacy Policy"
|
||||||
msgstr "Polityka prywatności Proton"
|
msgstr "Polityka prywatności Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
#: crates/pdfs-gui/src/app/main.rs:1250
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr "Zastrzeżenia"
|
msgstr "Zastrzeżenia"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
#: crates/pdfs-gui/src/app/main.rs:1254
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||||
"endorsed by, or supported by Proton AG.\n"
|
"endorsed by, or supported by Proton AG.\n"
|
||||||
@@ -208,7 +208,7 @@ msgstr ""
|
|||||||
"gwarancji. Zachowaj kopię danych, na których utratę nie możesz sobie "
|
"gwarancji. Zachowaj kopię danych, na których utratę nie możesz sobie "
|
||||||
"pozwolić."
|
"pozwolić."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
#: crates/pdfs-gui/src/app/main.rs:1262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
@@ -218,7 +218,7 @@ msgstr ""
|
|||||||
"\">GeoNames</a> udostępnionych na licencji <a href=\"https://"
|
"\">GeoNames</a> udostępnionych na licencji <a href=\"https://"
|
||||||
"creativecommons.org/licenses/by/4.0/\">CC BY 4.0</a>."
|
"creativecommons.org/licenses/by/4.0/\">CC BY 4.0</a>."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
#: crates/pdfs-gui/src/app/main.rs:1270
|
||||||
msgid ""
|
msgid ""
|
||||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
@@ -228,7 +228,7 @@ msgstr ""
|
|||||||
"www.naturalearthdata.com/\">Natural Earth</a>, które należą do domeny "
|
"www.naturalearthdata.com/\">Natural Earth</a>, które należą do domeny "
|
||||||
"publicznej."
|
"publicznej."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
#: crates/pdfs-gui/src/app/main.rs:1278
|
||||||
msgid ""
|
msgid ""
|
||||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||||
@@ -244,15 +244,15 @@ 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:1276
|
#: crates/pdfs-gui/src/app/main.rs:1289
|
||||||
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:1314
|
#: crates/pdfs-gui/src/app/main.rs:1327
|
||||||
msgid "Stop Proton Drive?"
|
msgid "Stop Proton Drive?"
|
||||||
msgstr "Zatrzymać Proton Drive?"
|
msgstr "Zatrzymać Proton Drive?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1315
|
#: crates/pdfs-gui/src/app/main.rs:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
@@ -261,7 +261,7 @@ msgstr ""
|
|||||||
"ponownego połączenia. Proton Drive uruchomi się ponownie przy następnym "
|
"ponownego połączenia. Proton Drive uruchomi się ponownie przy następnym "
|
||||||
"logowaniu."
|
"logowaniu."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
|
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||||
@@ -276,8 +276,9 @@ msgstr ""
|
|||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
#: crates/pdfs-gui/src/app/pages/login.rs:389
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
#: crates/pdfs-gui/src/app/pages/login.rs:503
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:549
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||||
@@ -292,30 +293,30 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Anuluj"
|
msgstr "Anuluj"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||||
msgctxt "verb"
|
msgctxt "verb"
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Zatrzymaj"
|
msgstr "Zatrzymaj"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
#: crates/pdfs-gui/src/app/main.rs:1348
|
||||||
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:1336
|
#: crates/pdfs-gui/src/app/main.rs:1349
|
||||||
msgid "The Proton Drive service did not stop."
|
msgid "The Proton Drive service did not stop."
|
||||||
msgstr "Usługa Proton Drive nie zatrzymała się."
|
msgstr "Usługa Proton Drive nie zatrzymała się."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Ogólne"
|
msgstr "Ogólne"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||||
msgid "Search Drive"
|
msgid "Search Drive"
|
||||||
msgstr "Przeszukaj Drive"
|
msgstr "Przeszukaj Drive"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||||
@@ -324,38 +325,38 @@ msgstr "Przeszukaj Drive"
|
|||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Odśwież"
|
msgstr "Odśwież"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Skróty klawiszowe"
|
msgstr "Skróty klawiszowe"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
msgstr "Pliki"
|
msgstr "Pliki"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||||
msgid "New folder"
|
msgid "New folder"
|
||||||
msgstr "Nowy katalog"
|
msgstr "Nowy katalog"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||||
msgid "Upload files"
|
msgid "Upload files"
|
||||||
msgstr "Wyślij pliki"
|
msgstr "Wyślij pliki"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1385
|
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||||
msgid "Back / forward"
|
msgid "Back / forward"
|
||||||
msgstr "Wstecz/dalej"
|
msgstr "Wstecz/dalej"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||||
msgid "Parent folder"
|
msgid "Parent folder"
|
||||||
msgstr "Katalog nadrzędny"
|
msgstr "Katalog nadrzędny"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
#: crates/pdfs-gui/src/app/main.rs:1400
|
||||||
msgid "Grid / list"
|
msgid "Grid / list"
|
||||||
msgstr "Siatka/lista"
|
msgstr "Siatka/lista"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
||||||
@@ -364,7 +365,7 @@ msgstr "Siatka/lista"
|
|||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Zmień nazwę"
|
msgstr "Zmień nazwę"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||||
@@ -374,73 +375,73 @@ 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:1390
|
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||||
msgid "Clear the selection"
|
msgid "Clear the selection"
|
||||||
msgstr "Wyczyść zaznaczenie"
|
msgstr "Wyczyść zaznaczenie"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1396
|
#: crates/pdfs-gui/src/app/main.rs:1409
|
||||||
msgid "Larger thumbnails"
|
msgid "Larger thumbnails"
|
||||||
msgstr "Większe miniatury"
|
msgstr "Większe miniatury"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||||
msgid "Smaller thumbnails"
|
msgid "Smaller thumbnails"
|
||||||
msgstr "Mniejsze miniatury"
|
msgstr "Mniejsze miniatury"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1398
|
#: crates/pdfs-gui/src/app/main.rs:1411
|
||||||
msgid "Reset thumbnail size"
|
msgid "Reset thumbnail size"
|
||||||
msgstr "Przywróć rozmiar miniatur"
|
msgstr "Przywróć rozmiar miniatur"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1399
|
#: crates/pdfs-gui/src/app/main.rs:1412
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Zaznacz wszystko"
|
msgstr "Zaznacz wszystko"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
#: crates/pdfs-gui/src/app/main.rs:1416
|
||||||
msgid "Photo Viewer"
|
msgid "Photo Viewer"
|
||||||
msgstr "Przeglądarka zdjęć"
|
msgstr "Przeglądarka zdjęć"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
#: crates/pdfs-gui/src/app/main.rs:1418
|
||||||
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:1406
|
#: crates/pdfs-gui/src/app/main.rs:1419
|
||||||
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:1407
|
#: crates/pdfs-gui/src/app/main.rs:1420
|
||||||
msgid "Show details"
|
msgid "Show details"
|
||||||
msgstr "Wyświetl szczegóły"
|
msgstr "Wyświetl szczegóły"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
#: crates/pdfs-gui/src/app/main.rs:1421
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Pełny ekran"
|
msgstr "Pełny ekran"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
#: crates/pdfs-gui/src/app/main.rs:1423
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Zamknij"
|
msgstr "Zamknij"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
#: crates/pdfs-gui/src/app/main.rs:1513
|
||||||
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ę"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
#: crates/pdfs-gui/src/app/main.rs:1673
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||||
msgid "Not connected"
|
msgid "Not connected"
|
||||||
msgstr "Brak połączenia"
|
msgstr "Brak połączenia"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
#: crates/pdfs-gui/src/app/main.rs:1674
|
||||||
msgid "The Proton Drive service isn't running."
|
msgid "The Proton Drive service isn't running."
|
||||||
msgstr "Usługa Proton Drive nie jest uruchomiona."
|
msgstr "Usługa Proton Drive nie jest uruchomiona."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
#: crates/pdfs-gui/src/app/main.rs:1682
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||||
#: crates/pdfs-gui/src/main.rs:453
|
#: crates/pdfs-gui/src/main.rs:453
|
||||||
msgid "Connecting…"
|
msgid "Connecting…"
|
||||||
msgstr "Łączenie…"
|
msgstr "Łączenie…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
#: crates/pdfs-gui/src/app/main.rs:1683
|
||||||
msgid "Waiting for the Proton Drive service to start."
|
msgid "Waiting for the Proton Drive service to start."
|
||||||
msgstr "Oczekiwanie na uruchomienie usługi Proton Drive."
|
msgstr "Oczekiwanie na uruchomienie usługi Proton Drive."
|
||||||
|
|
||||||
@@ -3247,22 +3248,22 @@ msgstr "Logowanie…"
|
|||||||
msgid "Complete the verification to continue…"
|
msgid "Complete the verification to continue…"
|
||||||
msgstr "Proszę ukończyć weryfikację, aby kontynuować…"
|
msgstr "Proszę ukończyć weryfikację, aby kontynuować…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
#: crates/pdfs-gui/src/app/pages/login.rs:195
|
||||||
msgid "login cancelled"
|
msgid "login cancelled"
|
||||||
msgstr "anulowano logowanie"
|
msgstr "anulowano logowanie"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
#: crates/pdfs-gui/src/app/pages/login.rs:228
|
||||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Za dużo prób logowania. Proszę odczekać kilka minut i spróbować ponownie."
|
"Za dużo prób logowania. Proszę odczekać kilka minut i spróbować ponownie."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
#: crates/pdfs-gui/src/app/pages/login.rs:234
|
||||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nie można połączyć się z Proton. Proszę sprawdzić połączenie z Internetem i "
|
"Nie można połączyć się z Proton. Proszę sprawdzić połączenie z Internetem i "
|
||||||
"spróbować ponownie."
|
"spróbować ponownie."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
#: crates/pdfs-gui/src/app/pages/login.rs:237
|
||||||
msgid ""
|
msgid ""
|
||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
@@ -3271,19 +3272,19 @@ msgstr ""
|
|||||||
"upewnić, że baza kluczy (GNOME Keyring lub KWallet) jest uruchomiona i "
|
"upewnić, że baza kluczy (GNOME Keyring lub KWallet) jest uruchomiona i "
|
||||||
"odblokowana."
|
"odblokowana."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
#: crates/pdfs-gui/src/app/pages/login.rs:240
|
||||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||||
msgstr "Anulowano logowanie: nie wpisano kodu uwierzytelniania dwuetapowego."
|
msgstr "Anulowano logowanie: nie wpisano kodu uwierzytelniania dwuetapowego."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
#: crates/pdfs-gui/src/app/pages/login.rs:243
|
||||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||||
msgstr "Anulowano logowanie: nie wpisano hasła skrzynki pocztowej."
|
msgstr "Anulowano logowanie: nie wpisano hasła skrzynki pocztowej."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
#: crates/pdfs-gui/src/app/pages/login.rs:246
|
||||||
msgid "That mailbox password didn't unlock your account."
|
msgid "That mailbox password didn't unlock your account."
|
||||||
msgstr "To hasło skrzynki pocztowej nie odblokowało Twojego konta."
|
msgstr "To hasło skrzynki pocztowej nie odblokowało Twojego konta."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
#: crates/pdfs-gui/src/app/pages/login.rs:249
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||||
"new one."
|
"new one."
|
||||||
@@ -3292,79 +3293,108 @@ msgstr ""
|
|||||||
"ponownie, aby otrzymać nową."
|
"ponownie, aby otrzymać nową."
|
||||||
|
|
||||||
#. Translators: {error} is an error message, usually in English.
|
#. Translators: {error} is an error message, usually in English.
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
#: crates/pdfs-gui/src/app/pages/login.rs:254
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "Sign-in failed: {error}"
|
msgid "Sign-in failed: {error}"
|
||||||
msgstr "Logowanie się nie powiodło: {error}"
|
msgstr "Logowanie się nie powiodło: {error}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||||
msgid "That mailbox password didn't unlock your account. Try again."
|
msgid "That mailbox password didn't unlock your account. Try again."
|
||||||
msgstr "To hasło skrzynki pocztowej nie odblokowało Twojego konta. Spróbuj ponownie."
|
msgstr ""
|
||||||
|
"To hasło skrzynki pocztowej nie odblokowało Twojego konta. Spróbuj ponownie."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
#: crates/pdfs-gui/src/app/pages/login.rs:367
|
||||||
msgid ""
|
msgid ""
|
||||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
msgstr "To konto ma osobne hasło skrzynki pocztowej. Wpisz je, aby odblokować swoje pliki."
|
msgstr ""
|
||||||
|
"To konto ma osobne hasło skrzynki pocztowej. Wpisz je, aby odblokować swoje "
|
||||||
|
"pliki."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
#: crates/pdfs-gui/src/app/pages/login.rs:370
|
||||||
msgid "Mailbox Password"
|
msgid "Mailbox Password"
|
||||||
msgstr "Hasło skrzynki pocztowej"
|
msgstr "Hasło skrzynki pocztowej"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
#: crates/pdfs-gui/src/app/pages/login.rs:376
|
||||||
msgid "Mailbox password"
|
msgid "Mailbox password"
|
||||||
msgstr "Hasło skrzynki pocztowej"
|
msgstr "Hasło skrzynki pocztowej"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
#: crates/pdfs-gui/src/app/pages/login.rs:380
|
||||||
msgid "Keep unlocked on this computer"
|
msgid "Keep unlocked on this computer"
|
||||||
msgstr "Pozostaw odblokowane na tym komputerze"
|
msgstr "Pozostaw odblokowane na tym komputerze"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
#: crates/pdfs-gui/src/app/pages/login.rs:382
|
||||||
msgid ""
|
msgid ""
|
||||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
"asking after every login. Otherwise you enter the password once per session."
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
msgstr "Zapisuje odblokowanie w systemowym breloku kluczy, aby Proton Drive otwierał się bez pytania po każdym logowaniu. W przeciwnym razie wpisujesz hasło raz na sesję."
|
msgstr ""
|
||||||
|
"Zapisuje odblokowanie w systemowym breloku kluczy, aby Proton Drive otwierał "
|
||||||
|
"się bez pytania po każdym logowaniu. W przeciwnym razie wpisujesz hasło raz "
|
||||||
|
"na sesję."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
#: crates/pdfs-gui/src/app/pages/login.rs:390
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
#: crates/pdfs-gui/src/app/pages/login.rs:443
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Odblokuj"
|
msgstr "Odblokuj"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
#: crates/pdfs-gui/src/app/pages/login.rs:442
|
||||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
msgstr "Proton Drive jest zablokowany. Wpisz hasło skrzynki pocztowej, aby go odblokować."
|
msgstr ""
|
||||||
|
"Proton Drive jest zablokowany. Wpisz hasło skrzynki pocztowej, aby go "
|
||||||
|
"odblokować."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
#: crates/pdfs-gui/src/app/pages/login.rs:471
|
||||||
msgid "Unlocked."
|
msgid "Unlocked."
|
||||||
msgstr "Odblokowano."
|
msgstr "Odblokowano."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
#: crates/pdfs-gui/src/app/pages/login.rs:476
|
||||||
msgid "Couldn't unlock"
|
msgid "Couldn't unlock"
|
||||||
msgstr "Nie udało się odblokować"
|
msgstr "Nie udało się odblokować"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
#: crates/pdfs-gui/src/app/pages/login.rs:489
|
||||||
msgid "Two-Factor Authentication"
|
msgid "Two-Factor Authentication"
|
||||||
msgstr "Uwierzytelnianie dwuskładnikowe"
|
msgstr "Uwierzytelnianie dwuskładnikowe"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
#: crates/pdfs-gui/src/app/pages/login.rs:491
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Proszę wpisać kod z aplikacji uwierzytelniającej lub jeden z kodów "
|
"Proszę wpisać kod z aplikacji uwierzytelniającej lub jeden z kodów "
|
||||||
"odzyskiwania."
|
"odzyskiwania."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
#: crates/pdfs-gui/src/app/pages/login.rs:497
|
||||||
msgid "Authentication code"
|
msgid "Authentication code"
|
||||||
msgstr "Kod uwierzytelniania"
|
msgstr "Kod uwierzytelniania"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
#: crates/pdfs-gui/src/app/pages/login.rs:504
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Potwierdź"
|
msgstr "Potwierdź"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
#: crates/pdfs-gui/src/app/pages/login.rs:535
|
||||||
|
#
|
||||||
|
msgid "Verify in Your Browser"
|
||||||
|
msgstr "Weryfikacja w przeglądarce"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:537
|
||||||
|
msgid ""
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in "
|
||||||
|
"your browser, complete it there, then come back and choose Continue."
|
||||||
|
msgstr "Na tym systemie strony weryfikacji nie można wyświetlić w aplikacji. Proszę otworzyć ją w przeglądarce, ukończyć tam weryfikację, a następnie wrócić i wybrać „Kontynuuj”."
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:543
|
||||||
|
#
|
||||||
|
msgid "Open Verification Page"
|
||||||
|
msgstr "Otwórz stronę weryfikacji"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:550
|
||||||
|
#
|
||||||
|
msgid "Continue"
|
||||||
|
msgstr "Kontynuuj"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:589
|
||||||
msgid "Sign Out?"
|
msgid "Sign Out?"
|
||||||
msgstr "Wylogować się?"
|
msgstr "Wylogować się?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
#: crates/pdfs-gui/src/app/pages/login.rs:591
|
||||||
msgid ""
|
msgid ""
|
||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
@@ -3372,7 +3402,7 @@ msgstr ""
|
|||||||
"Proton Drive rozłączy się i przestanie synchronizować do czasu ponownego "
|
"Proton Drive rozłączy się i przestanie synchronizować do czasu ponownego "
|
||||||
"zalogowania. Pliki znajdujące się już na tym komputerze pozostaną na miejscu."
|
"zalogowania. Pliki znajdujące się już na tym komputerze pozostaną na miejscu."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
#: crates/pdfs-gui/src/app/pages/login.rs:593
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "Wyloguj się"
|
msgstr "Wyloguj się"
|
||||||
|
|
||||||
@@ -5373,7 +5403,7 @@ msgstr "Opróżniono kosz"
|
|||||||
msgid "Couldn't empty the trash"
|
msgid "Couldn't empty the trash"
|
||||||
msgstr "Nie można opróżnić kosza"
|
msgstr "Nie można opróżnić kosza"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/verify.rs:57
|
#: crates/pdfs-gui/src/app/pages/verify.rs:162
|
||||||
msgid "Verification"
|
msgid "Verification"
|
||||||
msgstr "Weryfikacja"
|
msgstr "Weryfikacja"
|
||||||
|
|
||||||
@@ -6182,6 +6212,15 @@ msgstr "{count} r."
|
|||||||
msgid "cannot reach the Proton Drive daemon: {error}"
|
msgid "cannot reach the Proton Drive daemon: {error}"
|
||||||
msgstr "nie można połączyć się z usługą Proton Drive: {error}"
|
msgstr "nie można połączyć się z usługą Proton Drive: {error}"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The verification page couldn't be opened, so the sign-in was cancelled. "
|
||||||
|
#~ "Your system may keep the web view's sandbox from starting; the "
|
||||||
|
#~ "troubleshooting guide explains what to do."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Nie można otworzyć strony weryfikacji, więc logowanie zostało anulowane. "
|
||||||
|
#~ "System może blokować uruchomienie piaskownicy widoku internetowego; "
|
||||||
|
#~ "poradnik rozwiązywania problemów wyjaśnia, co zrobić."
|
||||||
|
|
||||||
#~ msgid "Jump to a month"
|
#~ msgid "Jump to a month"
|
||||||
#~ msgstr "Przejdź do miesiąca"
|
#~ msgstr "Przejdź do miesiąca"
|
||||||
|
|
||||||
|
|||||||
+136
-97
@@ -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-10-07 02:39+0200\n"
|
"POT-Creation-Date: 2026-10-08 18:47+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"
|
||||||
@@ -57,7 +57,7 @@ msgstr "%-d de %b de %Y"
|
|||||||
msgid "%A, %B %-d, %Y, %H:%M"
|
msgid "%A, %B %-d, %Y, %H:%M"
|
||||||
msgstr "%A, %-d de %B de %Y, %H:%M"
|
msgstr "%A, %-d de %B de %Y, %H:%M"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:747
|
#: crates/pdfs-gui/src/app/main.rs:760
|
||||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||||
@@ -70,91 +70,91 @@ msgstr "%A, %-d de %B de %Y, %H:%M"
|
|||||||
msgid "My files"
|
msgid "My files"
|
||||||
msgstr "Meus arquivos"
|
msgstr "Meus arquivos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
#: crates/pdfs-gui/src/app/main.rs:763 crates/pdfs-gui/src/app/main.rs:1407
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||||
msgid "Photos"
|
msgid "Photos"
|
||||||
msgstr "Fotos"
|
msgstr "Fotos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:755
|
#: crates/pdfs-gui/src/app/main.rs:768
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||||
msgid "Shared with me"
|
msgid "Shared with me"
|
||||||
msgstr "Compartilhados comigo"
|
msgstr "Compartilhados comigo"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:760
|
#: crates/pdfs-gui/src/app/main.rs:773
|
||||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||||
msgid "Shared by me"
|
msgid "Shared by me"
|
||||||
msgstr "Compartilhados por mim"
|
msgstr "Compartilhados por mim"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:763
|
#: crates/pdfs-gui/src/app/main.rs:776
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||||
msgid "Computers"
|
msgid "Computers"
|
||||||
msgstr "Computadores"
|
msgstr "Computadores"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:764
|
#: crates/pdfs-gui/src/app/main.rs:777
|
||||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||||
msgid "Trash"
|
msgid "Trash"
|
||||||
msgstr "Lixeira"
|
msgstr "Lixeira"
|
||||||
|
|
||||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:766
|
#: crates/pdfs-gui/src/app/main.rs:779
|
||||||
msgid "Sync"
|
msgid "Sync"
|
||||||
msgstr "Sincronização"
|
msgstr "Sincronização"
|
||||||
|
|
||||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||||
#. from the mount service.
|
#. from the mount service.
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
#: crates/pdfs-gui/src/app/main.rs:1096
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "{what}: {detail}"
|
msgid "{what}: {detail}"
|
||||||
msgstr "{what}: {detail}"
|
msgstr "{what}: {detail}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
#: crates/pdfs-gui/src/app/main.rs:1115
|
||||||
msgid "You're offline"
|
msgid "You're offline"
|
||||||
msgstr "Você está offline"
|
msgstr "Você está offline"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
#: crates/pdfs-gui/src/app/main.rs:1116
|
||||||
msgid "That's not there any more"
|
msgid "That's not there any more"
|
||||||
msgstr "Isso não existe mais"
|
msgstr "Isso não existe mais"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
#: crates/pdfs-gui/src/app/main.rs:1117
|
||||||
msgid "You don't have access to that"
|
msgid "You don't have access to that"
|
||||||
msgstr "Você não tem acesso a isso"
|
msgstr "Você não tem acesso a isso"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
#: crates/pdfs-gui/src/app/main.rs:1118
|
||||||
msgid "Something changed this first"
|
msgid "Something changed this first"
|
||||||
msgstr "Algo alterou isso antes"
|
msgstr "Algo alterou isso antes"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
#: crates/pdfs-gui/src/app/main.rs:1119
|
||||||
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:1147 crates/pdfs-gui/src/app/main.rs:1376
|
#: crates/pdfs-gui/src/app/main.rs:1160 crates/pdfs-gui/src/app/main.rs:1389
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr "Preferências"
|
msgstr "Preferências"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
#: crates/pdfs-gui/src/app/main.rs:1161
|
||||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||||
msgid "Keyboard Shortcuts"
|
msgid "Keyboard Shortcuts"
|
||||||
msgstr "Atalhos de teclado"
|
msgstr "Atalhos de teclado"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
#: crates/pdfs-gui/src/app/main.rs:1163
|
||||||
msgid "About Proton Drive for Linux"
|
msgid "About Proton Drive for Linux"
|
||||||
msgstr "Sobre o Proton Drive for Linux"
|
msgstr "Sobre o Proton Drive for Linux"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
#: crates/pdfs-gui/src/app/main.rs:1168
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr "Menu principal"
|
msgstr "Menu principal"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||||
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:1219
|
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||||
msgid ""
|
msgid ""
|
||||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -165,23 +165,23 @@ 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:1224
|
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||||
msgid "Source Code"
|
msgid "Source Code"
|
||||||
msgstr "Código-fonte"
|
msgstr "Código-fonte"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||||
msgid "Proton Terms of Service"
|
msgid "Proton Terms of Service"
|
||||||
msgstr "Termos de Serviço da Proton"
|
msgstr "Termos de Serviço da Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||||
msgid "Proton Privacy Policy"
|
msgid "Proton Privacy Policy"
|
||||||
msgstr "Política de Privacidade da Proton"
|
msgstr "Política de Privacidade da Proton"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
#: crates/pdfs-gui/src/app/main.rs:1250
|
||||||
msgid "Disclaimer"
|
msgid "Disclaimer"
|
||||||
msgstr "Aviso legal"
|
msgstr "Aviso legal"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
#: crates/pdfs-gui/src/app/main.rs:1254
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||||
"endorsed by, or supported by Proton AG.\n"
|
"endorsed by, or supported by Proton AG.\n"
|
||||||
@@ -204,7 +204,7 @@ msgstr ""
|
|||||||
"Este software é fornecido “no estado em que se encontra”, sem garantia de "
|
"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."
|
"qualquer tipo. Mantenha uma cópia de todos os dados que você não pode perder."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
#: crates/pdfs-gui/src/app/main.rs:1262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||||
@@ -214,7 +214,7 @@ msgstr ""
|
|||||||
"\">GeoNames</a>, licenciados sob <a href=\"https://creativecommons.org/"
|
"\">GeoNames</a>, licenciados sob <a href=\"https://creativecommons.org/"
|
||||||
"licenses/by/4.0/\">CC BY 4.0</a>."
|
"licenses/by/4.0/\">CC BY 4.0</a>."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
#: crates/pdfs-gui/src/app/main.rs:1270
|
||||||
msgid ""
|
msgid ""
|
||||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||||
@@ -224,7 +224,7 @@ msgstr ""
|
|||||||
"fronteiras de países do <a href=\"https://www.naturalearthdata.com/"
|
"fronteiras de países do <a href=\"https://www.naturalearthdata.com/"
|
||||||
"\">Natural Earth</a>, que são de domínio público."
|
"\">Natural Earth</a>, que são de domínio público."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
#: crates/pdfs-gui/src/app/main.rs:1278
|
||||||
msgid ""
|
msgid ""
|
||||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||||
@@ -240,15 +240,15 @@ 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:1276
|
#: crates/pdfs-gui/src/app/main.rs:1289
|
||||||
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:1314
|
#: crates/pdfs-gui/src/app/main.rs:1327
|
||||||
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:1315
|
#: crates/pdfs-gui/src/app/main.rs:1328
|
||||||
msgid ""
|
msgid ""
|
||||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||||
"Drive starts again at your next login."
|
"Drive starts again at your next login."
|
||||||
@@ -256,7 +256,7 @@ msgstr ""
|
|||||||
"Meus arquivos fica offline e nada é sincronizado até você se conectar "
|
"Meus arquivos fica offline e nada é sincronizado até você se conectar "
|
||||||
"novamente. O Proton Drive será iniciado de novo no seu próximo login."
|
"novamente. O Proton Drive será iniciado de novo no seu próximo login."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
|
#: crates/pdfs-gui/src/app/main.rs:1330 crates/pdfs-gui/src/app/main.rs:1605
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||||
@@ -271,8 +271,9 @@ msgstr ""
|
|||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
#: crates/pdfs-gui/src/app/pages/login.rs:389
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
#: crates/pdfs-gui/src/app/pages/login.rs:503
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:549
|
||||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||||
@@ -287,30 +288,30 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||||
msgctxt "verb"
|
msgctxt "verb"
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Parar"
|
msgstr "Parar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
#: crates/pdfs-gui/src/app/main.rs:1348
|
||||||
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:1336
|
#: crates/pdfs-gui/src/app/main.rs:1349
|
||||||
msgid "The Proton Drive service did not stop."
|
msgid "The Proton Drive service did not stop."
|
||||||
msgstr "O serviço do Proton Drive não parou."
|
msgstr "O serviço do Proton Drive não parou."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Geral"
|
msgstr "Geral"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||||
msgid "Search Drive"
|
msgid "Search Drive"
|
||||||
msgstr "Pesquisar no Drive"
|
msgstr "Pesquisar no Drive"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||||
@@ -319,38 +320,38 @@ msgstr "Pesquisar no Drive"
|
|||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Atualizar"
|
msgstr "Atualizar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||||
msgid "Keyboard shortcuts"
|
msgid "Keyboard shortcuts"
|
||||||
msgstr "Atalhos de teclado"
|
msgstr "Atalhos de teclado"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
msgstr "Arquivos"
|
msgstr "Arquivos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||||
msgid "New folder"
|
msgid "New folder"
|
||||||
msgstr "Nova pasta"
|
msgstr "Nova pasta"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||||
msgid "Upload files"
|
msgid "Upload files"
|
||||||
msgstr "Enviar arquivos"
|
msgstr "Enviar arquivos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1385
|
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||||
msgid "Back / forward"
|
msgid "Back / forward"
|
||||||
msgstr "Voltar / avançar"
|
msgstr "Voltar / avançar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||||
msgid "Parent folder"
|
msgid "Parent folder"
|
||||||
msgstr "Pasta superior"
|
msgstr "Pasta superior"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
#: crates/pdfs-gui/src/app/main.rs:1400
|
||||||
msgid "Grid / list"
|
msgid "Grid / list"
|
||||||
msgstr "Grade / lista"
|
msgstr "Grade / lista"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
#: crates/pdfs-gui/src/app/pages/albums.rs:298
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
|
||||||
@@ -359,7 +360,7 @@ msgstr "Grade / lista"
|
|||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr "Renomear"
|
msgstr "Renomear"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
#: crates/pdfs-gui/src/app/main.rs:1402 crates/pdfs-gui/src/app/main.rs:1422
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||||
@@ -369,73 +370,73 @@ 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:1390
|
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||||
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:1396
|
#: crates/pdfs-gui/src/app/main.rs:1409
|
||||||
msgid "Larger thumbnails"
|
msgid "Larger thumbnails"
|
||||||
msgstr "Miniaturas maiores"
|
msgstr "Miniaturas maiores"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||||
msgid "Smaller thumbnails"
|
msgid "Smaller thumbnails"
|
||||||
msgstr "Miniaturas menores"
|
msgstr "Miniaturas menores"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1398
|
#: crates/pdfs-gui/src/app/main.rs:1411
|
||||||
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:1399
|
#: crates/pdfs-gui/src/app/main.rs:1412
|
||||||
msgid "Select all"
|
msgid "Select all"
|
||||||
msgstr "Selecionar tudo"
|
msgstr "Selecionar tudo"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
#: crates/pdfs-gui/src/app/main.rs:1416
|
||||||
msgid "Photo Viewer"
|
msgid "Photo Viewer"
|
||||||
msgstr "Visualizador de fotos"
|
msgstr "Visualizador de fotos"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
#: crates/pdfs-gui/src/app/main.rs:1418
|
||||||
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:1406
|
#: crates/pdfs-gui/src/app/main.rs:1419
|
||||||
msgid "First / last photo"
|
msgid "First / last photo"
|
||||||
msgstr "Primeira / última foto"
|
msgstr "Primeira / última foto"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1407
|
#: crates/pdfs-gui/src/app/main.rs:1420
|
||||||
msgid "Show details"
|
msgid "Show details"
|
||||||
msgstr "Mostrar detalhes"
|
msgstr "Mostrar detalhes"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
#: crates/pdfs-gui/src/app/main.rs:1421
|
||||||
msgid "Fullscreen"
|
msgid "Fullscreen"
|
||||||
msgstr "Tela cheia"
|
msgstr "Tela cheia"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
#: crates/pdfs-gui/src/app/main.rs:1423
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Fechar"
|
msgstr "Fechar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
#: crates/pdfs-gui/src/app/main.rs:1513
|
||||||
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"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
#: crates/pdfs-gui/src/app/main.rs:1673
|
||||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||||
msgid "Not connected"
|
msgid "Not connected"
|
||||||
msgstr "Não conectado"
|
msgstr "Não conectado"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
#: crates/pdfs-gui/src/app/main.rs:1674
|
||||||
msgid "The Proton Drive service isn't running."
|
msgid "The Proton Drive service isn't running."
|
||||||
msgstr "O serviço do Proton Drive não está em execução."
|
msgstr "O serviço do Proton Drive não está em execução."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
#: crates/pdfs-gui/src/app/main.rs:1682
|
||||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||||
#: crates/pdfs-gui/src/main.rs:453
|
#: crates/pdfs-gui/src/main.rs:453
|
||||||
msgid "Connecting…"
|
msgid "Connecting…"
|
||||||
msgstr "Conectando…"
|
msgstr "Conectando…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
#: crates/pdfs-gui/src/app/main.rs:1683
|
||||||
msgid "Waiting for the Proton Drive service to start."
|
msgid "Waiting for the Proton Drive service to start."
|
||||||
msgstr "Aguardando o serviço do Proton Drive iniciar."
|
msgstr "Aguardando o serviço do Proton Drive iniciar."
|
||||||
|
|
||||||
@@ -3182,21 +3183,21 @@ msgstr "Entrando…"
|
|||||||
msgid "Complete the verification to continue…"
|
msgid "Complete the verification to continue…"
|
||||||
msgstr "Conclua a verificação para continuar…"
|
msgstr "Conclua a verificação para continuar…"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
#: crates/pdfs-gui/src/app/pages/login.rs:195
|
||||||
msgid "login cancelled"
|
msgid "login cancelled"
|
||||||
msgstr "login cancelado"
|
msgstr "login cancelado"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
#: crates/pdfs-gui/src/app/pages/login.rs:228
|
||||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||||
msgstr "Muitas tentativas de entrar. Aguarde alguns minutos e tente novamente."
|
msgstr "Muitas tentativas de entrar. Aguarde alguns minutos e tente novamente."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
#: crates/pdfs-gui/src/app/pages/login.rs:234
|
||||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Não foi possível acessar o Proton. Verifique sua conexão com a internet e "
|
"Não foi possível acessar o Proton. Verifique sua conexão com a internet e "
|
||||||
"tente novamente."
|
"tente novamente."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
#: crates/pdfs-gui/src/app/pages/login.rs:237
|
||||||
msgid ""
|
msgid ""
|
||||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||||
@@ -3205,19 +3206,19 @@ msgstr ""
|
|||||||
"Certifique-se de que um chaveiro (GNOME Keyring ou KWallet) esteja em "
|
"Certifique-se de que um chaveiro (GNOME Keyring ou KWallet) esteja em "
|
||||||
"execução e desbloqueado."
|
"execução e desbloqueado."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
#: crates/pdfs-gui/src/app/pages/login.rs:240
|
||||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||||
msgstr "Entrada cancelada: nenhum código de dois fatores foi digitado."
|
msgstr "Entrada cancelada: nenhum código de dois fatores foi digitado."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
#: crates/pdfs-gui/src/app/pages/login.rs:243
|
||||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||||
msgstr "Entrada cancelada: nenhuma senha da caixa de correio foi digitada."
|
msgstr "Entrada cancelada: nenhuma senha da caixa de correio foi digitada."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
#: crates/pdfs-gui/src/app/pages/login.rs:246
|
||||||
msgid "That mailbox password didn't unlock your account."
|
msgid "That mailbox password didn't unlock your account."
|
||||||
msgstr "Essa senha da caixa de correio não desbloqueou sua conta."
|
msgstr "Essa senha da caixa de correio não desbloqueou sua conta."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
#: crates/pdfs-gui/src/app/pages/login.rs:249
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||||
"new one."
|
"new one."
|
||||||
@@ -3226,79 +3227,108 @@ msgstr ""
|
|||||||
"receber uma nova."
|
"receber uma nova."
|
||||||
|
|
||||||
#. Translators: {error} is an error message, usually in English.
|
#. Translators: {error} is an error message, usually in English.
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
#: crates/pdfs-gui/src/app/pages/login.rs:254
|
||||||
#, rust-format
|
#, rust-format
|
||||||
msgid "Sign-in failed: {error}"
|
msgid "Sign-in failed: {error}"
|
||||||
msgstr "Falha ao entrar: {error}"
|
msgstr "Falha ao entrar: {error}"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||||
msgid "That mailbox password didn't unlock your account. Try again."
|
msgid "That mailbox password didn't unlock your account. Try again."
|
||||||
msgstr "Essa senha da caixa de correio não desbloqueou sua conta. Tente novamente."
|
msgstr ""
|
||||||
|
"Essa senha da caixa de correio não desbloqueou sua conta. Tente novamente."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
#: crates/pdfs-gui/src/app/pages/login.rs:367
|
||||||
msgid ""
|
msgid ""
|
||||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||||
msgstr "Esta conta tem uma senha da caixa de correio separada. Digite-a para desbloquear seus arquivos."
|
msgstr ""
|
||||||
|
"Esta conta tem uma senha da caixa de correio separada. Digite-a para "
|
||||||
|
"desbloquear seus arquivos."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
#: crates/pdfs-gui/src/app/pages/login.rs:370
|
||||||
msgid "Mailbox Password"
|
msgid "Mailbox Password"
|
||||||
msgstr "Senha da caixa de correio"
|
msgstr "Senha da caixa de correio"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
#: crates/pdfs-gui/src/app/pages/login.rs:376
|
||||||
msgid "Mailbox password"
|
msgid "Mailbox password"
|
||||||
msgstr "Senha da caixa de correio"
|
msgstr "Senha da caixa de correio"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
#: crates/pdfs-gui/src/app/pages/login.rs:380
|
||||||
msgid "Keep unlocked on this computer"
|
msgid "Keep unlocked on this computer"
|
||||||
msgstr "Manter desbloqueado neste computador"
|
msgstr "Manter desbloqueado neste computador"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
#: crates/pdfs-gui/src/app/pages/login.rs:382
|
||||||
msgid ""
|
msgid ""
|
||||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||||
"asking after every login. Otherwise you enter the password once per session."
|
"asking after every login. Otherwise you enter the password once per session."
|
||||||
msgstr "Guarda o desbloqueio no chaveiro do sistema, para que o Proton Drive abra sem perguntar após cada login. Caso contrário, você digita a senha uma vez por sessão."
|
msgstr ""
|
||||||
|
"Guarda o desbloqueio no chaveiro do sistema, para que o Proton Drive abra "
|
||||||
|
"sem perguntar após cada login. Caso contrário, você digita a senha uma vez "
|
||||||
|
"por sessão."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
#: crates/pdfs-gui/src/app/pages/login.rs:390
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
#: crates/pdfs-gui/src/app/pages/login.rs:443
|
||||||
msgid "Unlock"
|
msgid "Unlock"
|
||||||
msgstr "Desbloquear"
|
msgstr "Desbloquear"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
#: crates/pdfs-gui/src/app/pages/login.rs:442
|
||||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||||
msgstr "O Proton Drive está bloqueado. Digite a senha da caixa de correio para desbloqueá-lo."
|
msgstr ""
|
||||||
|
"O Proton Drive está bloqueado. Digite a senha da caixa de correio para "
|
||||||
|
"desbloqueá-lo."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
#: crates/pdfs-gui/src/app/pages/login.rs:471
|
||||||
msgid "Unlocked."
|
msgid "Unlocked."
|
||||||
msgstr "Desbloqueado."
|
msgstr "Desbloqueado."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
#: crates/pdfs-gui/src/app/pages/login.rs:476
|
||||||
msgid "Couldn't unlock"
|
msgid "Couldn't unlock"
|
||||||
msgstr "Não foi possível desbloquear"
|
msgstr "Não foi possível desbloquear"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
#: crates/pdfs-gui/src/app/pages/login.rs:489
|
||||||
msgid "Two-Factor Authentication"
|
msgid "Two-Factor Authentication"
|
||||||
msgstr "Autenticação de dois fatores"
|
msgstr "Autenticação de dois fatores"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
#: crates/pdfs-gui/src/app/pages/login.rs:491
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Digite o código do seu aplicativo autenticador ou um dos seus códigos de "
|
"Digite o código do seu aplicativo autenticador ou um dos seus códigos de "
|
||||||
"recuperação."
|
"recuperação."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
#: crates/pdfs-gui/src/app/pages/login.rs:497
|
||||||
msgid "Authentication code"
|
msgid "Authentication code"
|
||||||
msgstr "Código de autenticação"
|
msgstr "Código de autenticação"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
#: crates/pdfs-gui/src/app/pages/login.rs:504
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirmar"
|
msgstr "Confirmar"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
#: crates/pdfs-gui/src/app/pages/login.rs:535
|
||||||
|
#
|
||||||
|
msgid "Verify in Your Browser"
|
||||||
|
msgstr "Verificar no navegador"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:537
|
||||||
|
msgid ""
|
||||||
|
"The verification page can't be shown in the app on this system. Open it in "
|
||||||
|
"your browser, complete it there, then come back and choose Continue."
|
||||||
|
msgstr "A página de verificação não pode ser exibida no app neste sistema. Abra-a no navegador, conclua-a lá e depois volte e escolha “Continuar”."
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:543
|
||||||
|
#
|
||||||
|
msgid "Open Verification Page"
|
||||||
|
msgstr "Abrir página de verificação"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:550
|
||||||
|
#
|
||||||
|
msgid "Continue"
|
||||||
|
msgstr "Continuar"
|
||||||
|
|
||||||
|
#: crates/pdfs-gui/src/app/pages/login.rs:589
|
||||||
msgid "Sign Out?"
|
msgid "Sign Out?"
|
||||||
msgstr "Sair?"
|
msgstr "Sair?"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
#: crates/pdfs-gui/src/app/pages/login.rs:591
|
||||||
msgid ""
|
msgid ""
|
||||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||||
"already on this computer stay where they are."
|
"already on this computer stay where they are."
|
||||||
@@ -3306,7 +3336,7 @@ msgstr ""
|
|||||||
"O Proton Drive será desconectado e deixará de sincronizar até você entrar "
|
"O Proton Drive será desconectado e deixará de sincronizar até você entrar "
|
||||||
"novamente. Os arquivos que já estão neste computador permanecem onde estão."
|
"novamente. Os arquivos que já estão neste computador permanecem onde estão."
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
#: crates/pdfs-gui/src/app/pages/login.rs:593
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "Sair"
|
msgstr "Sair"
|
||||||
|
|
||||||
@@ -5276,7 +5306,7 @@ msgstr "Lixeira esvaziada"
|
|||||||
msgid "Couldn't empty the trash"
|
msgid "Couldn't empty the trash"
|
||||||
msgstr "Não foi possível esvaziar a lixeira"
|
msgstr "Não foi possível esvaziar a lixeira"
|
||||||
|
|
||||||
#: crates/pdfs-gui/src/app/pages/verify.rs:57
|
#: crates/pdfs-gui/src/app/pages/verify.rs:162
|
||||||
msgid "Verification"
|
msgid "Verification"
|
||||||
msgstr "Verificação"
|
msgstr "Verificação"
|
||||||
|
|
||||||
@@ -6074,6 +6104,15 @@ msgstr "{count} a"
|
|||||||
msgid "cannot reach the Proton Drive daemon: {error}"
|
msgid "cannot reach the Proton Drive daemon: {error}"
|
||||||
msgstr "não foi possível acessar o daemon do Proton Drive: {error}"
|
msgstr "não foi possível acessar o daemon do Proton Drive: {error}"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The verification page couldn't be opened, so the sign-in was cancelled. "
|
||||||
|
#~ "Your system may keep the web view's sandbox from starting; the "
|
||||||
|
#~ "troubleshooting guide explains what to do."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Não foi possível abrir a página de verificação, então a entrada foi "
|
||||||
|
#~ "cancelada. Seu sistema pode estar impedindo que a sandbox da visualização "
|
||||||
|
#~ "web inicie; o guia de solução de problemas explica o que fazer."
|
||||||
|
|
||||||
#~ msgid "Jump to a month"
|
#~ msgid "Jump to a month"
|
||||||
#~ msgstr "Ir para um mês"
|
#~ msgstr "Ir para um mês"
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user