Compare commits
109 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ef628aa498 | |||
| 011bd9602d | |||
| b0745cfd82 | |||
| d1b1d9f507 | |||
| 742d545f1c | |||
| 67dec4df22 | |||
| 33f3bbb774 | |||
| 7c1df80695 | |||
| 2adbb6f74c | |||
| 79c05e8381 | |||
| 31a1591043 | |||
| 0ede2ab3ab | |||
| 43656d8e46 | |||
| b7cc2369a7 | |||
| 05a98175bf | |||
| 346a67fe1c | |||
| a22f5f2336 | |||
| 55439990c6 | |||
| 3b0f28d061 | |||
| ac3acfb4ac | |||
| d5256e9ffc | |||
| 13be46445c | |||
| c67b702425 | |||
| e01539ef16 | |||
| de4380fd34 | |||
| 5651e11ba1 | |||
| 5815602309 | |||
| a0a69dfb22 | |||
| d98132db80 | |||
| 25fe2ad802 | |||
| 48fab8ad2c | |||
| a7d8d49faf | |||
| 388acd6738 | |||
| d3c035aa39 | |||
| 12a8d00f8e | |||
| b9ea06a01a | |||
| 1e67b3c13c | |||
| 5a5c8bdac8 | |||
| 44f9d36df1 | |||
| 7d349c2de6 | |||
| 79715ec7c7 | |||
| f4d7dfb261 | |||
| c525410062 | |||
| af5b0b961b | |||
| 2f7a5cbf56 | |||
| 1506802c20 | |||
| 897ea8e11e | |||
| 858806149a | |||
| 0da9572627 | |||
| 94cc260803 | |||
| 7198b06a33 | |||
| 81006e1db8 | |||
| 0f7094a70e | |||
| a0b661fffe | |||
| 4bef91f08b | |||
| 20c17be124 | |||
| ae3344f318 | |||
| 9187e4dde9 | |||
| 89c185f819 | |||
| 09b9a37720 | |||
| 12a8bfcf2d | |||
| b2be00b125 | |||
| 914d394bd0 | |||
| 811db1be0e | |||
| cd81f042b9 | |||
| c6111fcd28 | |||
| 82ebdc023c | |||
| 7b110179a9 | |||
| afd66ce7cb | |||
| 9dac97045b | |||
| 188d4ac063 | |||
| 0fbefe2cdc | |||
| eedd5fe4e9 | |||
| 27a1a56223 | |||
| 8e3322776a | |||
| 3d4336c548 | |||
| 0c8c607aa4 | |||
| 60d6734fe2 | |||
| 8c372aa6fc | |||
| d1a74ca8e6 | |||
| c374e0af4c | |||
| 58e8569048 | |||
| 83dbf2a945 | |||
| d7d6d5f644 | |||
| 9aa9885a89 | |||
| 7fe1e083e0 | |||
| a946823554 | |||
| 3a1872c03e | |||
| 5424f9110f | |||
| a597816617 | |||
| fa7a44f6bb | |||
| dfcdcc1833 | |||
| 6345a57498 | |||
| 87457c0ed1 | |||
| 859a1fd528 | |||
| 5069aab584 | |||
| 033fde38fe | |||
| 7b2bab0f9d | |||
| a419ef5319 | |||
| f77dce9f12 | |||
| 4c2cd92f0d | |||
| dd932e1f15 | |||
| 4376810d96 | |||
| c961f4751b | |||
| 9e5ec0c9df | |||
| 112c034e27 | |||
| 664a3ddeea | |||
| 2ffd357d95 | |||
| 2bc4a13964 |
@@ -63,7 +63,7 @@ commands:
|
|||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
steps:
|
steps:
|
||||||
- run: cargo clippy <<^parameters.no_feature>>--no-default-features --features="${FEATURES}"<</parameters.no_feature>> --release -p <<parameters.package>> -- -D warnings
|
- run: cargo clippy <<^parameters.no_feature>>--no-default-features --features="${FEATURES}"<</parameters.no_feature>> --release -p <<parameters.package>> -- -D warnings -A clippy::needless_borrow
|
||||||
|
|
||||||
run_with_coverage:
|
run_with_coverage:
|
||||||
description: run command with environment for coverage
|
description: run command with environment for coverage
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ RUN apt update &&\
|
|||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
#install and configure rust
|
#install and configure rust
|
||||||
RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly-2021-01-15 -y &&\
|
RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly-2021-11-27 -y &&\
|
||||||
rustup component add rustfmt clippy &&\
|
rustup component add rustfmt clippy &&\
|
||||||
rustup component add rust-std --target wasm32-unknown-unknown
|
rustup component add rust-std --target wasm32-unknown-unknown
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ DATABASE_URL=postgres://plume:plume@localhost/plume
|
|||||||
BASE_URL=plu.me
|
BASE_URL=plu.me
|
||||||
|
|
||||||
# Log level for each crate
|
# Log level for each crate
|
||||||
RUST_LOG=warn,html5ever=warn,hyper=warn,tantivy=warn
|
RUST_LOG=info
|
||||||
|
|
||||||
# The secret key for private cookies and CSRF protection
|
# The secret key for private cookies and CSRF protection
|
||||||
# You can generate one with `openssl rand -base64 32`
|
# You can generate one with `openssl rand -base64 32`
|
||||||
|
|||||||
+15
-2
@@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
## [Unreleased] - ReleaseDate
|
## [Unreleased] - ReleaseDate
|
||||||
|
|
||||||
|
## [[0.7.0]] - 2022-01-02
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Allow `dir` attributes for LtoR text in RtoL document (#860)
|
- Allow `dir` attributes for LtoR text in RtoL document (#860)
|
||||||
@@ -11,14 +13,18 @@
|
|||||||
- Proxy support (#829)
|
- Proxy support (#829)
|
||||||
- Riker a actor system library (#870)
|
- Riker a actor system library (#870)
|
||||||
- (request-target) and Host header in HTTP Signature (#872)
|
- (request-target) and Host header in HTTP Signature (#872)
|
||||||
|
- Default log levels for RUST_LOG (#885, #886, #919)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Upgrade some dependent crates (#858)
|
- Upgrade some dependent crates (#858)
|
||||||
- Use tracing crate (#868)
|
- Use tracing crate (#868)
|
||||||
- Update Rust version to nightly-2021-01-15 (#878)
|
- Update Rust version to nightly-2021-11-27 (#961)
|
||||||
- Upgrade Tantivy to 0.13.3 and lindera-tantivy to 0.7.1 (#878)
|
- Upgrade Tantivy to 0.13.3 and lindera-tantivy to 0.7.1 (#878)
|
||||||
- Run searcher on actor system (#870)
|
- Run searcher on actor system (#870)
|
||||||
|
- Extract a function to calculate posts' ap_url and share it with some places (#918)
|
||||||
|
- Use article title as its slug instead of capitalizing and inserting hyphens (#920)
|
||||||
|
- Sign GET requests to other instances (#957)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
@@ -26,6 +32,12 @@
|
|||||||
- Menu animation not opening on iOS (#876, #897)
|
- Menu animation not opening on iOS (#876, #897)
|
||||||
- Make actors subscribe to channel once (#913)
|
- Make actors subscribe to channel once (#913)
|
||||||
- Upsert posts and media instead of trying to insert and fail (#912)
|
- Upsert posts and media instead of trying to insert and fail (#912)
|
||||||
|
- Update post's ActivityPub id when published by update (#915)
|
||||||
|
- Calculate media URI properly even when MEDIA_UPLOAD_DIRECTORY configured (#916)
|
||||||
|
- Prevent duplicated posts in 'all' timeline (#917)
|
||||||
|
- Draw side line for blockquote on start (#933)
|
||||||
|
- Fix URIs of posts on Mastodon (#947)
|
||||||
|
- Place edit link proper position (#956, #963, #964)
|
||||||
|
|
||||||
## [[0.6.0]] - 2020-12-29
|
## [[0.6.0]] - 2020-12-29
|
||||||
|
|
||||||
@@ -206,7 +218,8 @@
|
|||||||
- Ability to create multiple blogs
|
- Ability to create multiple blogs
|
||||||
|
|
||||||
<!-- next-url -->
|
<!-- next-url -->
|
||||||
[Unreleased]: https://github.com/Plume-org/Plume/compare/0.6.0...HEAD
|
[Unreleased]: https://github.com/Plume-org/Plume/compare/0.7.0...HEAD
|
||||||
|
[[0.7.0]]: https://github.com/Plume-org/Plume/compare/0.6.0...0.7.0
|
||||||
[[0.6.0]]: https://github.com/Plume-org/Plume/compare/0.5.0...0.6.0
|
[[0.6.0]]: https://github.com/Plume-org/Plume/compare/0.5.0...0.6.0
|
||||||
[0.5.0]: https://github.com/Plume-org/Plume/compare/0.4.0-alpha-4...0.5.0
|
[0.5.0]: https://github.com/Plume-org/Plume/compare/0.4.0-alpha-4...0.5.0
|
||||||
[0.4.0]: https://github.com/Plume-org/Plume/compare/0.3.0-alpha-2...0.4.0-alpha-4
|
[0.4.0]: https://github.com/Plume-org/Plume/compare/0.3.0-alpha-2...0.4.0-alpha-4
|
||||||
|
|||||||
Generated
+949
-796
File diff suppressed because it is too large
Load Diff
+2
-3
@@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
authors = ["Plume contributors"]
|
authors = ["Plume contributors"]
|
||||||
name = "plume"
|
name = "plume"
|
||||||
version = "0.6.1-dev"
|
version = "0.7.0"
|
||||||
repository = "https://github.com/Plume-org/Plume"
|
repository = "https://github.com/Plume-org/Plume"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
@@ -15,7 +15,6 @@ gettext = { git = "https://github.com/Plume-org/gettext/", rev = "294c54d74c699f
|
|||||||
gettext-macros = { git = "https://github.com/Plume-org/gettext-macros/", rev = "a7c605f7edd6bfbfbfe7778026bfefd88d82db10" }
|
gettext-macros = { git = "https://github.com/Plume-org/gettext-macros/", rev = "a7c605f7edd6bfbfbfe7778026bfefd88d82db10" }
|
||||||
gettext-utils = { git = "https://github.com/Plume-org/gettext-macros/", rev = "a7c605f7edd6bfbfbfe7778026bfefd88d82db10" }
|
gettext-utils = { git = "https://github.com/Plume-org/gettext-macros/", rev = "a7c605f7edd6bfbfbfe7778026bfefd88d82db10" }
|
||||||
guid-create = "0.1"
|
guid-create = "0.1"
|
||||||
heck = "0.3.0"
|
|
||||||
lettre = "0.9.2"
|
lettre = "0.9.2"
|
||||||
lettre_email = "0.9.2"
|
lettre_email = "0.9.2"
|
||||||
num_cpus = "1.10"
|
num_cpus = "1.10"
|
||||||
@@ -25,7 +24,7 @@ rocket_i18n = { git = "https://github.com/Plume-org/rocket_i18n", rev = "e922afa
|
|||||||
rpassword = "4.0"
|
rpassword = "4.0"
|
||||||
scheduled-thread-pool = "0.2.2"
|
scheduled-thread-pool = "0.2.2"
|
||||||
serde = "1.0"
|
serde = "1.0"
|
||||||
serde_json = "1.0"
|
serde_json = "1.0.70"
|
||||||
shrinkwraprs = "0.2.1"
|
shrinkwraprs = "0.2.1"
|
||||||
validator = "0.8"
|
validator = "0.8"
|
||||||
validator_derive = "0.8"
|
validator_derive = "0.8"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ A lot of features are still missing, but what is already here should be quite st
|
|||||||
- **Media management**: you can upload pictures to illustrate your articles, but also audio files if you host a podcast, and manage them all from Plume.
|
- **Media management**: you can upload pictures to illustrate your articles, but also audio files if you host a podcast, and manage them all from Plume.
|
||||||
- **Federation**: Plume is part of a network of interconnected websites called the Fediverse. Each of these websites (often called *instances*) have their own
|
- **Federation**: Plume is part of a network of interconnected websites called the Fediverse. Each of these websites (often called *instances*) have their own
|
||||||
rules and thematics, but they can all communicate with each other.
|
rules and thematics, but they can all communicate with each other.
|
||||||
- **Collaborative writing**: invite other people to your blogs, and write articles together.
|
- **Collaborative writing**: invite other people to your blogs, and write articles together. (Not implemented yet, but will be in 1.0)
|
||||||
|
|
||||||
## Get involved
|
## Get involved
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ main article {
|
|||||||
}
|
}
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
border-left: 5px solid $gray;
|
border-inline-start: 5px solid $gray;
|
||||||
margin: 1em auto;
|
margin: 1em auto;
|
||||||
padding: 0em 2em;
|
padding: 0em 2em;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -229,6 +229,10 @@ p.error {
|
|||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
@@ -236,7 +240,9 @@ p.error {
|
|||||||
font-family: $playfair;
|
font-family: $playfair;
|
||||||
font-size: 1.75em;
|
font-size: 1.75em;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
line-height: 1.75;
|
line-height: 1.10;
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
transition: color 0.1s ease-in;
|
transition: color 0.1s ease-in;
|
||||||
@@ -247,7 +253,8 @@ p.error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.controls {
|
.controls {
|
||||||
float: right;
|
flex-shrink: 0;
|
||||||
|
text-align: end;
|
||||||
|
|
||||||
.button {
|
.button {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
@@ -261,7 +268,7 @@ p.error {
|
|||||||
font-family: $lora;
|
font-family: $lora;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
line-height: 1.25;
|
line-height: 1.25;
|
||||||
text-align: left;
|
text-align: initial;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -465,9 +472,10 @@ figure {
|
|||||||
|
|
||||||
/// Avatars
|
/// Avatars
|
||||||
.avatar {
|
.avatar {
|
||||||
background-position: center;
|
background-position: center !important;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
|
flex-shrink: 0;
|
||||||
|
|
||||||
&.small {
|
&.small {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
@@ -603,4 +611,4 @@ code {
|
|||||||
.function{
|
.function{
|
||||||
color:inherit;
|
color:inherit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -41,9 +41,9 @@ fn main() {
|
|||||||
.expect("compile templates");
|
.expect("compile templates");
|
||||||
|
|
||||||
compile_themes().expect("Theme compilation error");
|
compile_themes().expect("Theme compilation error");
|
||||||
recursive_copy(&Path::new("assets").join("icons"), &Path::new("static"))
|
recursive_copy(&Path::new("assets").join("icons"), Path::new("static"))
|
||||||
.expect("Couldn't copy icons");
|
.expect("Couldn't copy icons");
|
||||||
recursive_copy(&Path::new("assets").join("images"), &Path::new("static"))
|
recursive_copy(&Path::new("assets").join("images"), Path::new("static"))
|
||||||
.expect("Couldn't copy images");
|
.expect("Couldn't copy images");
|
||||||
create_dir_all(&Path::new("static").join("media")).expect("Couldn't init media directory");
|
create_dir_all(&Path::new("static").join("media")).expect("Couldn't init media directory");
|
||||||
|
|
||||||
@@ -97,12 +97,12 @@ fn compile_theme(path: &Path, out_dir: &Path) -> std::io::Result<()> {
|
|||||||
.components()
|
.components()
|
||||||
.skip_while(|c| *c != Component::Normal(OsStr::new("themes")))
|
.skip_while(|c| *c != Component::Normal(OsStr::new("themes")))
|
||||||
.skip(1)
|
.skip(1)
|
||||||
.filter_map(|c| {
|
.map(|c| {
|
||||||
c.as_os_str()
|
c.as_os_str()
|
||||||
.to_str()
|
.to_str()
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.splitn(2, '.')
|
.split_once('.')
|
||||||
.next()
|
.map_or(c.as_os_str().to_str().unwrap_or_default(), |x| x.0)
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>()
|
.collect::<Vec<_>>()
|
||||||
.join("-");
|
.join("-");
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "plume-api"
|
name = "plume-api"
|
||||||
version = "0.6.1-dev"
|
version = "0.7.0"
|
||||||
authors = ["Plume contributors"]
|
authors = ["Plume contributors"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "plume-cli"
|
name = "plume-cli"
|
||||||
version = "0.6.1-dev"
|
version = "0.7.0"
|
||||||
authors = ["Plume contributors"]
|
authors = ["Plume contributors"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
|
|||||||
@@ -68,4 +68,6 @@ fn new<'a>(args: &ArgMatches<'a>, conn: &Connection) {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
.expect("Couldn't save instance");
|
.expect("Couldn't save instance");
|
||||||
|
Instance::cache_local(conn);
|
||||||
|
Instance::create_local_instance_user(conn).expect("Couldn't save local instance user");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ fn main() {
|
|||||||
e => e.map(|_| ()).unwrap(),
|
e => e.map(|_| ()).unwrap(),
|
||||||
}
|
}
|
||||||
let conn = Conn::establish(CONFIG.database_url.as_str());
|
let conn = Conn::establish(CONFIG.database_url.as_str());
|
||||||
let _ = conn.as_ref().map(|conn| Instance::cache_local(conn));
|
let _ = conn.as_ref().map(Instance::cache_local);
|
||||||
|
|
||||||
match matches.subcommand() {
|
match matches.subcommand() {
|
||||||
("instance", Some(args)) => {
|
("instance", Some(args)) => {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "plume-common"
|
name = "plume-common"
|
||||||
version = "0.6.1-dev"
|
version = "0.7.0"
|
||||||
authors = ["Plume contributors"]
|
authors = ["Plume contributors"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ rocket = "0.4.6"
|
|||||||
reqwest = { version = "0.9", features = ["socks"] }
|
reqwest = { version = "0.9", features = ["socks"] }
|
||||||
serde = "1.0"
|
serde = "1.0"
|
||||||
serde_derive = "1.0"
|
serde_derive = "1.0"
|
||||||
serde_json = "1.0"
|
serde_json = "1.0.70"
|
||||||
shrinkwraprs = "0.3.0"
|
shrinkwraprs = "0.3.0"
|
||||||
syntect = "4.5.0"
|
syntect = "4.5.0"
|
||||||
tokio = "0.1.22"
|
tokio = "0.1.22"
|
||||||
@@ -33,3 +33,6 @@ version = "0.4"
|
|||||||
default-features = false
|
default-features = false
|
||||||
git = "https://git.joinplu.me/Plume/pulldown-cmark"
|
git = "https://git.joinplu.me/Plume/pulldown-cmark"
|
||||||
branch = "bidi-plume"
|
branch = "bidi-plume"
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
once_cell = "1.5.2"
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
use reqwest::header::{HeaderValue, ACCEPT};
|
use reqwest;
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
|
|
||||||
|
use super::{request, sign::Signer};
|
||||||
|
|
||||||
/// Represents an ActivityPub inbox.
|
/// Represents an ActivityPub inbox.
|
||||||
///
|
///
|
||||||
/// It routes an incoming Activity through the registered handlers.
|
/// It routes an incoming Activity through the registered handlers.
|
||||||
@@ -10,7 +12,50 @@ use std::fmt::Debug;
|
|||||||
/// ```rust
|
/// ```rust
|
||||||
/// # extern crate activitypub;
|
/// # extern crate activitypub;
|
||||||
/// # use activitypub::{actor::Person, activity::{Announce, Create}, object::Note};
|
/// # use activitypub::{actor::Person, activity::{Announce, Create}, object::Note};
|
||||||
|
/// # use openssl::{hash::MessageDigest, pkey::PKey, rsa::Rsa};
|
||||||
|
/// # use once_cell::sync::Lazy;
|
||||||
/// # use plume_common::activity_pub::inbox::*;
|
/// # use plume_common::activity_pub::inbox::*;
|
||||||
|
/// # use plume_common::activity_pub::sign::{gen_keypair, Error as SignError, Result as SignResult, Signer};
|
||||||
|
/// #
|
||||||
|
/// # static MY_SIGNER: Lazy<MySigner> = Lazy::new(|| MySigner::new());
|
||||||
|
/// #
|
||||||
|
/// # struct MySigner {
|
||||||
|
/// # public_key: String,
|
||||||
|
/// # private_key: String,
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # impl MySigner {
|
||||||
|
/// # fn new() -> Self {
|
||||||
|
/// # let (pub_key, priv_key) = gen_keypair();
|
||||||
|
/// # Self {
|
||||||
|
/// # public_key: String::from_utf8(pub_key).unwrap(),
|
||||||
|
/// # private_key: String::from_utf8(priv_key).unwrap(),
|
||||||
|
/// # }
|
||||||
|
/// # }
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # impl Signer for MySigner {
|
||||||
|
/// # fn get_key_id(&self) -> String {
|
||||||
|
/// # "mysigner".into()
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # fn sign(&self, to_sign: &str) -> SignResult<Vec<u8>> {
|
||||||
|
/// # let key = PKey::from_rsa(Rsa::private_key_from_pem(self.private_key.as_ref()).unwrap())
|
||||||
|
/// # .unwrap();
|
||||||
|
/// # let mut signer = openssl::sign::Signer::new(MessageDigest::sha256(), &key).unwrap();
|
||||||
|
/// # signer.update(to_sign.as_bytes()).unwrap();
|
||||||
|
/// # signer.sign_to_vec().map_err(|_| SignError())
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # fn verify(&self, data: &str, signature: &[u8]) -> SignResult<bool> {
|
||||||
|
/// # let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref()).unwrap())
|
||||||
|
/// # .unwrap();
|
||||||
|
/// # let mut verifier = openssl::sign::Verifier::new(MessageDigest::sha256(), &key).unwrap();
|
||||||
|
/// # verifier.update(data.as_bytes()).unwrap();
|
||||||
|
/// # verifier.verify(&signature).map_err(|_| SignError())
|
||||||
|
/// # }
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
/// # struct User;
|
/// # struct User;
|
||||||
/// # impl FromId<()> for User {
|
/// # impl FromId<()> for User {
|
||||||
/// # type Error = ();
|
/// # type Error = ();
|
||||||
@@ -23,6 +68,10 @@ use std::fmt::Debug;
|
|||||||
/// # fn from_activity(_: &(), obj: Person) -> Result<Self, Self::Error> {
|
/// # fn from_activity(_: &(), obj: Person) -> Result<Self, Self::Error> {
|
||||||
/// # Ok(User)
|
/// # Ok(User)
|
||||||
/// # }
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # fn get_sender() -> &'static dyn Signer {
|
||||||
|
/// # &*MY_SIGNER
|
||||||
|
/// # }
|
||||||
/// # }
|
/// # }
|
||||||
/// # impl AsActor<&()> for User {
|
/// # impl AsActor<&()> for User {
|
||||||
/// # fn get_inbox_url(&self) -> String {
|
/// # fn get_inbox_url(&self) -> String {
|
||||||
@@ -42,6 +91,10 @@ use std::fmt::Debug;
|
|||||||
/// # fn from_activity(_: &(), obj: Note) -> Result<Self, Self::Error> {
|
/// # fn from_activity(_: &(), obj: Note) -> Result<Self, Self::Error> {
|
||||||
/// # Ok(Message)
|
/// # Ok(Message)
|
||||||
/// # }
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # fn get_sender() -> &'static dyn Signer {
|
||||||
|
/// # &*MY_SIGNER
|
||||||
|
/// # }
|
||||||
/// # }
|
/// # }
|
||||||
/// # impl AsObject<User, Create, &()> for Message {
|
/// # impl AsObject<User, Create, &()> for Message {
|
||||||
/// # type Error = ();
|
/// # type Error = ();
|
||||||
@@ -207,7 +260,7 @@ where
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Handle the activity
|
// Handle the activity
|
||||||
match obj.activity(ctx, actor, &act_id) {
|
match obj.activity(ctx, actor, act_id) {
|
||||||
Ok(res) => Inbox::Handled(res.into()),
|
Ok(res) => Inbox::Handled(res.into()),
|
||||||
Err(e) => Inbox::Failed(e),
|
Err(e) => Inbox::Failed(e),
|
||||||
}
|
}
|
||||||
@@ -311,35 +364,16 @@ pub trait FromId<C>: Sized {
|
|||||||
id: &str,
|
id: &str,
|
||||||
proxy: Option<reqwest::Proxy>,
|
proxy: Option<reqwest::Proxy>,
|
||||||
) -> Result<Self::Object, (Option<serde_json::Value>, Self::Error)> {
|
) -> Result<Self::Object, (Option<serde_json::Value>, Self::Error)> {
|
||||||
if let Some(proxy) = proxy {
|
request::get(id, Self::get_sender(), proxy)
|
||||||
reqwest::ClientBuilder::new().proxy(proxy)
|
.map_err(|_| (None, InboxError::DerefError))
|
||||||
} else {
|
.and_then(|mut r| {
|
||||||
reqwest::ClientBuilder::new()
|
let json: serde_json::Value = r
|
||||||
}
|
.json()
|
||||||
.connect_timeout(Some(std::time::Duration::from_secs(5)))
|
.map_err(|_| (None, InboxError::InvalidObject(None)))?;
|
||||||
.build()
|
serde_json::from_value(json.clone())
|
||||||
.map_err(|_| (None, InboxError::DerefError.into()))?
|
.map_err(|_| (Some(json), InboxError::InvalidObject(None)))
|
||||||
.get(id)
|
})
|
||||||
.header(
|
.map_err(|(json, e)| (json, e.into()))
|
||||||
ACCEPT,
|
|
||||||
HeaderValue::from_str(
|
|
||||||
&super::ap_accept_header()
|
|
||||||
.into_iter()
|
|
||||||
.collect::<Vec<_>>()
|
|
||||||
.join(", "),
|
|
||||||
)
|
|
||||||
.map_err(|_| (None, InboxError::DerefError.into()))?,
|
|
||||||
)
|
|
||||||
.send()
|
|
||||||
.map_err(|_| (None, InboxError::DerefError))
|
|
||||||
.and_then(|mut r| {
|
|
||||||
let json: serde_json::Value = r
|
|
||||||
.json()
|
|
||||||
.map_err(|_| (None, InboxError::InvalidObject(None)))?;
|
|
||||||
serde_json::from_value(json.clone())
|
|
||||||
.map_err(|_| (Some(json), InboxError::InvalidObject(None)))
|
|
||||||
})
|
|
||||||
.map_err(|(json, e)| (json, e.into()))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Builds a `Self` from its ActivityPub representation
|
/// Builds a `Self` from its ActivityPub representation
|
||||||
@@ -347,6 +381,8 @@ pub trait FromId<C>: Sized {
|
|||||||
|
|
||||||
/// Tries to find a `Self` with a given ID (`id`), using `ctx` (a database)
|
/// Tries to find a `Self` with a given ID (`id`), using `ctx` (a database)
|
||||||
fn from_db(ctx: &C, id: &str) -> Result<Self, Self::Error>;
|
fn from_db(ctx: &C, id: &str) -> Result<Self, Self::Error>;
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Should be implemented by anything representing an ActivityPub actor.
|
/// Should be implemented by anything representing an ActivityPub actor.
|
||||||
@@ -385,6 +421,49 @@ pub trait AsActor<C> {
|
|||||||
/// # extern crate activitypub;
|
/// # extern crate activitypub;
|
||||||
/// # use activitypub::{activity::Create, actor::Person, object::Note};
|
/// # use activitypub::{activity::Create, actor::Person, object::Note};
|
||||||
/// # use plume_common::activity_pub::inbox::{AsActor, AsObject, FromId};
|
/// # use plume_common::activity_pub::inbox::{AsActor, AsObject, FromId};
|
||||||
|
/// # use plume_common::activity_pub::sign::{gen_keypair, Error as SignError, Result as SignResult, Signer};
|
||||||
|
/// # use openssl::{hash::MessageDigest, pkey::PKey, rsa::Rsa};
|
||||||
|
/// # use once_cell::sync::Lazy;
|
||||||
|
/// #
|
||||||
|
/// # static MY_SIGNER: Lazy<MySigner> = Lazy::new(|| MySigner::new());
|
||||||
|
/// #
|
||||||
|
/// # struct MySigner {
|
||||||
|
/// # public_key: String,
|
||||||
|
/// # private_key: String,
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # impl MySigner {
|
||||||
|
/// # fn new() -> Self {
|
||||||
|
/// # let (pub_key, priv_key) = gen_keypair();
|
||||||
|
/// # Self {
|
||||||
|
/// # public_key: String::from_utf8(pub_key).unwrap(),
|
||||||
|
/// # private_key: String::from_utf8(priv_key).unwrap(),
|
||||||
|
/// # }
|
||||||
|
/// # }
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # impl Signer for MySigner {
|
||||||
|
/// # fn get_key_id(&self) -> String {
|
||||||
|
/// # "mysigner".into()
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # fn sign(&self, to_sign: &str) -> SignResult<Vec<u8>> {
|
||||||
|
/// # let key = PKey::from_rsa(Rsa::private_key_from_pem(self.private_key.as_ref()).unwrap())
|
||||||
|
/// # .unwrap();
|
||||||
|
/// # let mut signer = openssl::sign::Signer::new(MessageDigest::sha256(), &key).unwrap();
|
||||||
|
/// # signer.update(to_sign.as_bytes()).unwrap();
|
||||||
|
/// # signer.sign_to_vec().map_err(|_| SignError())
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # fn verify(&self, data: &str, signature: &[u8]) -> SignResult<bool> {
|
||||||
|
/// # let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref()).unwrap())
|
||||||
|
/// # .unwrap();
|
||||||
|
/// # let mut verifier = openssl::sign::Verifier::new(MessageDigest::sha256(), &key).unwrap();
|
||||||
|
/// # verifier.update(data.as_bytes()).unwrap();
|
||||||
|
/// # verifier.verify(&signature).map_err(|_| SignError())
|
||||||
|
/// # }
|
||||||
|
/// # }
|
||||||
|
/// #
|
||||||
/// # struct Account;
|
/// # struct Account;
|
||||||
/// # impl FromId<()> for Account {
|
/// # impl FromId<()> for Account {
|
||||||
/// # type Error = ();
|
/// # type Error = ();
|
||||||
@@ -397,6 +476,10 @@ pub trait AsActor<C> {
|
|||||||
/// # fn from_activity(_: &(), obj: Person) -> Result<Self, Self::Error> {
|
/// # fn from_activity(_: &(), obj: Person) -> Result<Self, Self::Error> {
|
||||||
/// # Ok(Account)
|
/// # Ok(Account)
|
||||||
/// # }
|
/// # }
|
||||||
|
/// #
|
||||||
|
/// # fn get_sender() -> &'static dyn Signer {
|
||||||
|
/// # &*MY_SIGNER
|
||||||
|
/// # }
|
||||||
/// # }
|
/// # }
|
||||||
/// # impl AsActor<()> for Account {
|
/// # impl AsActor<()> for Account {
|
||||||
/// # fn get_inbox_url(&self) -> String {
|
/// # fn get_inbox_url(&self) -> String {
|
||||||
@@ -420,6 +503,10 @@ pub trait AsActor<C> {
|
|||||||
/// fn from_activity(_: &(), obj: Note) -> Result<Self, Self::Error> {
|
/// fn from_activity(_: &(), obj: Note) -> Result<Self, Self::Error> {
|
||||||
/// Ok(Message { text: obj.object_props.content_string().map_err(|_| ())? })
|
/// Ok(Message { text: obj.object_props.content_string().map_err(|_| ())? })
|
||||||
/// }
|
/// }
|
||||||
|
///
|
||||||
|
/// fn get_sender() -> &'static dyn Signer {
|
||||||
|
/// &*MY_SIGNER
|
||||||
|
/// }
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// impl AsObject<Account, Create, ()> for Message {
|
/// impl AsObject<Account, Create, ()> for Message {
|
||||||
@@ -459,7 +546,51 @@ where
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use crate::activity_pub::sign::{
|
||||||
|
gen_keypair, Error as SignError, Result as SignResult, Signer,
|
||||||
|
};
|
||||||
use activitypub::{activity::*, actor::Person, object::Note};
|
use activitypub::{activity::*, actor::Person, object::Note};
|
||||||
|
use once_cell::sync::Lazy;
|
||||||
|
use openssl::{hash::MessageDigest, pkey::PKey, rsa::Rsa};
|
||||||
|
|
||||||
|
static MY_SIGNER: Lazy<MySigner> = Lazy::new(|| MySigner::new());
|
||||||
|
|
||||||
|
struct MySigner {
|
||||||
|
public_key: String,
|
||||||
|
private_key: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl MySigner {
|
||||||
|
fn new() -> Self {
|
||||||
|
let (pub_key, priv_key) = gen_keypair();
|
||||||
|
Self {
|
||||||
|
public_key: String::from_utf8(pub_key).unwrap(),
|
||||||
|
private_key: String::from_utf8(priv_key).unwrap(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Signer for MySigner {
|
||||||
|
fn get_key_id(&self) -> String {
|
||||||
|
"mysigner".into()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn sign(&self, to_sign: &str) -> SignResult<Vec<u8>> {
|
||||||
|
let key = PKey::from_rsa(Rsa::private_key_from_pem(self.private_key.as_ref()).unwrap())
|
||||||
|
.unwrap();
|
||||||
|
let mut signer = openssl::sign::Signer::new(MessageDigest::sha256(), &key).unwrap();
|
||||||
|
signer.update(to_sign.as_bytes()).unwrap();
|
||||||
|
signer.sign_to_vec().map_err(|_| SignError())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn verify(&self, data: &str, signature: &[u8]) -> SignResult<bool> {
|
||||||
|
let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref()).unwrap())
|
||||||
|
.unwrap();
|
||||||
|
let mut verifier = openssl::sign::Verifier::new(MessageDigest::sha256(), &key).unwrap();
|
||||||
|
verifier.update(data.as_bytes()).unwrap();
|
||||||
|
verifier.verify(&signature).map_err(|_| SignError())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct MyActor;
|
struct MyActor;
|
||||||
impl FromId<()> for MyActor {
|
impl FromId<()> for MyActor {
|
||||||
@@ -473,6 +604,10 @@ mod tests {
|
|||||||
fn from_activity(_: &(), _obj: Person) -> Result<Self, Self::Error> {
|
fn from_activity(_: &(), _obj: Person) -> Result<Self, Self::Error> {
|
||||||
Ok(MyActor)
|
Ok(MyActor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
&*MY_SIGNER
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AsActor<&()> for MyActor {
|
impl AsActor<&()> for MyActor {
|
||||||
@@ -497,6 +632,10 @@ mod tests {
|
|||||||
fn from_activity(_: &(), _obj: Note) -> Result<Self, Self::Error> {
|
fn from_activity(_: &(), _obj: Note) -> Result<Self, Self::Error> {
|
||||||
Ok(MyObject)
|
Ok(MyObject)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
&*MY_SIGNER
|
||||||
|
}
|
||||||
}
|
}
|
||||||
impl AsObject<MyActor, Create, &()> for MyObject {
|
impl AsObject<MyActor, Create, &()> for MyObject {
|
||||||
type Error = ();
|
type Error = ();
|
||||||
@@ -601,6 +740,10 @@ mod tests {
|
|||||||
fn from_activity(_: &(), _obj: Person) -> Result<Self, Self::Error> {
|
fn from_activity(_: &(), _obj: Person) -> Result<Self, Self::Error> {
|
||||||
Err(())
|
Err(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
&*MY_SIGNER
|
||||||
|
}
|
||||||
}
|
}
|
||||||
impl AsActor<&()> for FailingActor {
|
impl AsActor<&()> for FailingActor {
|
||||||
fn get_inbox_url(&self) -> String {
|
fn get_inbox_url(&self) -> String {
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ where
|
|||||||
warn!("Inbox doesn't have host: {:?}", &inbox);
|
warn!("Inbox doesn't have host: {:?}", &inbox);
|
||||||
continue;
|
continue;
|
||||||
};
|
};
|
||||||
let host_header_value = HeaderValue::from_str(&url.host_str().expect("Unreachable"));
|
let host_header_value = HeaderValue::from_str(url.host_str().expect("Unreachable"));
|
||||||
if host_header_value.is_err() {
|
if host_header_value.is_err() {
|
||||||
warn!("Header value is invalid: {:?}", url.host_str());
|
warn!("Header value is invalid: {:?}", url.host_str());
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
use chrono::{offset::Utc, DateTime};
|
use chrono::{offset::Utc, DateTime};
|
||||||
use openssl::hash::{Hasher, MessageDigest};
|
use openssl::hash::{Hasher, MessageDigest};
|
||||||
use reqwest::header::{HeaderMap, HeaderValue, ACCEPT, CONTENT_TYPE, DATE, USER_AGENT};
|
use reqwest::{
|
||||||
|
header::{
|
||||||
|
HeaderMap, HeaderValue, InvalidHeaderValue, ACCEPT, CONTENT_TYPE, DATE, HOST, USER_AGENT,
|
||||||
|
},
|
||||||
|
ClientBuilder, Proxy, Response, Url, UrlError,
|
||||||
|
};
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
use std::time::SystemTime;
|
use std::time::SystemTime;
|
||||||
use tracing::warn;
|
use tracing::warn;
|
||||||
@@ -13,6 +18,24 @@ const PLUME_USER_AGENT: &str = concat!("Plume/", env!("CARGO_PKG_VERSION"));
|
|||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct Error();
|
pub struct Error();
|
||||||
|
|
||||||
|
impl From<UrlError> for Error {
|
||||||
|
fn from(_err: UrlError) -> Self {
|
||||||
|
Error()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<InvalidHeaderValue> for Error {
|
||||||
|
fn from(_err: InvalidHeaderValue) -> Self {
|
||||||
|
Error()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<reqwest::Error> for Error {
|
||||||
|
fn from(_err: reqwest::Error) -> Self {
|
||||||
|
Error()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub struct Digest(String);
|
pub struct Digest(String);
|
||||||
|
|
||||||
impl Digest {
|
impl Digest {
|
||||||
@@ -118,8 +141,8 @@ type Path<'a> = &'a str;
|
|||||||
type Query<'a> = &'a str;
|
type Query<'a> = &'a str;
|
||||||
type RequestTarget<'a> = (Method<'a>, Path<'a>, Option<Query<'a>>);
|
type RequestTarget<'a> = (Method<'a>, Path<'a>, Option<Query<'a>>);
|
||||||
|
|
||||||
pub fn signature<S: Signer>(
|
pub fn signature(
|
||||||
signer: &S,
|
signer: &dyn Signer,
|
||||||
headers: &HeaderMap,
|
headers: &HeaderMap,
|
||||||
request_target: RequestTarget,
|
request_target: RequestTarget,
|
||||||
) -> Result<HeaderValue, Error> {
|
) -> Result<HeaderValue, Error> {
|
||||||
@@ -164,10 +187,35 @@ pub fn signature<S: Signer>(
|
|||||||
)).map_err(|_| Error())
|
)).map_err(|_| Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn get(url_str: &str, sender: &dyn Signer, proxy: Option<Proxy>) -> Result<Response, Error> {
|
||||||
|
let mut headers = headers();
|
||||||
|
let url = Url::parse(url_str)?;
|
||||||
|
if !url.has_host() {
|
||||||
|
return Err(Error());
|
||||||
|
}
|
||||||
|
let host_header_value = HeaderValue::from_str(url.host_str().expect("Unreachable"))?;
|
||||||
|
headers.insert(HOST, host_header_value);
|
||||||
|
if let Some(proxy) = proxy {
|
||||||
|
ClientBuilder::new().proxy(proxy)
|
||||||
|
} else {
|
||||||
|
ClientBuilder::new()
|
||||||
|
}
|
||||||
|
.connect_timeout(Some(std::time::Duration::from_secs(5)))
|
||||||
|
.build()?
|
||||||
|
.get(url_str)
|
||||||
|
.headers(headers.clone())
|
||||||
|
.header(
|
||||||
|
"Signature",
|
||||||
|
signature(sender, &headers, ("get", url.path(), url.query()))?,
|
||||||
|
)
|
||||||
|
.send()
|
||||||
|
.map_err(|_| Error())
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::{signature, Error};
|
use super::signature;
|
||||||
use crate::activity_pub::sign::{gen_keypair, Signer};
|
use crate::activity_pub::sign::{gen_keypair, Error, Result, Signer};
|
||||||
use openssl::{hash::MessageDigest, pkey::PKey, rsa::Rsa};
|
use openssl::{hash::MessageDigest, pkey::PKey, rsa::Rsa};
|
||||||
use reqwest::header::HeaderMap;
|
use reqwest::header::HeaderMap;
|
||||||
|
|
||||||
@@ -187,13 +235,11 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Signer for MySigner {
|
impl Signer for MySigner {
|
||||||
type Error = Error;
|
|
||||||
|
|
||||||
fn get_key_id(&self) -> String {
|
fn get_key_id(&self) -> String {
|
||||||
"mysigner".into()
|
"mysigner".into()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn sign(&self, to_sign: &str) -> Result<Vec<u8>, Self::Error> {
|
fn sign(&self, to_sign: &str) -> Result<Vec<u8>> {
|
||||||
let key = PKey::from_rsa(Rsa::private_key_from_pem(self.private_key.as_ref()).unwrap())
|
let key = PKey::from_rsa(Rsa::private_key_from_pem(self.private_key.as_ref()).unwrap())
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let mut signer = openssl::sign::Signer::new(MessageDigest::sha256(), &key).unwrap();
|
let mut signer = openssl::sign::Signer::new(MessageDigest::sha256(), &key).unwrap();
|
||||||
@@ -201,7 +247,7 @@ mod tests {
|
|||||||
signer.sign_to_vec().map_err(|_| Error())
|
signer.sign_to_vec().map_err(|_| Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn verify(&self, data: &str, signature: &[u8]) -> Result<bool, Self::Error> {
|
fn verify(&self, data: &str, signature: &[u8]) -> Result<bool> {
|
||||||
let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref()).unwrap())
|
let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref()).unwrap())
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let mut verifier = openssl::sign::Verifier::new(MessageDigest::sha256(), &key).unwrap();
|
let mut verifier = openssl::sign::Verifier::new(MessageDigest::sha256(), &key).unwrap();
|
||||||
|
|||||||
@@ -19,20 +19,25 @@ pub fn gen_keypair() -> (Vec<u8>, Vec<u8>) {
|
|||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct Error();
|
pub struct Error();
|
||||||
|
pub type Result<T> = std::result::Result<T, Error>;
|
||||||
|
|
||||||
|
impl From<openssl::error::ErrorStack> for Error {
|
||||||
|
fn from(_: openssl::error::ErrorStack) -> Self {
|
||||||
|
Self()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub trait Signer {
|
pub trait Signer {
|
||||||
type Error;
|
|
||||||
|
|
||||||
fn get_key_id(&self) -> String;
|
fn get_key_id(&self) -> String;
|
||||||
|
|
||||||
/// Sign some data with the signer keypair
|
/// Sign some data with the signer keypair
|
||||||
fn sign(&self, to_sign: &str) -> Result<Vec<u8>, Self::Error>;
|
fn sign(&self, to_sign: &str) -> Result<Vec<u8>>;
|
||||||
/// Verify if the signature is valid
|
/// Verify if the signature is valid
|
||||||
fn verify(&self, data: &str, signature: &[u8]) -> Result<bool, Self::Error>;
|
fn verify(&self, data: &str, signature: &[u8]) -> Result<bool>;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait Signable {
|
pub trait Signable {
|
||||||
fn sign<T>(&mut self, creator: &T) -> Result<&mut Self, Error>
|
fn sign<T>(&mut self, creator: &T) -> Result<&mut Self>
|
||||||
where
|
where
|
||||||
T: Signer;
|
T: Signer;
|
||||||
fn verify<T>(self, creator: &T) -> bool
|
fn verify<T>(self, creator: &T) -> bool
|
||||||
@@ -46,7 +51,7 @@ pub trait Signable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Signable for serde_json::Value {
|
impl Signable for serde_json::Value {
|
||||||
fn sign<T: Signer>(&mut self, creator: &T) -> Result<&mut serde_json::Value, Error> {
|
fn sign<T: Signer>(&mut self, creator: &T) -> Result<&mut serde_json::Value> {
|
||||||
let creation_date = Utc::now().to_rfc3339();
|
let creation_date = Utc::now().to_rfc3339();
|
||||||
let mut options = json!({
|
let mut options = json!({
|
||||||
"type": "RsaSignature2017",
|
"type": "RsaSignature2017",
|
||||||
@@ -182,7 +187,7 @@ pub fn verify_http_headers<S: Signer + ::std::fmt::Debug>(
|
|||||||
}
|
}
|
||||||
let digest = all_headers.get_one("digest").unwrap_or("");
|
let digest = all_headers.get_one("digest").unwrap_or("");
|
||||||
let digest = request::Digest::from_header(digest);
|
let digest = request::Digest::from_header(digest);
|
||||||
if !digest.map(|d| d.verify_header(&data)).unwrap_or(false) {
|
if !digest.map(|d| d.verify_header(data)).unwrap_or(false) {
|
||||||
// signature was valid, but body content does not match its digest
|
// signature was valid, but body content does not match its digest
|
||||||
return SignatureValidity::Invalid;
|
return SignatureValidity::Invalid;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,59 @@ pub fn make_actor_id(name: &str) -> String {
|
|||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Percent-encode characters which are not allowed in IRI path segments.
|
||||||
|
*
|
||||||
|
* Intended to be used for generating Post ap_url.
|
||||||
|
*/
|
||||||
|
pub fn iri_percent_encode_seg(segment: &str) -> String {
|
||||||
|
segment.chars().map(iri_percent_encode_seg_char).collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn iri_percent_encode_seg_char(c: char) -> String {
|
||||||
|
if c.is_alphanumeric() {
|
||||||
|
c.to_string()
|
||||||
|
} else {
|
||||||
|
match c {
|
||||||
|
'-'
|
||||||
|
| '.'
|
||||||
|
| '_'
|
||||||
|
| '~'
|
||||||
|
| '\u{A0}'..='\u{D7FF}'
|
||||||
|
| '\u{20000}'..='\u{2FFFD}'
|
||||||
|
| '\u{30000}'..='\u{3FFFD}'
|
||||||
|
| '\u{40000}'..='\u{4FFFD}'
|
||||||
|
| '\u{50000}'..='\u{5FFFD}'
|
||||||
|
| '\u{60000}'..='\u{6FFFD}'
|
||||||
|
| '\u{70000}'..='\u{7FFFD}'
|
||||||
|
| '\u{80000}'..='\u{8FFFD}'
|
||||||
|
| '\u{90000}'..='\u{9FFFD}'
|
||||||
|
| '\u{A0000}'..='\u{AFFFD}'
|
||||||
|
| '\u{B0000}'..='\u{BFFFD}'
|
||||||
|
| '\u{C0000}'..='\u{CFFFD}'
|
||||||
|
| '\u{D0000}'..='\u{DFFFD}'
|
||||||
|
| '\u{E0000}'..='\u{EFFFD}'
|
||||||
|
| '!'
|
||||||
|
| '$'
|
||||||
|
| '&'
|
||||||
|
| '\''
|
||||||
|
| '('
|
||||||
|
| ')'
|
||||||
|
| '*'
|
||||||
|
| '+'
|
||||||
|
| ','
|
||||||
|
| ';'
|
||||||
|
| '='
|
||||||
|
| ':'
|
||||||
|
| '@' => c.to_string(),
|
||||||
|
_ => {
|
||||||
|
let s = c.to_string();
|
||||||
|
Uri::percent_encode(&s).to_string()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Redirects to the login page with a given message.
|
* Redirects to the login page with a given message.
|
||||||
*
|
*
|
||||||
@@ -88,13 +141,13 @@ fn highlight_code<'a>(
|
|||||||
unreachable!();
|
unreachable!();
|
||||||
};
|
};
|
||||||
let syntax_set = SyntaxSet::load_defaults_newlines();
|
let syntax_set = SyntaxSet::load_defaults_newlines();
|
||||||
let syntax = syntax_set.find_syntax_by_token(&lang).unwrap_or_else(|| {
|
let syntax = syntax_set.find_syntax_by_token(lang).unwrap_or_else(|| {
|
||||||
syntax_set
|
syntax_set
|
||||||
.find_syntax_by_name(&lang)
|
.find_syntax_by_name(lang)
|
||||||
.unwrap_or_else(|| syntax_set.find_syntax_plain_text())
|
.unwrap_or_else(|| syntax_set.find_syntax_plain_text())
|
||||||
});
|
});
|
||||||
let mut html = ClassedHTMLGenerator::new_with_class_style(
|
let mut html = ClassedHTMLGenerator::new_with_class_style(
|
||||||
&syntax,
|
syntax,
|
||||||
&syntax_set,
|
&syntax_set,
|
||||||
ClassStyle::Spaced,
|
ClassStyle::Spaced,
|
||||||
);
|
);
|
||||||
@@ -281,16 +334,15 @@ pub fn md_to_html<'a>(
|
|||||||
text_acc.push(c)
|
text_acc.push(c)
|
||||||
}
|
}
|
||||||
let mention = text_acc;
|
let mention = text_acc;
|
||||||
let short_mention = mention.splitn(1, '@').next().unwrap_or("");
|
|
||||||
let link = Tag::Link(
|
let link = Tag::Link(
|
||||||
LinkType::Inline,
|
LinkType::Inline,
|
||||||
format!("{}@/{}/", base_url, &mention).into(),
|
format!("{}@/{}/", base_url, &mention).into(),
|
||||||
short_mention.to_owned().into(),
|
mention.clone().into(),
|
||||||
);
|
);
|
||||||
|
|
||||||
mentions.push(mention.clone());
|
mentions.push(mention.clone());
|
||||||
events.push(Event::Start(link.clone()));
|
events.push(Event::Start(link.clone()));
|
||||||
events.push(Event::Text(format!("@{}", &short_mention).into()));
|
events.push(Event::Text(format!("@{}", &mention).into()));
|
||||||
events.push(Event::End(link));
|
events.push(Event::End(link));
|
||||||
|
|
||||||
(
|
(
|
||||||
@@ -476,6 +528,20 @@ mod tests {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_iri_percent_encode_seg() {
|
||||||
|
assert_eq!(
|
||||||
|
&iri_percent_encode_seg("including whitespace"),
|
||||||
|
"including%20whitespace"
|
||||||
|
);
|
||||||
|
assert_eq!(&iri_percent_encode_seg("%20"), "%2520");
|
||||||
|
assert_eq!(&iri_percent_encode_seg("é"), "é");
|
||||||
|
assert_eq!(
|
||||||
|
&iri_percent_encode_seg("空白入り 日本語"),
|
||||||
|
"空白入り%20日本語"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_inline() {
|
fn test_inline() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "plume-front"
|
name = "plume-front"
|
||||||
version = "0.6.1-dev"
|
version = "0.7.0"
|
||||||
authors = ["Plume contributors"]
|
authors = ["Plume contributors"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
|
|||||||
+20
-14
@@ -54,11 +54,6 @@ pub enum EditorError {
|
|||||||
DOMError,
|
DOMError,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<std::option::NoneError> for EditorError {
|
|
||||||
fn from(_: std::option::NoneError) -> Self {
|
|
||||||
EditorError::NoneError
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const AUTOSAVE_DEBOUNCE_TIME: i32 = 5000;
|
const AUTOSAVE_DEBOUNCE_TIME: i32 = 5000;
|
||||||
#[derive(Serialize, Deserialize)]
|
#[derive(Serialize, Deserialize)]
|
||||||
struct AutosaveInformation {
|
struct AutosaveInformation {
|
||||||
@@ -198,7 +193,7 @@ fn clear_autosave() {
|
|||||||
.unwrap()
|
.unwrap()
|
||||||
.remove_item(&get_autosave_id())
|
.remove_item(&get_autosave_id())
|
||||||
.unwrap();
|
.unwrap();
|
||||||
console::log_1(&&format!("Saved to {}", &get_autosave_id()).into());
|
console::log_1(&format!("Saved to {}", &get_autosave_id()).into());
|
||||||
}
|
}
|
||||||
type TimeoutHandle = i32;
|
type TimeoutHandle = i32;
|
||||||
lazy_static! {
|
lazy_static! {
|
||||||
@@ -366,7 +361,9 @@ fn init_editor() -> Result<(), EditorError> {
|
|||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
let old_ed = old_ed.unwrap();
|
let old_ed = old_ed.unwrap();
|
||||||
let old_title = document().get_element_by_id("plume-editor-title")?;
|
let old_title = document()
|
||||||
|
.get_element_by_id("plume-editor-title")
|
||||||
|
.ok_or(EditorError::NoneError)?;
|
||||||
old_ed
|
old_ed
|
||||||
.dyn_ref::<HtmlElement>()
|
.dyn_ref::<HtmlElement>()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
@@ -434,7 +431,8 @@ fn init_editor() -> Result<(), EditorError> {
|
|||||||
bg.class_list().add_1("show").unwrap();
|
bg.class_list().add_1("show").unwrap();
|
||||||
})) as Box<dyn FnMut(MouseEvent)>);
|
})) as Box<dyn FnMut(MouseEvent)>);
|
||||||
document()
|
document()
|
||||||
.get_element_by_id("publish")?
|
.get_element_by_id("publish")
|
||||||
|
.ok_or(EditorError::NoneError)?
|
||||||
.add_event_listener_with_callback("click", show_popup.as_ref().unchecked_ref())
|
.add_event_listener_with_callback("click", show_popup.as_ref().unchecked_ref())
|
||||||
.map_err(|_| EditorError::DOMError)?;
|
.map_err(|_| EditorError::DOMError)?;
|
||||||
show_popup.forget();
|
show_popup.forget();
|
||||||
@@ -528,8 +526,14 @@ fn init_popup(
|
|||||||
cover_label
|
cover_label
|
||||||
.set_attribute("for", "cover")
|
.set_attribute("for", "cover")
|
||||||
.map_err(|_| EditorError::DOMError)?;
|
.map_err(|_| EditorError::DOMError)?;
|
||||||
let cover = document.get_element_by_id("cover")?;
|
let cover = document
|
||||||
cover.parent_element()?.remove_child(&cover).ok();
|
.get_element_by_id("cover")
|
||||||
|
.ok_or(EditorError::NoneError)?;
|
||||||
|
cover
|
||||||
|
.parent_element()
|
||||||
|
.ok_or(EditorError::NoneError)?
|
||||||
|
.remove_child(&cover)
|
||||||
|
.ok();
|
||||||
popup
|
popup
|
||||||
.append_child(&cover_label)
|
.append_child(&cover_label)
|
||||||
.map_err(|_| EditorError::DOMError)?;
|
.map_err(|_| EditorError::DOMError)?;
|
||||||
@@ -554,7 +558,7 @@ fn init_popup(
|
|||||||
draft.set_checked(draft_checkbox.checked());
|
draft.set_checked(draft_checkbox.checked());
|
||||||
|
|
||||||
draft_label
|
draft_label
|
||||||
.append_child(&draft)
|
.append_child(draft)
|
||||||
.map_err(|_| EditorError::DOMError)?;
|
.map_err(|_| EditorError::DOMError)?;
|
||||||
draft_label
|
draft_label
|
||||||
.append_child(&document.create_text_node(&i18n!(CATALOG, "This is a draft")))
|
.append_child(&document.create_text_node(&i18n!(CATALOG, "This is a draft")))
|
||||||
@@ -620,11 +624,12 @@ fn init_popup(
|
|||||||
.map_err(|_| EditorError::DOMError)?;
|
.map_err(|_| EditorError::DOMError)?;
|
||||||
callback.forget();
|
callback.forget();
|
||||||
popup
|
popup
|
||||||
.append_child(&button)
|
.append_child(button)
|
||||||
.map_err(|_| EditorError::DOMError)?;
|
.map_err(|_| EditorError::DOMError)?;
|
||||||
|
|
||||||
document
|
document
|
||||||
.body()?
|
.body()
|
||||||
|
.ok_or(EditorError::NoneError)?
|
||||||
.append_child(&popup)
|
.append_child(&popup)
|
||||||
.map_err(|_| EditorError::DOMError)?;
|
.map_err(|_| EditorError::DOMError)?;
|
||||||
Ok(popup)
|
Ok(popup)
|
||||||
@@ -641,7 +646,8 @@ fn init_popup_bg() -> Result<Element, EditorError> {
|
|||||||
.map_err(|_| EditorError::DOMError)?;
|
.map_err(|_| EditorError::DOMError)?;
|
||||||
|
|
||||||
document()
|
document()
|
||||||
.body()?
|
.body()
|
||||||
|
.ok_or(EditorError::NoneError)?
|
||||||
.append_child(&bg)
|
.append_child(&bg)
|
||||||
.map_err(|_| EditorError::DOMError)?;
|
.map_err(|_| EditorError::DOMError)?;
|
||||||
let callback = Closure::wrap(Box::new(|_| close_popup()) as Box<dyn FnMut(MouseEvent)>);
|
let callback = Closure::wrap(Box::new(|_| close_popup()) as Box<dyn FnMut(MouseEvent)>);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#![recursion_limit = "128"]
|
#![recursion_limit = "128"]
|
||||||
#![feature(decl_macro, proc_macro_hygiene, try_trait)]
|
#![feature(decl_macro, proc_macro_hygiene)]
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate gettext_macros;
|
extern crate gettext_macros;
|
||||||
@@ -61,7 +61,7 @@ lazy_static! {
|
|||||||
static ref CATALOG: gettext::Catalog = {
|
static ref CATALOG: gettext::Catalog = {
|
||||||
let catalogs = include_i18n!();
|
let catalogs = include_i18n!();
|
||||||
let lang = window().unwrap().navigator().language().unwrap();
|
let lang = window().unwrap().navigator().language().unwrap();
|
||||||
let lang = lang.splitn(2, '-').next().unwrap_or("en");
|
let lang = lang.split_once('-').map_or("en", |x| x.0);
|
||||||
|
|
||||||
let english_position = catalogs
|
let english_position = catalogs
|
||||||
.iter()
|
.iter()
|
||||||
@@ -85,7 +85,7 @@ pub fn main() -> Result<(), JsValue> {
|
|||||||
menu();
|
menu();
|
||||||
search();
|
search();
|
||||||
editor::init()
|
editor::init()
|
||||||
.map_err(|e| console::error_1(&&format!("Editor error: {:?}", e).into()))
|
.map_err(|e| console::error_1(&format!("Editor error: {:?}", e).into()))
|
||||||
.ok();
|
.ok();
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "plume-macro"
|
name = "plume-macro"
|
||||||
version = "0.6.1-dev"
|
version = "0.7.0"
|
||||||
authors = ["Trinity Pointard <trinity.pointard@insa-rennes.fr>"]
|
authors = ["Trinity Pointard <trinity.pointard@insa-rennes.fr>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "Plume procedural macros"
|
description = "Plume procedural macros"
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ pub fn import_migrations(input: TokenStream) -> TokenStream {
|
|||||||
(name, up_sql, down_sql)
|
(name, up_sql, down_sql)
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
let migrations_name = migrations.iter().map(|m| &m.0).collect::<Vec<_>>();
|
let migrations_name = migrations.iter().map(|m| &m.0);
|
||||||
let migrations_up = migrations
|
let migrations_up = migrations
|
||||||
.iter()
|
.iter()
|
||||||
.map(|m| m.1.as_str())
|
.map(|m| m.1.as_str())
|
||||||
@@ -103,7 +103,7 @@ fn file_to_migration(file: &str) -> TokenStream2 {
|
|||||||
acc.push('\n');
|
acc.push('\n');
|
||||||
}
|
}
|
||||||
} else if let Some(acc_str) = line.strip_prefix("--#!") {
|
} else if let Some(acc_str) = line.strip_prefix("--#!") {
|
||||||
acc.push_str(&acc_str);
|
acc.push_str(acc_str);
|
||||||
acc.push('\n');
|
acc.push('\n');
|
||||||
} else if line.starts_with("--") {
|
} else if line.starts_with("--") {
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "plume-models"
|
name = "plume-models"
|
||||||
version = "0.6.1-dev"
|
version = "0.7.0"
|
||||||
authors = ["Plume contributors"]
|
authors = ["Plume contributors"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
@@ -8,9 +8,8 @@ edition = "2018"
|
|||||||
activitypub = "0.1.1"
|
activitypub = "0.1.1"
|
||||||
ammonia = "2.1.1"
|
ammonia = "2.1.1"
|
||||||
askama_escape = "0.1"
|
askama_escape = "0.1"
|
||||||
bcrypt = "0.5"
|
bcrypt = "0.10.1"
|
||||||
guid-create = "0.1"
|
guid-create = "0.1"
|
||||||
heck = "0.3.0"
|
|
||||||
itertools = "0.8.0"
|
itertools = "0.8.0"
|
||||||
lazy_static = "1.0"
|
lazy_static = "1.0"
|
||||||
ldap3 = "0.7.1"
|
ldap3 = "0.7.1"
|
||||||
@@ -22,7 +21,7 @@ reqwest = "0.9"
|
|||||||
scheduled-thread-pool = "0.2.2"
|
scheduled-thread-pool = "0.2.2"
|
||||||
serde = "1.0"
|
serde = "1.0"
|
||||||
serde_derive = "1.0"
|
serde_derive = "1.0"
|
||||||
serde_json = "1.0"
|
serde_json = "1.0.70"
|
||||||
tantivy = "0.13.3"
|
tantivy = "0.13.3"
|
||||||
url = "2.1"
|
url = "2.1"
|
||||||
walkdir = "2.2"
|
walkdir = "2.2"
|
||||||
|
|||||||
@@ -86,14 +86,18 @@ impl<'a, 'r> FromRequest<'a, 'r> for ApiToken {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let mut parsed_header = headers[0].split(' ');
|
let mut parsed_header = headers[0].split(' ');
|
||||||
let auth_type = parsed_header.next().map_or_else(
|
let auth_type = parsed_header
|
||||||
|| Outcome::Failure((Status::BadRequest, TokenError::NoType)),
|
.next()
|
||||||
Outcome::Success,
|
.map_or_else::<rocket::Outcome<&str, _, ()>, _, _>(
|
||||||
)?;
|
|| Outcome::Failure((Status::BadRequest, TokenError::NoType)),
|
||||||
let val = parsed_header.next().map_or_else(
|
Outcome::Success,
|
||||||
|| Outcome::Failure((Status::BadRequest, TokenError::NoValue)),
|
)?;
|
||||||
Outcome::Success,
|
let val = parsed_header
|
||||||
)?;
|
.next()
|
||||||
|
.map_or_else::<rocket::Outcome<&str, _, ()>, _, _>(
|
||||||
|
|| Outcome::Failure((Status::BadRequest, TokenError::NoValue)),
|
||||||
|
Outcome::Success,
|
||||||
|
)?;
|
||||||
|
|
||||||
if auth_type == "Bearer" {
|
if auth_type == "Bearer" {
|
||||||
let conn = request
|
let conn = request
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ impl BlocklistedEmail {
|
|||||||
pub fn delete_entries(conn: &Connection, ids: Vec<i32>) -> Result<bool> {
|
pub fn delete_entries(conn: &Connection, ids: Vec<i32>) -> Result<bool> {
|
||||||
use diesel::delete;
|
use diesel::delete;
|
||||||
for i in ids {
|
for i in ids {
|
||||||
let be: BlocklistedEmail = BlocklistedEmail::find_by_id(&conn, i)?;
|
let be: BlocklistedEmail = BlocklistedEmail::find_by_id(conn, i)?;
|
||||||
delete(&be).execute(conn)?;
|
delete(&be).execute(conn)?;
|
||||||
}
|
}
|
||||||
Ok(true)
|
Ok(true)
|
||||||
|
|||||||
+26
-13
@@ -149,7 +149,15 @@ impl Blog {
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.find(|l| l.mime_type == Some(String::from("application/activity+json")))
|
.find(|l| l.mime_type == Some(String::from("application/activity+json")))
|
||||||
.ok_or(Error::Webfinger)
|
.ok_or(Error::Webfinger)
|
||||||
.and_then(|l| Blog::from_id(conn, &l.href?, None, CONFIG.proxy()).map_err(|(_, e)| e))
|
.and_then(|l| {
|
||||||
|
Blog::from_id(
|
||||||
|
conn,
|
||||||
|
&l.href.ok_or(Error::MissingApProperty)?,
|
||||||
|
None,
|
||||||
|
CONFIG.proxy(),
|
||||||
|
)
|
||||||
|
.map_err(|(_, e)| e)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_activity(&self, conn: &Connection) -> Result<CustomGroup> {
|
pub fn to_activity(&self, conn: &Connection) -> Result<CustomGroup> {
|
||||||
@@ -236,7 +244,7 @@ impl Blog {
|
|||||||
(min, max): (i32, i32),
|
(min, max): (i32, i32),
|
||||||
) -> Result<ActivityStream<OrderedCollectionPage>> {
|
) -> Result<ActivityStream<OrderedCollectionPage>> {
|
||||||
let mut coll = OrderedCollectionPage::default();
|
let mut coll = OrderedCollectionPage::default();
|
||||||
let acts = self.get_activity_page(&conn, (min, max));
|
let acts = self.get_activity_page(conn, (min, max));
|
||||||
//This still doesn't do anything because the outbox
|
//This still doesn't do anything because the outbox
|
||||||
//doesn't do anything yet
|
//doesn't do anything yet
|
||||||
coll.collection_page_props.set_next_link(Id::new(&format!(
|
coll.collection_page_props.set_next_link(Id::new(&format!(
|
||||||
@@ -265,7 +273,10 @@ impl Blog {
|
|||||||
|
|
||||||
pub fn get_keypair(&self) -> Result<PKey<Private>> {
|
pub fn get_keypair(&self) -> Result<PKey<Private>> {
|
||||||
PKey::from_rsa(Rsa::private_key_from_pem(
|
PKey::from_rsa(Rsa::private_key_from_pem(
|
||||||
self.private_key.clone()?.as_ref(),
|
self.private_key
|
||||||
|
.clone()
|
||||||
|
.ok_or(Error::MissingApProperty)?
|
||||||
|
.as_ref(),
|
||||||
)?)
|
)?)
|
||||||
.map_err(Error::from)
|
.map_err(Error::from)
|
||||||
}
|
}
|
||||||
@@ -318,7 +329,7 @@ impl Blog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn delete(&self, conn: &Connection) -> Result<()> {
|
pub fn delete(&self, conn: &Connection) -> Result<()> {
|
||||||
for post in Post::get_for_blog(conn, &self)? {
|
for post in Post::get_for_blog(conn, self)? {
|
||||||
post.delete(conn)?;
|
post.delete(conn)?;
|
||||||
}
|
}
|
||||||
diesel::delete(self)
|
diesel::delete(self)
|
||||||
@@ -339,12 +350,12 @@ impl FromId<DbConn> for Blog {
|
|||||||
type Object = CustomGroup;
|
type Object = CustomGroup;
|
||||||
|
|
||||||
fn from_db(conn: &DbConn, id: &str) -> Result<Self> {
|
fn from_db(conn: &DbConn, id: &str) -> Result<Self> {
|
||||||
Self::find_by_ap_url(&conn, id)
|
Self::find_by_ap_url(conn, id)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn from_activity(conn: &DbConn, acct: CustomGroup) -> Result<Self> {
|
fn from_activity(conn: &DbConn, acct: CustomGroup) -> Result<Self> {
|
||||||
let url = Url::parse(&acct.object.object_props.id_string()?)?;
|
let url = Url::parse(&acct.object.object_props.id_string()?)?;
|
||||||
let inst = url.host_str()?;
|
let inst = url.host_str().ok_or(Error::Url)?;
|
||||||
let instance = Instance::find_by_domain(conn, inst).or_else(|_| {
|
let instance = Instance::find_by_domain(conn, inst).or_else(|_| {
|
||||||
Instance::insert(
|
Instance::insert(
|
||||||
conn,
|
conn,
|
||||||
@@ -432,6 +443,10 @@ impl FromId<DbConn> for Blog {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn sign::Signer {
|
||||||
|
Instance::get_local_instance_user().expect("Failed to local instance user")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AsActor<&PlumeRocket> for Blog {
|
impl AsActor<&PlumeRocket> for Blog {
|
||||||
@@ -451,24 +466,22 @@ impl AsActor<&PlumeRocket> for Blog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl sign::Signer for Blog {
|
impl sign::Signer for Blog {
|
||||||
type Error = Error;
|
|
||||||
|
|
||||||
fn get_key_id(&self) -> String {
|
fn get_key_id(&self) -> String {
|
||||||
format!("{}#main-key", self.ap_url)
|
format!("{}#main-key", self.ap_url)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn sign(&self, to_sign: &str) -> Result<Vec<u8>> {
|
fn sign(&self, to_sign: &str) -> sign::Result<Vec<u8>> {
|
||||||
let key = self.get_keypair()?;
|
let key = self.get_keypair().map_err(|_| sign::Error())?;
|
||||||
let mut signer = Signer::new(MessageDigest::sha256(), &key)?;
|
let mut signer = Signer::new(MessageDigest::sha256(), &key)?;
|
||||||
signer.update(to_sign.as_bytes())?;
|
signer.update(to_sign.as_bytes())?;
|
||||||
signer.sign_to_vec().map_err(Error::from)
|
signer.sign_to_vec().map_err(sign::Error::from)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn verify(&self, data: &str, signature: &[u8]) -> Result<bool> {
|
fn verify(&self, data: &str, signature: &[u8]) -> sign::Result<bool> {
|
||||||
let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref())?)?;
|
let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref())?)?;
|
||||||
let mut verifier = Verifier::new(MessageDigest::sha256(), &key)?;
|
let mut verifier = Verifier::new(MessageDigest::sha256(), &key)?;
|
||||||
verifier.update(data.as_bytes())?;
|
verifier.update(data.as_bytes())?;
|
||||||
verifier.verify(&signature).map_err(Error::from)
|
verifier.verify(signature).map_err(sign::Error::from)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl, SaveChangesDsl};
|
|||||||
use plume_common::{
|
use plume_common::{
|
||||||
activity_pub::{
|
activity_pub::{
|
||||||
inbox::{AsActor, AsObject, FromId},
|
inbox::{AsActor, AsObject, FromId},
|
||||||
|
sign::Signer,
|
||||||
Id, IntoId, PUBLIC_VISIBILITY,
|
Id, IntoId, PUBLIC_VISIBILITY,
|
||||||
},
|
},
|
||||||
utils,
|
utils,
|
||||||
@@ -141,18 +142,20 @@ impl Comment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn create_activity(&self, conn: &DbConn) -> Result<Create> {
|
pub fn create_activity(&self, conn: &DbConn) -> Result<Create> {
|
||||||
let author = User::get(&conn, self.author_id)?;
|
let author = User::get(conn, self.author_id)?;
|
||||||
|
|
||||||
let note = self.to_activity(conn)?;
|
let note = self.to_activity(conn)?;
|
||||||
let mut act = Create::default();
|
let mut act = Create::default();
|
||||||
act.create_props.set_actor_link(author.into_id())?;
|
act.create_props.set_actor_link(author.into_id())?;
|
||||||
act.create_props.set_object_object(note.clone())?;
|
act.create_props.set_object_object(note.clone())?;
|
||||||
act.object_props
|
act.object_props.set_id_string(format!(
|
||||||
.set_id_string(format!("{}/activity", self.ap_url.clone()?,))?;
|
"{}/activity",
|
||||||
|
self.ap_url.clone().ok_or(Error::MissingApProperty)?,
|
||||||
|
))?;
|
||||||
act.object_props
|
act.object_props
|
||||||
.set_to_link_vec(note.object_props.to_link_vec::<Id>()?)?;
|
.set_to_link_vec(note.object_props.to_link_vec::<Id>()?)?;
|
||||||
act.object_props
|
act.object_props
|
||||||
.set_cc_link_vec(vec![Id::new(self.get_author(&conn)?.followers_endpoint)])?;
|
.set_cc_link_vec(vec![Id::new(self.get_author(conn)?.followers_endpoint)])?;
|
||||||
Ok(act)
|
Ok(act)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,7 +185,9 @@ impl Comment {
|
|||||||
.set_actor_link(self.get_author(conn)?.into_id())?;
|
.set_actor_link(self.get_author(conn)?.into_id())?;
|
||||||
|
|
||||||
let mut tombstone = Tombstone::default();
|
let mut tombstone = Tombstone::default();
|
||||||
tombstone.object_props.set_id_string(self.ap_url.clone()?)?;
|
tombstone
|
||||||
|
.object_props
|
||||||
|
.set_id_string(self.ap_url.clone().ok_or(Error::MissingApProperty)?)?;
|
||||||
act.delete_props.set_object_object(tombstone)?;
|
act.delete_props.set_object_object(tombstone)?;
|
||||||
|
|
||||||
act.object_props
|
act.object_props
|
||||||
@@ -204,7 +209,13 @@ impl FromId<DbConn> for Comment {
|
|||||||
|
|
||||||
fn from_activity(conn: &DbConn, note: Note) -> Result<Self> {
|
fn from_activity(conn: &DbConn, note: Note) -> Result<Self> {
|
||||||
let comm = {
|
let comm = {
|
||||||
let previous_url = note.object_props.in_reply_to.as_ref()?.as_str()?;
|
let previous_url = note
|
||||||
|
.object_props
|
||||||
|
.in_reply_to
|
||||||
|
.as_ref()
|
||||||
|
.ok_or(Error::MissingApProperty)?
|
||||||
|
.as_str()
|
||||||
|
.ok_or(Error::MissingApProperty)?;
|
||||||
let previous_comment = Comment::find_by_ap_url(conn, previous_url);
|
let previous_comment = Comment::find_by_ap_url(conn, previous_url);
|
||||||
|
|
||||||
let is_public = |v: &Option<serde_json::Value>| match v
|
let is_public = |v: &Option<serde_json::Value>| match v
|
||||||
@@ -318,6 +329,10 @@ impl FromId<DbConn> for Comment {
|
|||||||
comm.notify(conn)?;
|
comm.notify(conn)?;
|
||||||
Ok(comm)
|
Ok(comm)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
Instance::get_local_instance_user().expect("Failed to local instance user")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AsObject<User, Create, &DbConn> for Comment {
|
impl AsObject<User, Create, &DbConn> for Comment {
|
||||||
@@ -346,7 +361,7 @@ impl AsObject<User, Delete, &DbConn> for Comment {
|
|||||||
m.delete(conn)?;
|
m.delete(conn)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
for n in Notification::find_for_comment(&conn, &self)? {
|
for n in Notification::find_for_comment(conn, &self)? {
|
||||||
n.delete(&**conn)?;
|
n.delete(&**conn)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+11
-11
@@ -17,7 +17,7 @@ pub struct Config {
|
|||||||
pub db_min_idle: Option<u32>,
|
pub db_min_idle: Option<u32>,
|
||||||
pub search_index: String,
|
pub search_index: String,
|
||||||
pub search_tokenizers: SearchTokenizerConfig,
|
pub search_tokenizers: SearchTokenizerConfig,
|
||||||
pub rocket: Result<RocketConfig, RocketError>,
|
pub rocket: Result<RocketConfig, InvalidRocketConfig>,
|
||||||
pub logo: LogoConfig,
|
pub logo: LogoConfig,
|
||||||
pub default_theme: String,
|
pub default_theme: String,
|
||||||
pub media_directory: String,
|
pub media_directory: String,
|
||||||
@@ -31,21 +31,21 @@ impl Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub enum RocketError {
|
pub enum InvalidRocketConfig {
|
||||||
InvalidEnv,
|
Env,
|
||||||
InvalidAddress,
|
Address,
|
||||||
InvalidSecretKey,
|
SecretKey,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_rocket_config() -> Result<RocketConfig, RocketError> {
|
fn get_rocket_config() -> Result<RocketConfig, InvalidRocketConfig> {
|
||||||
let mut c = RocketConfig::active().map_err(|_| RocketError::InvalidEnv)?;
|
let mut c = RocketConfig::active().map_err(|_| InvalidRocketConfig::Env)?;
|
||||||
|
|
||||||
let address = var("ROCKET_ADDRESS").unwrap_or_else(|_| "localhost".to_owned());
|
let address = var("ROCKET_ADDRESS").unwrap_or_else(|_| "localhost".to_owned());
|
||||||
let port = var("ROCKET_PORT")
|
let port = var("ROCKET_PORT")
|
||||||
.ok()
|
.ok()
|
||||||
.map(|s| s.parse::<u16>().unwrap())
|
.map(|s| s.parse::<u16>().unwrap())
|
||||||
.unwrap_or(7878);
|
.unwrap_or(7878);
|
||||||
let secret_key = var("ROCKET_SECRET_KEY").map_err(|_| RocketError::InvalidSecretKey)?;
|
let secret_key = var("ROCKET_SECRET_KEY").map_err(|_| InvalidRocketConfig::SecretKey)?;
|
||||||
let form_size = var("FORM_SIZE")
|
let form_size = var("FORM_SIZE")
|
||||||
.unwrap_or_else(|_| "128".to_owned())
|
.unwrap_or_else(|_| "128".to_owned())
|
||||||
.parse::<u64>()
|
.parse::<u64>()
|
||||||
@@ -56,10 +56,10 @@ fn get_rocket_config() -> Result<RocketConfig, RocketError> {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
c.set_address(address)
|
c.set_address(address)
|
||||||
.map_err(|_| RocketError::InvalidAddress)?;
|
.map_err(|_| InvalidRocketConfig::Address)?;
|
||||||
c.set_port(port);
|
c.set_port(port);
|
||||||
c.set_secret_key(secret_key)
|
c.set_secret_key(secret_key)
|
||||||
.map_err(|_| RocketError::InvalidSecretKey)?;
|
.map_err(|_| InvalidRocketConfig::SecretKey)?;
|
||||||
|
|
||||||
c.set_limits(
|
c.set_limits(
|
||||||
Limits::new()
|
Limits::new()
|
||||||
@@ -155,7 +155,7 @@ impl Default for LogoConfig {
|
|||||||
.ok()
|
.ok()
|
||||||
.or_else(|| custom_main.clone());
|
.or_else(|| custom_main.clone());
|
||||||
let other = if let Some(main) = custom_main.clone() {
|
let other = if let Some(main) = custom_main.clone() {
|
||||||
let ext = |path: &str| match path.rsplitn(2, '.').next() {
|
let ext = |path: &str| match path.rsplit_once('.').map(|x| x.1) {
|
||||||
Some("png") => Some("image/png".to_owned()),
|
Some("png") => Some("image/png".to_owned()),
|
||||||
Some("jpg") | Some("jpeg") => Some("image/jpeg".to_owned()),
|
Some("jpg") | Some("jpeg") => Some("image/jpeg".to_owned()),
|
||||||
Some("svg") => Some("image/svg+xml".to_owned()),
|
Some("svg") => Some("image/svg+xml".to_owned()),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
ap_url, db_conn::DbConn, notifications::*, schema::follows, users::User, Connection, Error,
|
ap_url, db_conn::DbConn, instance::Instance, notifications::*, schema::follows, users::User,
|
||||||
Result, CONFIG,
|
Connection, Error, Result, CONFIG,
|
||||||
};
|
};
|
||||||
use activitypub::activity::{Accept, Follow as FollowAct, Undo};
|
use activitypub::activity::{Accept, Follow as FollowAct, Undo};
|
||||||
use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl, SaveChangesDsl};
|
use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl, SaveChangesDsl};
|
||||||
@@ -183,6 +183,10 @@ impl FromId<DbConn> for Follow {
|
|||||||
.map_err(|(_, e)| e)?;
|
.map_err(|(_, e)| e)?;
|
||||||
Follow::accept_follow(conn, &actor, &target, follow, actor.id, target.id)
|
Follow::accept_follow(conn, &actor, &target, follow, actor.id, target.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
Instance::get_local_instance_user().expect("Failed to local instance user")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AsObject<User, Undo, &DbConn> for Follow {
|
impl AsObject<User, Undo, &DbConn> for Follow {
|
||||||
@@ -195,7 +199,7 @@ impl AsObject<User, Undo, &DbConn> for Follow {
|
|||||||
diesel::delete(&self).execute(&**conn)?;
|
diesel::delete(&self).execute(&**conn)?;
|
||||||
|
|
||||||
// delete associated notification if any
|
// delete associated notification if any
|
||||||
if let Ok(notif) = Notification::find(&conn, notification_kind::FOLLOW, self.id) {
|
if let Ok(notif) = Notification::find(conn, notification_kind::FOLLOW, self.id) {
|
||||||
diesel::delete(¬if).execute(&**conn)?;
|
diesel::delete(¬if).execute(&**conn)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,12 @@ use crate::{
|
|||||||
medias::Media,
|
medias::Media,
|
||||||
safe_string::SafeString,
|
safe_string::SafeString,
|
||||||
schema::{instances, users},
|
schema::{instances, users},
|
||||||
users::{Role, User},
|
users::{NewUser, Role, User},
|
||||||
Connection, Error, Result,
|
Connection, Error, Result,
|
||||||
};
|
};
|
||||||
use chrono::NaiveDateTime;
|
use chrono::NaiveDateTime;
|
||||||
use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl};
|
use diesel::{self, result::Error::NotFound, ExpressionMethods, QueryDsl, RunQueryDsl};
|
||||||
|
use once_cell::sync::OnceCell;
|
||||||
use plume_common::utils::md_to_html;
|
use plume_common::utils::md_to_html;
|
||||||
use std::sync::RwLock;
|
use std::sync::RwLock;
|
||||||
|
|
||||||
@@ -45,6 +46,9 @@ lazy_static! {
|
|||||||
static ref LOCAL_INSTANCE: RwLock<Option<Instance>> = RwLock::new(None);
|
static ref LOCAL_INSTANCE: RwLock<Option<Instance>> = RwLock::new(None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const LOCAL_INSTANCE_USERNAME: &str = "__instance__";
|
||||||
|
static LOCAL_INSTANCE_USER: OnceCell<User> = OnceCell::new();
|
||||||
|
|
||||||
impl Instance {
|
impl Instance {
|
||||||
pub fn set_local(self) {
|
pub fn set_local(self) {
|
||||||
LOCAL_INSTANCE.write().unwrap().replace(self);
|
LOCAL_INSTANCE.write().unwrap().replace(self);
|
||||||
@@ -76,6 +80,42 @@ impl Instance {
|
|||||||
.map_err(Error::from)
|
.map_err(Error::from)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn create_local_instance_user(conn: &Connection) -> Result<User> {
|
||||||
|
let instance = Instance::get_local()?;
|
||||||
|
let email = format!("{}@{}", LOCAL_INSTANCE_USERNAME, &instance.public_domain);
|
||||||
|
NewUser::new_local(
|
||||||
|
conn,
|
||||||
|
LOCAL_INSTANCE_USERNAME.into(),
|
||||||
|
instance.public_domain,
|
||||||
|
Role::Instance,
|
||||||
|
"Local instance",
|
||||||
|
email,
|
||||||
|
None,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn get_local_instance_user() -> Option<&'static User> {
|
||||||
|
LOCAL_INSTANCE_USER.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn get_local_instance_user_uncached(conn: &Connection) -> Result<User> {
|
||||||
|
users::table
|
||||||
|
.filter(users::role.eq(3))
|
||||||
|
.first(conn)
|
||||||
|
.or_else(|err| match err {
|
||||||
|
NotFound => Self::create_local_instance_user(conn),
|
||||||
|
_ => Err(Error::Db(err)),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn cache_local_instance_user(conn: &Connection) {
|
||||||
|
let _ = LOCAL_INSTANCE_USER.get_or_init(|| {
|
||||||
|
Self::get_local_instance_user_uncached(conn)
|
||||||
|
.or_else(|_| Self::create_local_instance_user(conn))
|
||||||
|
.expect("Failed to cache local instance user")
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
pub fn page(conn: &Connection, (min, max): (i32, i32)) -> Result<Vec<Instance>> {
|
pub fn page(conn: &Connection, (min, max): (i32, i32)) -> Result<Vec<Instance>> {
|
||||||
instances::table
|
instances::table
|
||||||
.order(instances::public_domain.asc())
|
.order(instances::public_domain.asc())
|
||||||
@@ -304,6 +344,7 @@ pub(crate) mod tests {
|
|||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
Instance::cache_local(conn);
|
Instance::cache_local(conn);
|
||||||
|
Instance::cache_local_instance_user(conn);
|
||||||
res
|
res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+13
-8
@@ -1,4 +1,3 @@
|
|||||||
#![feature(try_trait)]
|
|
||||||
#![feature(never_type)]
|
#![feature(never_type)]
|
||||||
#![feature(proc_macro_hygiene)]
|
#![feature(proc_macro_hygiene)]
|
||||||
#![feature(box_patterns)]
|
#![feature(box_patterns)]
|
||||||
@@ -18,7 +17,7 @@ extern crate serde_json;
|
|||||||
extern crate tantivy;
|
extern crate tantivy;
|
||||||
|
|
||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
use plume_common::activity_pub::inbox::InboxError;
|
use plume_common::activity_pub::{inbox::InboxError, request, sign};
|
||||||
use posts::PostEvent;
|
use posts::PostEvent;
|
||||||
use riker::actors::{channel, ActorSystem, ChannelRef, SystemBuilder};
|
use riker::actors::{channel, ActorSystem, ChannelRef, SystemBuilder};
|
||||||
use users::UserEvent;
|
use users::UserEvent;
|
||||||
@@ -80,15 +79,15 @@ impl From<openssl::error::ErrorStack> for Error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<diesel::result::Error> for Error {
|
impl From<sign::Error> for Error {
|
||||||
fn from(err: diesel::result::Error) -> Self {
|
fn from(_: sign::Error) -> Self {
|
||||||
Error::Db(err)
|
Error::Signature
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<std::option::NoneError> for Error {
|
impl From<diesel::result::Error> for Error {
|
||||||
fn from(_: std::option::NoneError) -> Self {
|
fn from(err: diesel::result::Error) -> Self {
|
||||||
Error::NotFound
|
Error::Db(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,6 +157,12 @@ impl From<InboxError<Error>> for Error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl From<request::Error> for Error {
|
||||||
|
fn from(_err: request::Error) -> Error {
|
||||||
|
Error::Request
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub type Result<T> = std::result::Result<T, Error>;
|
pub type Result<T> = std::result::Result<T, Error>;
|
||||||
|
|
||||||
/// Adds a function to a model, that returns the first
|
/// Adds a function to a model, that returns the first
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
db_conn::DbConn, notifications::*, posts::Post, schema::likes, timeline::*, users::User,
|
db_conn::DbConn, instance::Instance, notifications::*, posts::Post, schema::likes, timeline::*,
|
||||||
Connection, Error, Result, CONFIG,
|
users::User, Connection, Error, Result, CONFIG,
|
||||||
};
|
};
|
||||||
use activitypub::activity;
|
use activitypub::activity;
|
||||||
use chrono::NaiveDateTime;
|
use chrono::NaiveDateTime;
|
||||||
use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl};
|
use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl};
|
||||||
use plume_common::activity_pub::{
|
use plume_common::activity_pub::{
|
||||||
inbox::{AsActor, AsObject, FromId},
|
inbox::{AsActor, AsObject, FromId},
|
||||||
|
sign::Signer,
|
||||||
Id, IntoId, PUBLIC_VISIBILITY,
|
Id, IntoId, PUBLIC_VISIBILITY,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -137,6 +138,10 @@ impl FromId<DbConn> for Like {
|
|||||||
res.notify(conn)?;
|
res.notify(conn)?;
|
||||||
Ok(res)
|
Ok(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
Instance::get_local_instance_user().expect("Failed to local instance user")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AsObject<User, activity::Undo, &DbConn> for Like {
|
impl AsObject<User, activity::Undo, &DbConn> for Like {
|
||||||
@@ -148,7 +153,7 @@ impl AsObject<User, activity::Undo, &DbConn> for Like {
|
|||||||
diesel::delete(&self).execute(&**conn)?;
|
diesel::delete(&self).execute(&**conn)?;
|
||||||
|
|
||||||
// delete associated notification if any
|
// delete associated notification if any
|
||||||
if let Ok(notif) = Notification::find(&conn, notification_kind::LIKE, self.id) {
|
if let Ok(notif) = Notification::find(conn, notification_kind::LIKE, self.id) {
|
||||||
diesel::delete(¬if).execute(&**conn)?;
|
diesel::delete(¬if).execute(&**conn)?;
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
@@ -143,6 +143,7 @@ macro_rules! func {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
#[derive(Clone, Queryable, Identifiable)]
|
#[derive(Clone, Queryable, Identifiable)]
|
||||||
struct ListElem {
|
struct ListElem {
|
||||||
pub id: i32,
|
pub id: i32,
|
||||||
|
|||||||
+34
-24
@@ -7,7 +7,7 @@ use askama_escape::escape;
|
|||||||
use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl};
|
use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl};
|
||||||
use guid_create::GUID;
|
use guid_create::GUID;
|
||||||
use plume_common::{
|
use plume_common::{
|
||||||
activity_pub::{inbox::FromId, Id},
|
activity_pub::{inbox::FromId, request, Id},
|
||||||
utils::MediaProcessor,
|
utils::MediaProcessor,
|
||||||
};
|
};
|
||||||
use std::{
|
use std::{
|
||||||
@@ -104,8 +104,8 @@ impl Media {
|
|||||||
pub fn category(&self) -> MediaCategory {
|
pub fn category(&self) -> MediaCategory {
|
||||||
match &*self
|
match &*self
|
||||||
.file_path
|
.file_path
|
||||||
.rsplitn(2, '.')
|
.rsplit_once('.')
|
||||||
.next()
|
.map(|x| x.1)
|
||||||
.expect("Media::category: extension error")
|
.expect("Media::category: extension error")
|
||||||
.to_lowercase()
|
.to_lowercase()
|
||||||
{
|
{
|
||||||
@@ -156,7 +156,11 @@ impl Media {
|
|||||||
if self.is_remote {
|
if self.is_remote {
|
||||||
Ok(self.remote_url.clone().unwrap_or_default())
|
Ok(self.remote_url.clone().unwrap_or_default())
|
||||||
} else {
|
} else {
|
||||||
let file_path = self.file_path.replace(path::MAIN_SEPARATOR, "/");
|
let file_path = self.file_path.replace(path::MAIN_SEPARATOR, "/").replacen(
|
||||||
|
&CONFIG.media_directory,
|
||||||
|
"static/media",
|
||||||
|
1,
|
||||||
|
); // "static/media" from plume::routs::plume_media_files()
|
||||||
Ok(ap_url(&format!(
|
Ok(ap_url(&format!(
|
||||||
"{}/{}",
|
"{}/{}",
|
||||||
Instance::get_local()?.public_domain,
|
Instance::get_local()?.public_domain,
|
||||||
@@ -204,31 +208,33 @@ impl Media {
|
|||||||
|
|
||||||
// TODO: merge with save_remote?
|
// TODO: merge with save_remote?
|
||||||
pub fn from_activity(conn: &DbConn, image: &Image) -> Result<Media> {
|
pub fn from_activity(conn: &DbConn, image: &Image) -> Result<Media> {
|
||||||
let remote_url = image.object_props.url_string().ok()?;
|
let remote_url = image
|
||||||
|
.object_props
|
||||||
|
.url_string()
|
||||||
|
.or(Err(Error::MissingApProperty))?;
|
||||||
let path = determine_mirror_file_path(&remote_url);
|
let path = determine_mirror_file_path(&remote_url);
|
||||||
let parent = path.parent()?;
|
let parent = path.parent().ok_or(Error::InvalidValue)?;
|
||||||
if !parent.is_dir() {
|
if !parent.is_dir() {
|
||||||
DirBuilder::new().recursive(true).create(parent)?;
|
DirBuilder::new().recursive(true).create(parent)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut dest = fs::File::create(path.clone()).ok()?;
|
let mut dest = fs::File::create(path.clone())?;
|
||||||
// TODO: conditional GET
|
// TODO: conditional GET
|
||||||
if let Some(proxy) = CONFIG.proxy() {
|
request::get(
|
||||||
reqwest::ClientBuilder::new().proxy(proxy.clone()).build()?
|
remote_url.as_str(),
|
||||||
} else {
|
User::get_sender(),
|
||||||
reqwest::Client::new()
|
CONFIG.proxy().cloned(),
|
||||||
}
|
)?
|
||||||
.get(remote_url.as_str())
|
.copy_to(&mut dest)?;
|
||||||
.send()
|
|
||||||
.ok()?
|
|
||||||
.copy_to(&mut dest)
|
|
||||||
.ok()?;
|
|
||||||
|
|
||||||
Media::find_by_file_path(conn, &path.to_str()?)
|
Media::find_by_file_path(conn, path.to_str().ok_or(Error::InvalidValue)?)
|
||||||
.and_then(|mut media| {
|
.and_then(|mut media| {
|
||||||
let mut updated = false;
|
let mut updated = false;
|
||||||
|
|
||||||
let alt_text = image.object_props.content_string().ok()?;
|
let alt_text = image
|
||||||
|
.object_props
|
||||||
|
.content_string()
|
||||||
|
.or(Err(Error::NotFound))?;
|
||||||
let sensitive = image.object_props.summary_string().is_ok();
|
let sensitive = image.object_props.summary_string().is_ok();
|
||||||
let content_warning = image.object_props.summary_string().ok();
|
let content_warning = image.object_props.summary_string().ok();
|
||||||
if media.alt_text != alt_text {
|
if media.alt_text != alt_text {
|
||||||
@@ -260,8 +266,11 @@ impl Media {
|
|||||||
Media::insert(
|
Media::insert(
|
||||||
conn,
|
conn,
|
||||||
NewMedia {
|
NewMedia {
|
||||||
file_path: path.to_str()?.to_string(),
|
file_path: path.to_str().ok_or(Error::InvalidValue)?.to_string(),
|
||||||
alt_text: image.object_props.content_string().ok()?,
|
alt_text: image
|
||||||
|
.object_props
|
||||||
|
.content_string()
|
||||||
|
.or(Err(Error::NotFound))?,
|
||||||
is_remote: false,
|
is_remote: false,
|
||||||
remote_url: None,
|
remote_url: None,
|
||||||
sensitive: image.object_props.summary_string().is_ok(),
|
sensitive: image.object_props.summary_string().is_ok(),
|
||||||
@@ -271,9 +280,10 @@ impl Media {
|
|||||||
image
|
image
|
||||||
.object_props
|
.object_props
|
||||||
.attributed_to_link_vec::<Id>()
|
.attributed_to_link_vec::<Id>()
|
||||||
.ok()?
|
.or(Err(Error::NotFound))?
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.next()?
|
.next()
|
||||||
|
.ok_or(Error::NotFound)?
|
||||||
.as_ref(),
|
.as_ref(),
|
||||||
None,
|
None,
|
||||||
CONFIG.proxy(),
|
CONFIG.proxy(),
|
||||||
@@ -321,7 +331,7 @@ fn determine_mirror_file_path(url: &str) -> PathBuf {
|
|||||||
.next()
|
.next()
|
||||||
.map(ToOwned::to_owned)
|
.map(ToOwned::to_owned)
|
||||||
.unwrap_or_else(|| String::from("png"));
|
.unwrap_or_else(|| String::from("png"));
|
||||||
file_path.push(format!("{}.{}", GUID::rand().to_string(), ext));
|
file_path.push(format!("{}.{}", GUID::rand(), ext));
|
||||||
});
|
});
|
||||||
file_path
|
file_path
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,11 @@ impl Mention {
|
|||||||
|
|
||||||
pub fn get_user(&self, conn: &Connection) -> Result<User> {
|
pub fn get_user(&self, conn: &Connection) -> Result<User> {
|
||||||
match self.get_post(conn) {
|
match self.get_post(conn) {
|
||||||
Ok(p) => Ok(p.get_authors(conn)?.into_iter().next()?),
|
Ok(p) => Ok(p
|
||||||
|
.get_authors(conn)?
|
||||||
|
.into_iter()
|
||||||
|
.next()
|
||||||
|
.ok_or(Error::NotFound)?),
|
||||||
Err(_) => self.get_comment(conn).and_then(|c| c.get_author(conn)),
|
Err(_) => self.get_comment(conn).and_then(|c| c.get_author(conn)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -77,7 +81,7 @@ impl Mention {
|
|||||||
in_post: bool,
|
in_post: bool,
|
||||||
notify: bool,
|
notify: bool,
|
||||||
) -> Result<Self> {
|
) -> Result<Self> {
|
||||||
let ap_url = ment.link_props.href_string().ok()?;
|
let ap_url = ment.link_props.href_string().or(Err(Error::NotFound))?;
|
||||||
let mentioned = User::find_by_ap_url(conn, &ap_url)?;
|
let mentioned = User::find_by_ap_url(conn, &ap_url)?;
|
||||||
|
|
||||||
if in_post {
|
if in_post {
|
||||||
|
|||||||
@@ -105,7 +105,8 @@ impl ImportedMigrations {
|
|||||||
pub fn rerun_last_migration(&self, conn: &Connection, path: &Path) -> Result<()> {
|
pub fn rerun_last_migration(&self, conn: &Connection, path: &Path) -> Result<()> {
|
||||||
let latest_migration = conn.latest_run_migration_version()?;
|
let latest_migration = conn.latest_run_migration_version()?;
|
||||||
let id = latest_migration
|
let id = latest_migration
|
||||||
.and_then(|m| self.0.binary_search_by_key(&m.as_str(), |m| m.name).ok())?;
|
.and_then(|m| self.0.binary_search_by_key(&m.as_str(), |m| m.name).ok())
|
||||||
|
.ok_or(Error::NotFound)?;
|
||||||
let migration = &self.0[id];
|
let migration = &self.0[id];
|
||||||
conn.transaction(|| {
|
conn.transaction(|| {
|
||||||
migration.revert(conn, path)?;
|
migration.revert(conn, path)?;
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ impl PasswordResetRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn find_and_delete_by_token(conn: &Connection, token: &str) -> Result<Self> {
|
pub fn find_and_delete_by_token(conn: &Connection, token: &str) -> Result<Self> {
|
||||||
let request = Self::find_by_token(&conn, &token)?;
|
let request = Self::find_by_token(conn, token)?;
|
||||||
|
|
||||||
let filter =
|
let filter =
|
||||||
password_reset_requests::table.filter(password_reset_requests::id.eq(request.id));
|
password_reset_requests::table.filter(password_reset_requests::id.eq(request.id));
|
||||||
|
|||||||
+35
-18
@@ -11,14 +11,14 @@ use activitypub::{
|
|||||||
};
|
};
|
||||||
use chrono::{NaiveDateTime, TimeZone, Utc};
|
use chrono::{NaiveDateTime, TimeZone, Utc};
|
||||||
use diesel::{self, BelongingToDsl, ExpressionMethods, QueryDsl, RunQueryDsl, SaveChangesDsl};
|
use diesel::{self, BelongingToDsl, ExpressionMethods, QueryDsl, RunQueryDsl, SaveChangesDsl};
|
||||||
use heck::KebabCase;
|
|
||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
use plume_common::{
|
use plume_common::{
|
||||||
activity_pub::{
|
activity_pub::{
|
||||||
inbox::{AsActor, AsObject, FromId},
|
inbox::{AsActor, AsObject, FromId},
|
||||||
|
sign::Signer,
|
||||||
Hashtag, Id, IntoId, Licensed, Source, PUBLIC_VISIBILITY,
|
Hashtag, Id, IntoId, Licensed, Source, PUBLIC_VISIBILITY,
|
||||||
},
|
},
|
||||||
utils::md_to_html,
|
utils::{iri_percent_encode_seg, md_to_html},
|
||||||
};
|
};
|
||||||
use riker::actors::{Publish, Tell};
|
use riker::actors::{Publish, Tell};
|
||||||
use std::collections::{HashMap, HashSet};
|
use std::collections::{HashMap, HashSet};
|
||||||
@@ -73,12 +73,7 @@ impl Post {
|
|||||||
.execute(conn)?;
|
.execute(conn)?;
|
||||||
let mut post = Self::last(conn)?;
|
let mut post = Self::last(conn)?;
|
||||||
if post.ap_url.is_empty() {
|
if post.ap_url.is_empty() {
|
||||||
post.ap_url = ap_url(&format!(
|
post.ap_url = Self::ap_url(post.get_blog(conn)?, &post.slug);
|
||||||
"{}/~/{}/{}/",
|
|
||||||
CONFIG.base_url,
|
|
||||||
post.get_blog(conn)?.fqn,
|
|
||||||
post.slug
|
|
||||||
));
|
|
||||||
let _: Post = post.save_changes(conn)?;
|
let _: Post = post.save_changes(conn)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,7 +98,7 @@ impl Post {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn delete(&self, conn: &Connection) -> Result<()> {
|
pub fn delete(&self, conn: &Connection) -> Result<()> {
|
||||||
for m in Mention::list_for_post(&conn, self.id)? {
|
for m in Mention::list_for_post(conn, self.id)? {
|
||||||
m.delete(conn)?;
|
m.delete(conn)?;
|
||||||
}
|
}
|
||||||
diesel::delete(self).execute(conn)?;
|
diesel::delete(self).execute(conn)?;
|
||||||
@@ -254,6 +249,20 @@ impl Post {
|
|||||||
.map_err(Error::from)
|
.map_err(Error::from)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn ap_url(blog: Blog, slug: &str) -> String {
|
||||||
|
ap_url(&format!(
|
||||||
|
"{}/~/{}/{}/",
|
||||||
|
CONFIG.base_url,
|
||||||
|
blog.fqn,
|
||||||
|
iri_percent_encode_seg(slug)
|
||||||
|
))
|
||||||
|
}
|
||||||
|
|
||||||
|
// It's better to calc slug in insert and update
|
||||||
|
pub fn slug(title: &str) -> &str {
|
||||||
|
title
|
||||||
|
}
|
||||||
|
|
||||||
pub fn get_authors(&self, conn: &Connection) -> Result<Vec<User>> {
|
pub fn get_authors(&self, conn: &Connection) -> Result<Vec<User>> {
|
||||||
use crate::schema::post_authors;
|
use crate::schema::post_authors;
|
||||||
use crate::schema::users;
|
use crate::schema::users;
|
||||||
@@ -449,14 +458,14 @@ impl Post {
|
|||||||
.filter_map(|(id, m)| id.map(|id| (m, id)))
|
.filter_map(|(id, m)| id.map(|id| (m, id)))
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
let old_mentions = Mention::list_for_post(&conn, self.id)?;
|
let old_mentions = Mention::list_for_post(conn, self.id)?;
|
||||||
let old_user_mentioned = old_mentions
|
let old_user_mentioned = old_mentions
|
||||||
.iter()
|
.iter()
|
||||||
.map(|m| m.mentioned_id)
|
.map(|m| m.mentioned_id)
|
||||||
.collect::<HashSet<_>>();
|
.collect::<HashSet<_>>();
|
||||||
for (m, id) in &mentions {
|
for (m, id) in &mentions {
|
||||||
if !old_user_mentioned.contains(&id) {
|
if !old_user_mentioned.contains(id) {
|
||||||
Mention::from_activity(&*conn, &m, self.id, true, true)?;
|
Mention::from_activity(&*conn, m, self.id, true, true)?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -468,7 +477,7 @@ impl Post {
|
|||||||
.iter()
|
.iter()
|
||||||
.filter(|m| !new_mentions.contains(&m.mentioned_id))
|
.filter(|m| !new_mentions.contains(&m.mentioned_id))
|
||||||
{
|
{
|
||||||
m.delete(&conn)?;
|
m.delete(conn)?;
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
@@ -649,12 +658,12 @@ impl FromId<DbConn> for Post {
|
|||||||
.and_then(|mut post| {
|
.and_then(|mut post| {
|
||||||
let mut updated = false;
|
let mut updated = false;
|
||||||
|
|
||||||
let slug = title.to_kebab_case();
|
let slug = Self::slug(&title);
|
||||||
let content = SafeString::new(&article.object_props.content_string()?);
|
let content = SafeString::new(&article.object_props.content_string()?);
|
||||||
let subtitle = article.object_props.summary_string()?;
|
let subtitle = article.object_props.summary_string()?;
|
||||||
let source = article.ap_object_props.source_object::<Source>()?.content;
|
let source = article.ap_object_props.source_object::<Source>()?.content;
|
||||||
if post.slug != slug {
|
if post.slug != slug {
|
||||||
post.slug = slug;
|
post.slug = slug.to_string();
|
||||||
updated = true;
|
updated = true;
|
||||||
}
|
}
|
||||||
if post.title != title {
|
if post.title != title {
|
||||||
@@ -692,8 +701,8 @@ impl FromId<DbConn> for Post {
|
|||||||
Post::insert(
|
Post::insert(
|
||||||
conn,
|
conn,
|
||||||
NewPost {
|
NewPost {
|
||||||
blog_id: blog?.id,
|
blog_id: blog.ok_or(Error::NotFound)?.id,
|
||||||
slug: title.to_kebab_case(),
|
slug: Self::slug(&title).to_string(),
|
||||||
title,
|
title,
|
||||||
content: SafeString::new(&article.object_props.content_string()?),
|
content: SafeString::new(&article.object_props.content_string()?),
|
||||||
published: true,
|
published: true,
|
||||||
@@ -751,6 +760,10 @@ impl FromId<DbConn> for Post {
|
|||||||
|
|
||||||
Ok(post)
|
Ok(post)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
Instance::get_local_instance_user().expect("Failed to local instance user")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AsObject<User, Create, &DbConn> for Post {
|
impl AsObject<User, Create, &DbConn> for Post {
|
||||||
@@ -822,6 +835,10 @@ impl FromId<DbConn> for PostUpdate {
|
|||||||
tags: updated.object.object_props.tag,
|
tags: updated.object.object_props.tag,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
Instance::get_local_instance_user().expect("Failed to local instance user")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AsObject<User, Update, &DbConn> for PostUpdate {
|
impl AsObject<User, Update, &DbConn> for PostUpdate {
|
||||||
@@ -838,7 +855,7 @@ impl AsObject<User, Update, &DbConn> for PostUpdate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if let Some(title) = self.title {
|
if let Some(title) = self.title {
|
||||||
post.slug = title.to_kebab_case();
|
post.slug = Post::slug(&title).to_string();
|
||||||
post.title = title;
|
post.title = title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
db_conn::DbConn, notifications::*, posts::Post, schema::reshares, timeline::*, users::User,
|
db_conn::DbConn, instance::Instance, notifications::*, posts::Post, schema::reshares,
|
||||||
Connection, Error, Result, CONFIG,
|
timeline::*, users::User, Connection, Error, Result, CONFIG,
|
||||||
};
|
};
|
||||||
use activitypub::activity::{Announce, Undo};
|
use activitypub::activity::{Announce, Undo};
|
||||||
use chrono::NaiveDateTime;
|
use chrono::NaiveDateTime;
|
||||||
use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl};
|
use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl};
|
||||||
use plume_common::activity_pub::{
|
use plume_common::activity_pub::{
|
||||||
inbox::{AsActor, AsObject, FromId},
|
inbox::{AsActor, AsObject, FromId},
|
||||||
|
sign::Signer,
|
||||||
Id, IntoId, PUBLIC_VISIBILITY,
|
Id, IntoId, PUBLIC_VISIBILITY,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -162,6 +163,10 @@ impl FromId<DbConn> for Reshare {
|
|||||||
res.notify(conn)?;
|
res.notify(conn)?;
|
||||||
Ok(res)
|
Ok(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
Instance::get_local_instance_user().expect("Failed to local instance user")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AsObject<User, Undo, &DbConn> for Reshare {
|
impl AsObject<User, Undo, &DbConn> for Reshare {
|
||||||
@@ -173,7 +178,7 @@ impl AsObject<User, Undo, &DbConn> for Reshare {
|
|||||||
diesel::delete(&self).execute(&**conn)?;
|
diesel::delete(&self).execute(&**conn)?;
|
||||||
|
|
||||||
// delete associated notification if any
|
// delete associated notification if any
|
||||||
if let Ok(notif) = Notification::find(&conn, notification_kind::RESHARE, self.id) {
|
if let Ok(notif) = Notification::find(conn, notification_kind::RESHARE, self.id) {
|
||||||
diesel::delete(¬if).execute(&**conn)?;
|
diesel::delete(¬if).execute(&**conn)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ pub struct SafeString {
|
|||||||
impl SafeString {
|
impl SafeString {
|
||||||
pub fn new(value: &str) -> Self {
|
pub fn new(value: &str) -> Self {
|
||||||
SafeString {
|
SafeString {
|
||||||
value: CLEAN.clean(&value).to_string(),
|
value: CLEAN.clean(value).to_string(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ impl PlumeQuery {
|
|||||||
|
|
||||||
/// Parse a query string into this Query
|
/// Parse a query string into this Query
|
||||||
pub fn parse_query(&mut self, query: &str) -> &mut Self {
|
pub fn parse_query(&mut self, query: &str) -> &mut Self {
|
||||||
self.from_str_req(&query.trim())
|
self.from_str_req(query.trim())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Convert this Query to a Tantivy Query
|
/// Convert this Query to a Tantivy Query
|
||||||
@@ -360,7 +360,7 @@ impl std::str::FromStr for PlumeQuery {
|
|||||||
fn from_str(query: &str) -> Result<PlumeQuery, !> {
|
fn from_str(query: &str) -> Result<PlumeQuery, !> {
|
||||||
let mut res: PlumeQuery = Default::default();
|
let mut res: PlumeQuery = Default::default();
|
||||||
|
|
||||||
res.from_str_req(&query.trim());
|
res.from_str_req(query.trim());
|
||||||
Ok(res)
|
Ok(res)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -223,6 +223,9 @@ impl Timeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn add_post(&self, conn: &Connection, post: &Post) -> Result<()> {
|
pub fn add_post(&self, conn: &Connection, post: &Post) -> Result<()> {
|
||||||
|
if self.includes_post(conn, post)? {
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
diesel::insert_into(timeline::table)
|
diesel::insert_into(timeline::table)
|
||||||
.values(TimelineEntry {
|
.values(TimelineEntry {
|
||||||
post_id: post.id,
|
post_id: post.id,
|
||||||
@@ -236,6 +239,16 @@ impl Timeline {
|
|||||||
let query = TimelineQuery::parse(&self.query)?;
|
let query = TimelineQuery::parse(&self.query)?;
|
||||||
query.matches(conn, self, post, kind)
|
query.matches(conn, self, post, kind)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn includes_post(&self, conn: &Connection, post: &Post) -> Result<bool> {
|
||||||
|
diesel::dsl::select(diesel::dsl::exists(
|
||||||
|
timeline::table
|
||||||
|
.filter(timeline::timeline_id.eq(self.id))
|
||||||
|
.filter(timeline::post_id.eq(post.id)),
|
||||||
|
))
|
||||||
|
.get_result(conn)
|
||||||
|
.map_err(Error::from)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -18,12 +18,6 @@ pub enum QueryError {
|
|||||||
RuntimeError(String),
|
RuntimeError(String),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<std::option::NoneError> for QueryError {
|
|
||||||
fn from(_: std::option::NoneError) -> Self {
|
|
||||||
QueryError::UnexpectedEndOfQuery
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub type QueryResult<T> = std::result::Result<T, QueryError>;
|
pub type QueryResult<T> = std::result::Result<T, QueryError>;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||||
@@ -239,7 +233,7 @@ impl WithList {
|
|||||||
) -> Result<bool> {
|
) -> Result<bool> {
|
||||||
match list {
|
match list {
|
||||||
List::List(name) => {
|
List::List(name) => {
|
||||||
let list = lists::List::find_for_user_by_name(conn, timeline.user_id, &name)?;
|
let list = lists::List::find_for_user_by_name(conn, timeline.user_id, name)?;
|
||||||
match (self, list.kind()) {
|
match (self, list.kind()) {
|
||||||
(WithList::Blog, ListType::Blog) => list.contains_blog(conn, post.blog_id),
|
(WithList::Blog, ListType::Blog) => list.contains_blog(conn, post.blog_id),
|
||||||
(WithList::Author { boosts, likes }, ListType::User) => match kind {
|
(WithList::Author { boosts, likes }, ListType::User) => match kind {
|
||||||
@@ -414,7 +408,7 @@ enum List<'a> {
|
|||||||
|
|
||||||
fn parse_s<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], TQ<'a>)> {
|
fn parse_s<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], TQ<'a>)> {
|
||||||
let mut res = Vec::new();
|
let mut res = Vec::new();
|
||||||
let (left, token) = parse_a(&stream)?;
|
let (left, token) = parse_a(stream)?;
|
||||||
res.push(token);
|
res.push(token);
|
||||||
stream = left;
|
stream = left;
|
||||||
while !stream.is_empty() {
|
while !stream.is_empty() {
|
||||||
@@ -436,7 +430,7 @@ fn parse_s<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>],
|
|||||||
|
|
||||||
fn parse_a<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], TQ<'a>)> {
|
fn parse_a<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], TQ<'a>)> {
|
||||||
let mut res = Vec::new();
|
let mut res = Vec::new();
|
||||||
let (left, token) = parse_b(&stream)?;
|
let (left, token) = parse_b(stream)?;
|
||||||
res.push(token);
|
res.push(token);
|
||||||
stream = left;
|
stream = left;
|
||||||
while !stream.is_empty() {
|
while !stream.is_empty() {
|
||||||
@@ -463,7 +457,7 @@ fn parse_b<'a, 'b>(stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], TQ<
|
|||||||
match left.get(0) {
|
match left.get(0) {
|
||||||
Some(Token::RParent(_)) => Ok((&left[1..], token)),
|
Some(Token::RParent(_)) => Ok((&left[1..], token)),
|
||||||
Some(t) => t.get_error(Token::RParent(0)),
|
Some(t) => t.get_error(Token::RParent(0)),
|
||||||
None => None?,
|
None => Err(QueryError::UnexpectedEndOfQuery),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ => parse_c(stream),
|
_ => parse_c(stream),
|
||||||
@@ -484,9 +478,13 @@ fn parse_c<'a, 'b>(stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], TQ<
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn parse_d<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], Arg<'a>)> {
|
fn parse_d<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], Arg<'a>)> {
|
||||||
match stream.get(0).map(Token::get_text)? {
|
match stream
|
||||||
|
.get(0)
|
||||||
|
.map(Token::get_text)
|
||||||
|
.ok_or(QueryError::UnexpectedEndOfQuery)?
|
||||||
|
{
|
||||||
s @ "blog" | s @ "author" | s @ "license" | s @ "tags" | s @ "lang" => {
|
s @ "blog" | s @ "author" | s @ "license" | s @ "tags" | s @ "lang" => {
|
||||||
match stream.get(1)? {
|
match stream.get(1).ok_or(QueryError::UnexpectedEndOfQuery)? {
|
||||||
Token::Word(_, _, r#in) if r#in == &"in" => {
|
Token::Word(_, _, r#in) if r#in == &"in" => {
|
||||||
let (mut left, list) = parse_l(&stream[2..])?;
|
let (mut left, list) = parse_l(&stream[2..])?;
|
||||||
let kind = match s {
|
let kind = match s {
|
||||||
@@ -498,7 +496,12 @@ fn parse_d<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>],
|
|||||||
if *clude != "include" && *clude != "exclude" {
|
if *clude != "include" && *clude != "exclude" {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
match (*clude, left.get(1).map(Token::get_text)?) {
|
match (
|
||||||
|
*clude,
|
||||||
|
left.get(1)
|
||||||
|
.map(Token::get_text)
|
||||||
|
.ok_or(QueryError::UnexpectedEndOfQuery)?,
|
||||||
|
) {
|
||||||
("include", "reshares") | ("include", "reshare") => {
|
("include", "reshares") | ("include", "reshare") => {
|
||||||
boosts = true
|
boosts = true
|
||||||
}
|
}
|
||||||
@@ -529,7 +532,10 @@ fn parse_d<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>],
|
|||||||
t => t.get_error(Token::Word(0, 0, "'in'")),
|
t => t.get_error(Token::Word(0, 0, "'in'")),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
s @ "title" | s @ "subtitle" | s @ "content" => match (stream.get(1)?, stream.get(2)?) {
|
s @ "title" | s @ "subtitle" | s @ "content" => match (
|
||||||
|
stream.get(1).ok_or(QueryError::UnexpectedEndOfQuery)?,
|
||||||
|
stream.get(2).ok_or(QueryError::UnexpectedEndOfQuery)?,
|
||||||
|
) {
|
||||||
(Token::Word(_, _, contains), Token::Word(_, _, w)) if contains == &"contains" => Ok((
|
(Token::Word(_, _, contains), Token::Word(_, _, w)) if contains == &"contains" => Ok((
|
||||||
&stream[3..],
|
&stream[3..],
|
||||||
Arg::Contains(
|
Arg::Contains(
|
||||||
@@ -555,7 +561,13 @@ fn parse_d<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>],
|
|||||||
if *clude != "include" && *clude != "exclude" {
|
if *clude != "include" && *clude != "exclude" {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
match (*clude, stream.get(2).map(Token::get_text)?) {
|
match (
|
||||||
|
*clude,
|
||||||
|
stream
|
||||||
|
.get(2)
|
||||||
|
.map(Token::get_text)
|
||||||
|
.ok_or(QueryError::UnexpectedEndOfQuery)?,
|
||||||
|
) {
|
||||||
("include", "reshares") | ("include", "reshare") => boosts = true,
|
("include", "reshares") | ("include", "reshare") => boosts = true,
|
||||||
("exclude", "reshares") | ("exclude", "reshare") => boosts = false,
|
("exclude", "reshares") | ("exclude", "reshare") => boosts = false,
|
||||||
("include", "likes") | ("include", "like") => likes = true,
|
("include", "likes") | ("include", "like") => likes = true,
|
||||||
@@ -577,20 +589,23 @@ fn parse_d<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>],
|
|||||||
"all" => Ok((&stream[1..], Arg::Boolean(Bool::All))),
|
"all" => Ok((&stream[1..], Arg::Boolean(Bool::All))),
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
},
|
},
|
||||||
_ => stream.get(0)?.get_error(Token::Word(
|
_ => stream
|
||||||
0,
|
.get(0)
|
||||||
0,
|
.ok_or(QueryError::UnexpectedEndOfQuery)?
|
||||||
"one of 'blog', 'author', 'license', 'tags', 'lang', \
|
.get_error(Token::Word(
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
"one of 'blog', 'author', 'license', 'tags', 'lang', \
|
||||||
'title', 'subtitle', 'content', 'followed', 'has_cover', 'local' or 'all'",
|
'title', 'subtitle', 'content', 'followed', 'has_cover', 'local' or 'all'",
|
||||||
)),
|
)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_l<'a, 'b>(stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], List<'a>)> {
|
fn parse_l<'a, 'b>(stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], List<'a>)> {
|
||||||
match stream.get(0)? {
|
match stream.get(0).ok_or(QueryError::UnexpectedEndOfQuery)? {
|
||||||
Token::LBracket(_) => {
|
Token::LBracket(_) => {
|
||||||
let (left, list) = parse_m(&stream[1..])?;
|
let (left, list) = parse_m(&stream[1..])?;
|
||||||
match left.get(0)? {
|
match left.get(0).ok_or(QueryError::UnexpectedEndOfQuery)? {
|
||||||
Token::RBracket(_) => Ok((&left[1..], List::Array(list))),
|
Token::RBracket(_) => Ok((&left[1..], List::Array(list))),
|
||||||
t => t.get_error(Token::Word(0, 0, "one of ']' or ','")),
|
t => t.get_error(Token::Word(0, 0, "one of ']' or ','")),
|
||||||
}
|
}
|
||||||
@@ -601,16 +616,20 @@ fn parse_l<'a, 'b>(stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], Lis
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn parse_m<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], Vec<&'a str>)> {
|
fn parse_m<'a, 'b>(mut stream: &'b [Token<'a>]) -> QueryResult<(&'b [Token<'a>], Vec<&'a str>)> {
|
||||||
let mut res: Vec<&str> = vec![match stream.get(0)? {
|
let mut res: Vec<&str> = vec![
|
||||||
Token::Word(_, _, w) => w,
|
match stream.get(0).ok_or(QueryError::UnexpectedEndOfQuery)? {
|
||||||
t => return t.get_error(Token::Word(0, 0, "any word")),
|
|
||||||
}];
|
|
||||||
stream = &stream[1..];
|
|
||||||
while let Token::Comma(_) = stream[0] {
|
|
||||||
res.push(match stream.get(1)? {
|
|
||||||
Token::Word(_, _, w) => w,
|
Token::Word(_, _, w) => w,
|
||||||
t => return t.get_error(Token::Word(0, 0, "any word")),
|
t => return t.get_error(Token::Word(0, 0, "any word")),
|
||||||
});
|
},
|
||||||
|
];
|
||||||
|
stream = &stream[1..];
|
||||||
|
while let Token::Comma(_) = stream[0] {
|
||||||
|
res.push(
|
||||||
|
match stream.get(1).ok_or(QueryError::UnexpectedEndOfQuery)? {
|
||||||
|
Token::Word(_, _, w) => w,
|
||||||
|
t => return t.get_error(Token::Word(0, 0, "any word")),
|
||||||
|
},
|
||||||
|
);
|
||||||
stream = &stream[2..];
|
stream = &stream[2..];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+41
-79
@@ -22,17 +22,13 @@ use openssl::{
|
|||||||
};
|
};
|
||||||
use plume_common::{
|
use plume_common::{
|
||||||
activity_pub::{
|
activity_pub::{
|
||||||
ap_accept_header,
|
|
||||||
inbox::{AsActor, AsObject, FromId},
|
inbox::{AsActor, AsObject, FromId},
|
||||||
sign::{gen_keypair, Signer},
|
request::get,
|
||||||
|
sign::{gen_keypair, Error as SignError, Result as SignResult, Signer},
|
||||||
ActivityStream, ApSignature, Id, IntoId, PublicKey, PUBLIC_VISIBILITY,
|
ActivityStream, ApSignature, Id, IntoId, PublicKey, PUBLIC_VISIBILITY,
|
||||||
},
|
},
|
||||||
utils,
|
utils,
|
||||||
};
|
};
|
||||||
use reqwest::{
|
|
||||||
header::{HeaderValue, ACCEPT},
|
|
||||||
ClientBuilder,
|
|
||||||
};
|
|
||||||
use riker::actors::{Publish, Tell};
|
use riker::actors::{Publish, Tell};
|
||||||
use rocket::{
|
use rocket::{
|
||||||
outcome::IntoOutcome,
|
outcome::IntoOutcome,
|
||||||
@@ -52,6 +48,7 @@ pub enum Role {
|
|||||||
Admin = 0,
|
Admin = 0,
|
||||||
Moderator = 1,
|
Moderator = 1,
|
||||||
Normal = 2,
|
Normal = 2,
|
||||||
|
Instance = 3,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Queryable, Identifiable, Clone, Debug, AsChangeset)]
|
#[derive(Queryable, Identifiable, Clone, Debug, AsChangeset)]
|
||||||
@@ -78,6 +75,7 @@ pub struct User {
|
|||||||
pub summary_html: SafeString,
|
pub summary_html: SafeString,
|
||||||
/// 0 = admin
|
/// 0 = admin
|
||||||
/// 1 = moderator
|
/// 1 = moderator
|
||||||
|
/// 3 = local instance
|
||||||
/// anything else = normal user
|
/// anything else = normal user
|
||||||
pub role: i32,
|
pub role: i32,
|
||||||
pub preferred_theme: Option<String>,
|
pub preferred_theme: Option<String>,
|
||||||
@@ -210,7 +208,13 @@ impl User {
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.find(|l| l.mime_type == Some(String::from("application/activity+json")))
|
.find(|l| l.mime_type == Some(String::from("application/activity+json")))
|
||||||
.ok_or(Error::Webfinger)?;
|
.ok_or(Error::Webfinger)?;
|
||||||
User::from_id(conn, link.href.as_ref()?, None, CONFIG.proxy()).map_err(|(_, e)| e)
|
User::from_id(
|
||||||
|
conn,
|
||||||
|
link.href.as_ref().ok_or(Error::Webfinger)?,
|
||||||
|
None,
|
||||||
|
CONFIG.proxy(),
|
||||||
|
)
|
||||||
|
.map_err(|(_, e)| e)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn fetch_remote_interact_uri(acct: &str) -> Result<String> {
|
pub fn fetch_remote_interact_uri(acct: &str) -> Result<String> {
|
||||||
@@ -223,20 +227,7 @@ impl User {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn fetch(url: &str) -> Result<CustomPerson> {
|
fn fetch(url: &str) -> Result<CustomPerson> {
|
||||||
let mut res = ClientBuilder::new()
|
let mut res = get(url, Self::get_sender(), CONFIG.proxy().cloned())?;
|
||||||
.connect_timeout(Some(std::time::Duration::from_secs(5)))
|
|
||||||
.build()?
|
|
||||||
.get(url)
|
|
||||||
.header(
|
|
||||||
ACCEPT,
|
|
||||||
HeaderValue::from_str(
|
|
||||||
&ap_accept_header()
|
|
||||||
.into_iter()
|
|
||||||
.collect::<Vec<_>>()
|
|
||||||
.join(", "),
|
|
||||||
)?,
|
|
||||||
)
|
|
||||||
.send()?;
|
|
||||||
let text = &res.text()?;
|
let text = &res.text()?;
|
||||||
// without this workaround, publicKey is not correctly deserialized
|
// without this workaround, publicKey is not correctly deserialized
|
||||||
let ap_sign = serde_json::from_str::<ApSignature>(text)?;
|
let ap_sign = serde_json::from_str::<ApSignature>(text)?;
|
||||||
@@ -255,10 +246,10 @@ impl User {
|
|||||||
conn,
|
conn,
|
||||||
json.object
|
json.object
|
||||||
.object_props
|
.object_props
|
||||||
.icon_image()?
|
.icon_image()? // FIXME: Fails when icon is not set
|
||||||
.object_props
|
.object_props
|
||||||
.url_string()?,
|
.url_string()?,
|
||||||
&self,
|
self,
|
||||||
)
|
)
|
||||||
.ok();
|
.ok();
|
||||||
|
|
||||||
@@ -427,12 +418,12 @@ impl User {
|
|||||||
let last = &format!(
|
let last = &format!(
|
||||||
"{}?page={}",
|
"{}?page={}",
|
||||||
&self.outbox_url,
|
&self.outbox_url,
|
||||||
self.get_activities_count(&conn) / i64::from(ITEMS_PER_PAGE) + 1
|
self.get_activities_count(conn) / i64::from(ITEMS_PER_PAGE) + 1
|
||||||
);
|
);
|
||||||
coll.collection_props.set_first_link(Id::new(first))?;
|
coll.collection_props.set_first_link(Id::new(first))?;
|
||||||
coll.collection_props.set_last_link(Id::new(last))?;
|
coll.collection_props.set_last_link(Id::new(last))?;
|
||||||
coll.collection_props
|
coll.collection_props
|
||||||
.set_total_items_u64(self.get_activities_count(&conn) as u64)?;
|
.set_total_items_u64(self.get_activities_count(conn) as u64)?;
|
||||||
Ok(ActivityStream::new(coll))
|
Ok(ActivityStream::new(coll))
|
||||||
}
|
}
|
||||||
pub fn outbox_page(
|
pub fn outbox_page(
|
||||||
@@ -441,7 +432,7 @@ impl User {
|
|||||||
(min, max): (i32, i32),
|
(min, max): (i32, i32),
|
||||||
) -> Result<ActivityStream<OrderedCollectionPage>> {
|
) -> Result<ActivityStream<OrderedCollectionPage>> {
|
||||||
let acts = self.get_activities_page(conn, (min, max))?;
|
let acts = self.get_activities_page(conn, (min, max))?;
|
||||||
let n_acts = self.get_activities_count(&conn);
|
let n_acts = self.get_activities_count(conn);
|
||||||
let mut coll = OrderedCollectionPage::default();
|
let mut coll = OrderedCollectionPage::default();
|
||||||
if n_acts - i64::from(min) >= i64::from(ITEMS_PER_PAGE) {
|
if n_acts - i64::from(min) >= i64::from(ITEMS_PER_PAGE) {
|
||||||
coll.collection_page_props.set_next_link(Id::new(&format!(
|
coll.collection_page_props.set_next_link(Id::new(&format!(
|
||||||
@@ -463,20 +454,7 @@ impl User {
|
|||||||
Ok(ActivityStream::new(coll))
|
Ok(ActivityStream::new(coll))
|
||||||
}
|
}
|
||||||
fn fetch_outbox_page<T: Activity>(&self, url: &str) -> Result<(Vec<T>, Option<String>)> {
|
fn fetch_outbox_page<T: Activity>(&self, url: &str) -> Result<(Vec<T>, Option<String>)> {
|
||||||
let mut res = ClientBuilder::new()
|
let mut res = get(url, Self::get_sender(), CONFIG.proxy().cloned())?;
|
||||||
.connect_timeout(Some(std::time::Duration::from_secs(5)))
|
|
||||||
.build()?
|
|
||||||
.get(url)
|
|
||||||
.header(
|
|
||||||
ACCEPT,
|
|
||||||
HeaderValue::from_str(
|
|
||||||
&ap_accept_header()
|
|
||||||
.into_iter()
|
|
||||||
.collect::<Vec<_>>()
|
|
||||||
.join(", "),
|
|
||||||
)?,
|
|
||||||
)
|
|
||||||
.send()?;
|
|
||||||
let text = &res.text()?;
|
let text = &res.text()?;
|
||||||
let json: serde_json::Value = serde_json::from_str(text)?;
|
let json: serde_json::Value = serde_json::from_str(text)?;
|
||||||
let items = json["items"]
|
let items = json["items"]
|
||||||
@@ -490,20 +468,11 @@ impl User {
|
|||||||
Ok((items, next))
|
Ok((items, next))
|
||||||
}
|
}
|
||||||
pub fn fetch_outbox<T: Activity>(&self) -> Result<Vec<T>> {
|
pub fn fetch_outbox<T: Activity>(&self) -> Result<Vec<T>> {
|
||||||
let mut res = ClientBuilder::new()
|
let mut res = get(
|
||||||
.connect_timeout(Some(std::time::Duration::from_secs(5)))
|
&self.outbox_url[..],
|
||||||
.build()?
|
Self::get_sender(),
|
||||||
.get(&self.outbox_url[..])
|
CONFIG.proxy().cloned(),
|
||||||
.header(
|
)?;
|
||||||
ACCEPT,
|
|
||||||
HeaderValue::from_str(
|
|
||||||
&ap_accept_header()
|
|
||||||
.into_iter()
|
|
||||||
.collect::<Vec<_>>()
|
|
||||||
.join(", "),
|
|
||||||
)?,
|
|
||||||
)
|
|
||||||
.send()?;
|
|
||||||
let text = &res.text()?;
|
let text = &res.text()?;
|
||||||
let json: serde_json::Value = serde_json::from_str(text)?;
|
let json: serde_json::Value = serde_json::from_str(text)?;
|
||||||
if let Some(first) = json.get("first") {
|
if let Some(first) = json.get("first") {
|
||||||
@@ -513,7 +482,7 @@ impl User {
|
|||||||
if page.is_empty() {
|
if page.is_empty() {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
items.extend(page.drain(..));
|
items.append(&mut page);
|
||||||
if let Some(n) = nxt {
|
if let Some(n) = nxt {
|
||||||
if n == next {
|
if n == next {
|
||||||
break;
|
break;
|
||||||
@@ -535,20 +504,11 @@ impl User {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn fetch_followers_ids(&self) -> Result<Vec<String>> {
|
pub fn fetch_followers_ids(&self) -> Result<Vec<String>> {
|
||||||
let mut res = ClientBuilder::new()
|
let mut res = get(
|
||||||
.connect_timeout(Some(std::time::Duration::from_secs(5)))
|
&self.followers_endpoint[..],
|
||||||
.build()?
|
Self::get_sender(),
|
||||||
.get(&self.followers_endpoint[..])
|
CONFIG.proxy().cloned(),
|
||||||
.header(
|
)?;
|
||||||
ACCEPT,
|
|
||||||
HeaderValue::from_str(
|
|
||||||
&ap_accept_header()
|
|
||||||
.into_iter()
|
|
||||||
.collect::<Vec<_>>()
|
|
||||||
.join(", "),
|
|
||||||
)?,
|
|
||||||
)
|
|
||||||
.send()?;
|
|
||||||
let text = &res.text()?;
|
let text = &res.text()?;
|
||||||
let json: serde_json::Value = serde_json::from_str(text)?;
|
let json: serde_json::Value = serde_json::from_str(text)?;
|
||||||
Ok(json["items"]
|
Ok(json["items"]
|
||||||
@@ -720,7 +680,7 @@ impl User {
|
|||||||
|
|
||||||
pub fn get_keypair(&self) -> Result<PKey<Private>> {
|
pub fn get_keypair(&self) -> Result<PKey<Private>> {
|
||||||
PKey::from_rsa(Rsa::private_key_from_pem(
|
PKey::from_rsa(Rsa::private_key_from_pem(
|
||||||
self.private_key.clone()?.as_ref(),
|
self.private_key.clone().ok_or(Error::Signature)?.as_ref(),
|
||||||
)?)
|
)?)
|
||||||
.map_err(Error::from)
|
.map_err(Error::from)
|
||||||
}
|
}
|
||||||
@@ -943,7 +903,7 @@ impl FromId<DbConn> for User {
|
|||||||
|
|
||||||
fn from_activity(conn: &DbConn, acct: CustomPerson) -> Result<Self> {
|
fn from_activity(conn: &DbConn, acct: CustomPerson) -> Result<Self> {
|
||||||
let url = Url::parse(&acct.object.object_props.id_string()?)?;
|
let url = Url::parse(&acct.object.object_props.id_string()?)?;
|
||||||
let inst = url.host_str()?;
|
let inst = url.host_str().ok_or(Error::Url)?;
|
||||||
let instance = Instance::find_by_domain(conn, inst).or_else(|_| {
|
let instance = Instance::find_by_domain(conn, inst).or_else(|_| {
|
||||||
Instance::insert(
|
Instance::insert(
|
||||||
conn,
|
conn,
|
||||||
@@ -1031,6 +991,10 @@ impl FromId<DbConn> for User {
|
|||||||
|
|
||||||
Ok(user)
|
Ok(user)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_sender() -> &'static dyn Signer {
|
||||||
|
Instance::get_local_instance_user().expect("Failed to local instance user")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AsActor<&DbConn> for User {
|
impl AsActor<&DbConn> for User {
|
||||||
@@ -1063,24 +1027,22 @@ impl AsObject<User, Delete, &DbConn> for User {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Signer for User {
|
impl Signer for User {
|
||||||
type Error = Error;
|
|
||||||
|
|
||||||
fn get_key_id(&self) -> String {
|
fn get_key_id(&self) -> String {
|
||||||
format!("{}#main-key", self.ap_url)
|
format!("{}#main-key", self.ap_url)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn sign(&self, to_sign: &str) -> Result<Vec<u8>> {
|
fn sign(&self, to_sign: &str) -> SignResult<Vec<u8>> {
|
||||||
let key = self.get_keypair()?;
|
let key = self.get_keypair().map_err(|_| SignError())?;
|
||||||
let mut signer = sign::Signer::new(MessageDigest::sha256(), &key)?;
|
let mut signer = sign::Signer::new(MessageDigest::sha256(), &key)?;
|
||||||
signer.update(to_sign.as_bytes())?;
|
signer.update(to_sign.as_bytes())?;
|
||||||
signer.sign_to_vec().map_err(Error::from)
|
signer.sign_to_vec().map_err(SignError::from)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn verify(&self, data: &str, signature: &[u8]) -> Result<bool> {
|
fn verify(&self, data: &str, signature: &[u8]) -> SignResult<bool> {
|
||||||
let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref())?)?;
|
let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref())?)?;
|
||||||
let mut verifier = sign::Verifier::new(MessageDigest::sha256(), &key)?;
|
let mut verifier = sign::Verifier::new(MessageDigest::sha256(), &key)?;
|
||||||
verifier.update(data.as_bytes())?;
|
verifier.update(data.as_bytes())?;
|
||||||
verifier.verify(&signature).map_err(Error::from)
|
verifier.verify(signature).map_err(SignError::from)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1121,7 +1083,7 @@ impl NewUser {
|
|||||||
display_name,
|
display_name,
|
||||||
role: role as i32,
|
role: role as i32,
|
||||||
summary: summary.to_owned(),
|
summary: summary.to_owned(),
|
||||||
summary_html: SafeString::new(&utils::md_to_html(&summary, None, false, None).0),
|
summary_html: SafeString::new(&utils::md_to_html(summary, None, false, None).0),
|
||||||
email: Some(email),
|
email: Some(email),
|
||||||
hashed_password: password,
|
hashed_password: password,
|
||||||
instance_id: instance.id,
|
instance_id: instance.id,
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Afrikaans\n"
|
"Language-Team: Afrikaans\n"
|
||||||
"Language: af_ZA\n"
|
"Language: af_ZA\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Arabic\n"
|
"Language-Team: Arabic\n"
|
||||||
"Language: ar_SA\n"
|
"Language: ar_SA\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "فتح محرر النصوص الغني"
|
msgstr "فتح محرر النصوص الغني"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "العنوان"
|
msgstr "العنوان"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "العنوان الثانوي أو الملخص"
|
msgstr "العنوان الثانوي أو الملخص"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "اكتب مقالك هنا. ماركداون مُدَعَّم."
|
msgstr "اكتب مقالك هنا. ماركداون مُدَعَّم."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "يتبقا {} حرفا تقريبا"
|
msgstr "يتبقا {} حرفا تقريبا"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "الوسوم"
|
msgstr "الوسوم"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "الرخصة"
|
msgstr "الرخصة"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "الغلاف"
|
msgstr "الغلاف"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "هذه مسودة"
|
msgstr "هذه مسودة"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "نشر كتابا"
|
msgstr "نشر كتابا"
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Bulgarian\n"
|
"Language-Team: Bulgarian\n"
|
||||||
"Language: bg_BG\n"
|
"Language: bg_BG\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "Искате ли да активирате локално автоматично запаметяване, последно редактирано в {}?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Отворете редактора с богат текст"
|
msgstr "Отворете редактора с богат текст"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Заглавие"
|
msgstr "Заглавие"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Подзаглавие или резюме"
|
msgstr "Подзаглавие или резюме"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Напишете статията си тук. Поддържа се Markdown."
|
msgstr "Напишете статията си тук. Поддържа се Markdown."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Остават {} знака вляво"
|
msgstr "Остават {} знака вляво"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Етикети"
|
msgstr "Етикети"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Лиценз"
|
msgstr "Лиценз"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Основно изображение"
|
msgstr "Основно изображение"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Това е проект"
|
msgstr "Това е проект"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Публикувай"
|
msgstr "Публикувай"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Catalan\n"
|
"Language-Team: Catalan\n"
|
||||||
"Language: ca_ES\n"
|
"Language: ca_ES\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Obre l’editor de text enriquit"
|
msgstr "Obre l’editor de text enriquit"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Títol"
|
msgstr "Títol"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Subtítol o resum"
|
msgstr "Subtítol o resum"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Escriviu el vostre article ací. Podeu fer servir el Markdown."
|
msgstr "Escriviu el vostre article ací. Podeu fer servir el Markdown."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Queden uns {} caràcters"
|
msgstr "Queden uns {} caràcters"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiquetes"
|
msgstr "Etiquetes"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Llicència"
|
msgstr "Llicència"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Coberta"
|
msgstr "Coberta"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Açò és un esborrany"
|
msgstr "Açò és un esborrany"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Publica"
|
msgstr "Publica"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2022-01-02 11:39\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Czech\n"
|
"Language-Team: Czech\n"
|
||||||
"Language: cs_CZ\n"
|
"Language: cs_CZ\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Otevřít editor formátovaného textu"
|
msgstr "Otevřít editor formátovaného textu"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Nadpis"
|
msgstr "Nadpis"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Podnadpis, nebo shrnutí"
|
msgstr "Podnadpis, nebo shrnutí"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Sem napište svůj článek. Markdown je podporován."
|
msgstr "Sem napište svůj článek. Markdown je podporován."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Zbývá kolem {} znaků"
|
msgstr "Zbývá kolem {} znaků"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tagy"
|
msgstr "Tagy"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licence"
|
msgstr "Licence"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Titulka"
|
msgstr "Titulka"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Tohle je koncept"
|
msgstr "Tohle je koncept"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Zveřejnit"
|
msgstr "Zveřejnit"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Danish\n"
|
"Language-Team: Danish\n"
|
||||||
"Language: da_DK\n"
|
"Language: da_DK\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-12-11 15:00\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: German\n"
|
"Language-Team: German\n"
|
||||||
"Language: de_DE\n"
|
"Language: de_DE\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "Möchten Sie die lokale automatische Speicherung laden, die zuletzt um {} bearbeitet wurde?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr " Rich Text Editor (RTE) öffnen"
|
msgstr " Rich Text Editor (RTE) öffnen"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titel"
|
msgstr "Titel"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Untertitel oder Zusammenfassung"
|
msgstr "Untertitel oder Zusammenfassung"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Schreiben deinen Artikel hier. Markdown wird unterstützt."
|
msgstr "Schreiben deinen Artikel hier. Markdown wird unterstützt."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Ungefähr {} Zeichen übrig"
|
msgstr "Ungefähr {} Zeichen übrig"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Schlagwörter"
|
msgstr "Schlagwörter"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Lizenz"
|
msgstr "Lizenz"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Einband"
|
msgstr "Einband"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Dies ist ein Entwurf"
|
msgstr "Dies ist ein Entwurf"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Veröffentlichen"
|
msgstr "Veröffentlichen"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Greek\n"
|
"Language-Team: Greek\n"
|
||||||
"Language: el_GR\n"
|
"Language: el_GR\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: English\n"
|
"Language-Team: English\n"
|
||||||
"Language: en_US\n"
|
"Language: en_US\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Esperanto\n"
|
"Language-Team: Esperanto\n"
|
||||||
"Language: eo_UY\n"
|
"Language: eo_UY\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Malfermi la riĉan redaktilon"
|
msgstr "Malfermi la riĉan redaktilon"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titolo"
|
msgstr "Titolo"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Verku vian artikolon ĉi tie. Markdown estas subtenita."
|
msgstr "Verku vian artikolon ĉi tie. Markdown estas subtenita."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Proksimume {} signoj restantaj"
|
msgstr "Proksimume {} signoj restantaj"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etikedoj"
|
msgstr "Etikedoj"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Permesilo"
|
msgstr "Permesilo"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Kovro"
|
msgstr "Kovro"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Malfinias"
|
msgstr "Malfinias"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Eldoni"
|
msgstr "Eldoni"
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2022-01-02 11:39\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Spanish\n"
|
"Language-Team: Spanish\n"
|
||||||
"Language: es_ES\n"
|
"Language: es_ES\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "¿Quieres cargar el guardado automático local editado por última vez en {}?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Abrir el editor de texto enriquecido"
|
msgstr "Abrir el editor de texto enriquecido"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Título"
|
msgstr "Título"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Subtítulo, o resumen"
|
msgstr "Subtítulo, o resumen"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Escriba su artículo aquí. Puede utilizar Markdown."
|
msgstr "Escriba su artículo aquí. Puede utilizar Markdown."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Quedan unos {} caracteres"
|
msgstr "Quedan unos {} caracteres"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiquetas"
|
msgstr "Etiquetas"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licencia"
|
msgstr "Licencia"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Cubierta"
|
msgstr "Cubierta"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Esto es un borrador"
|
msgstr "Esto es un borrador"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Publicar"
|
msgstr "Publicar"
|
||||||
|
|
||||||
|
|||||||
+15
-15
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-12-11 15:00\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Persian\n"
|
"Language-Team: Persian\n"
|
||||||
"Language: fa_IR\n"
|
"Language: fa_IR\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "آیا میخواهید نسخهٔ ذخیره شدهٔ خودکار محلّی از آخرین ویرایش در {} را بار کنید؟"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "باز کردن ویرایشگر غنی"
|
msgstr "باز کردن ویرایشگر غنی"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "عنوان"
|
msgstr "عنوان"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "زیرعنوان، یا چکیده"
|
msgstr "زیرعنوان، یا چکیده"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "مقاله را اینجا بنویسید. از مارکداون پشتیبانی میشود."
|
msgstr "مقالهتان را اینجا بنویسید. از مارکداون پشتیبانی میشود."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "نزدیک به {} حرف باقی مانده است"
|
msgstr "نزدیک به {} حرف باقی مانده است"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "برچسبها"
|
msgstr "برچسبها"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "پروانه"
|
msgstr "پروانه"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "تصویر شاخص"
|
msgstr "جلد"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "این، یک پیشنویس است"
|
msgstr "این، یک پیشنویس است"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "انتشار"
|
msgstr "انتشار"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Finnish\n"
|
"Language-Team: Finnish\n"
|
||||||
"Language: fi_FI\n"
|
"Language: fi_FI\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Avaa edistynyt tekstieditori"
|
msgstr "Avaa edistynyt tekstieditori"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Otsikko"
|
msgstr "Otsikko"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Alaotsikko tai tiivistelmä"
|
msgstr "Alaotsikko tai tiivistelmä"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Kirjoita artikkelisi tähän. Markdown -kuvauskieli on tuettu."
|
msgstr "Kirjoita artikkelisi tähän. Markdown -kuvauskieli on tuettu."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "%{count} merkkiä jäljellä"
|
msgstr "%{count} merkkiä jäljellä"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tagit"
|
msgstr "Tagit"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Lisenssi"
|
msgstr "Lisenssi"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Kansi"
|
msgstr "Kansi"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Tämä on luonnos"
|
msgstr "Tämä on luonnos"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Julkaise"
|
msgstr "Julkaise"
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-12-11 15:00\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: French\n"
|
"Language-Team: French\n"
|
||||||
"Language: fr_FR\n"
|
"Language: fr_FR\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "Voulez vous charger la sauvegarde automatique locale, éditée la dernière fois à {}?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Ouvrir l'éditeur de texte avancé"
|
msgstr "Ouvrir l'éditeur de texte avancé"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titre"
|
msgstr "Titre"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Sous-titre ou résumé"
|
msgstr "Sous-titre ou résumé"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Écrivez votre article ici. Vous pouvez utiliser du Markdown."
|
msgstr "Écrivez votre article ici. Vous pouvez utiliser du Markdown."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Environ {} caractères restant"
|
msgstr "Environ {} caractères restant"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Étiquettes"
|
msgstr "Étiquettes"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licence"
|
msgstr "Licence"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Illustration"
|
msgstr "Illustration"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Ceci est un brouillon"
|
msgstr "Ceci est un brouillon"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Publier"
|
msgstr "Publier"
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Galician\n"
|
"Language-Team: Galician\n"
|
||||||
"Language: gl_ES\n"
|
"Language: gl_ES\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "Queres cargar a última copia gardada editada o {}?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Abre o editor de texto enriquecido"
|
msgstr "Abre o editor de texto enriquecido"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Título"
|
msgstr "Título"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Subtítulo, ou resumo"
|
msgstr "Subtítulo, ou resumo"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Escribe aquí o teu artigo: podes utilizar Markdown."
|
msgstr "Escribe aquí o teu artigo: podes utilizar Markdown."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Dispós de {} caracteres"
|
msgstr "Dispós de {} caracteres"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiquetas"
|
msgstr "Etiquetas"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licenza"
|
msgstr "Licenza"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Portada"
|
msgstr "Portada"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Este é un borrador"
|
msgstr "Este é un borrador"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Publicar"
|
msgstr "Publicar"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Hebrew\n"
|
"Language-Team: Hebrew\n"
|
||||||
"Language: he_IL\n"
|
"Language: he_IL\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Hindi\n"
|
"Language-Team: Hindi\n"
|
||||||
"Language: hi_IN\n"
|
"Language: hi_IN\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "शीर्षक"
|
msgstr "शीर्षक"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "अपना आर्टिकल या लेख यहाँ लिखें. Markdown उपलब्ध है."
|
msgstr "अपना आर्टिकल या लेख यहाँ लिखें. Markdown उपलब्ध है."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "लगभग {} अक्षर बाकी हैं"
|
msgstr "लगभग {} अक्षर बाकी हैं"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "टैग्स"
|
msgstr "टैग्स"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "लाइसेंस"
|
msgstr "लाइसेंस"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "पब्लिश करें"
|
msgstr "पब्लिश करें"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Croatian\n"
|
"Language-Team: Croatian\n"
|
||||||
"Language: hr_HR\n"
|
"Language: hr_HR\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Naslov"
|
msgstr "Naslov"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tagovi"
|
msgstr "Tagovi"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licenca"
|
msgstr "Licenca"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Objavi"
|
msgstr "Objavi"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Hungarian\n"
|
"Language-Team: Hungarian\n"
|
||||||
"Language: hu_HU\n"
|
"Language: hu_HU\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Italian\n"
|
"Language-Team: Italian\n"
|
||||||
"Language: it_IT\n"
|
"Language: it_IT\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Apri il compositore di testo avanzato"
|
msgstr "Apri il compositore di testo avanzato"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titolo"
|
msgstr "Titolo"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Sottotitolo, o sommario"
|
msgstr "Sottotitolo, o sommario"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Scrivi qui il tuo articolo. È supportato il Markdown."
|
msgstr "Scrivi qui il tuo articolo. È supportato il Markdown."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Circa {} caratteri rimasti"
|
msgstr "Circa {} caratteri rimasti"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etichette"
|
msgstr "Etichette"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licenza"
|
msgstr "Licenza"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Copertina"
|
msgstr "Copertina"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Questa è una bozza"
|
msgstr "Questa è una bozza"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Pubblica"
|
msgstr "Pubblica"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Japanese\n"
|
"Language-Team: Japanese\n"
|
||||||
"Language: ja_JP\n"
|
"Language: ja_JP\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "リッチテキストエディターを開く"
|
msgstr "リッチテキストエディターを開く"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "タイトル"
|
msgstr "タイトル"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "サブタイトル、または概要"
|
msgstr "サブタイトル、または概要"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "投稿をここに書きます。Markdown がサポートされています。"
|
msgstr "投稿をここに書きます。Markdown がサポートされています。"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "残り約 {} 文字"
|
msgstr "残り約 {} 文字"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "タグ"
|
msgstr "タグ"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "ライセンス"
|
msgstr "ライセンス"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "カバー"
|
msgstr "カバー"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "これは下書きです"
|
msgstr "これは下書きです"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "公開"
|
msgstr "公開"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Korean\n"
|
"Language-Team: Korean\n"
|
||||||
"Language: ko_KR\n"
|
"Language: ko_KR\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Dutch\n"
|
"Language-Team: Dutch\n"
|
||||||
"Language: nl_NL\n"
|
"Language: nl_NL\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "Wilt u de lokale auto-opslaan laden? Laatst bewerkt om: {}"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Open de rich-text editor"
|
msgstr "Open de rich-text editor"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titel"
|
msgstr "Titel"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Ondertitel of samenvatting"
|
msgstr "Ondertitel of samenvatting"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Schrijf hier je artikel. Markdown wordt ondersteund."
|
msgstr "Schrijf hier je artikel. Markdown wordt ondersteund."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Ongeveer {} tekens over"
|
msgstr "Ongeveer {} tekens over"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tags"
|
msgstr "Tags"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licentie"
|
msgstr "Licentie"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Hoofdafbeelding"
|
msgstr "Hoofdafbeelding"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Dit is een concept"
|
msgstr "Dit is een concept"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Publiceren"
|
msgstr "Publiceren"
|
||||||
|
|
||||||
|
|||||||
+14
-14
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Norwegian\n"
|
"Language-Team: Norwegian\n"
|
||||||
"Language: no_NO\n"
|
"Language: no_NO\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr "Lisens"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr "Publiser"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Polish\n"
|
"Language-Team: Polish\n"
|
||||||
"Language: pl_PL\n"
|
"Language: pl_PL\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Otwórz edytor tekstu sformatowanego"
|
msgstr "Otwórz edytor tekstu sformatowanego"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Tytuł"
|
msgstr "Tytuł"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Podtytuł, lub podsumowanie"
|
msgstr "Podtytuł, lub podsumowanie"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Napisz swój artykuł tutaj. Markdown jest obsługiwany."
|
msgstr "Napisz swój artykuł tutaj. Markdown jest obsługiwany."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Pozostało w okolicy {} znaków"
|
msgstr "Pozostało w okolicy {} znaków"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tagi"
|
msgstr "Tagi"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licencja"
|
msgstr "Licencja"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Okładka"
|
msgstr "Okładka"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "To jest szkic"
|
msgstr "To jest szkic"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Publikuj"
|
msgstr "Publikuj"
|
||||||
|
|
||||||
|
|||||||
@@ -12,46 +12,46 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:188
|
# plume-front/src/editor.rs:177
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:281
|
# plume-front/src/editor.rs:331
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:314
|
# plume-front/src/editor.rs:388
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:318
|
# plume-front/src/editor.rs:392
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:325
|
# plume-front/src/editor.rs:399
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:336
|
# plume-front/src/editor.rs:410
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:413
|
# plume-front/src/editor.rs:519
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:520
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:417
|
# plume-front/src/editor.rs:526
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:437
|
# plume-front/src/editor.rs:560
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:444
|
# plume-front/src/editor.rs:571
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
+13
-13
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-12-11 15:00\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Portuguese, Brazilian\n"
|
"Language-Team: Portuguese, Brazilian\n"
|
||||||
"Language: pt_BR\n"
|
"Language: pt_BR\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "Você quer carregar o último conteúdo salvo localmente editado em {}?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Abrir o editor de rich text"
|
msgstr "Abrir o editor de rich text"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Título"
|
msgstr "Título"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Subtítulo ou resumo"
|
msgstr "Subtítulo ou resumo"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Escreva seu artigo aqui. Markdown é suportado."
|
msgstr "Escreva seu artigo aqui. Markdown é suportado."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Cerca de {} caracteres restantes"
|
msgstr "Cerca de {} caracteres restantes"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Tags"
|
msgstr "Tags"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licença"
|
msgstr "Licença"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Capa"
|
msgstr "Capa"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Isso é um rascunho"
|
msgstr "Isso é um rascunho"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Publicar"
|
msgstr "Publicar"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Romanian\n"
|
"Language-Team: Romanian\n"
|
||||||
"Language: ro_RO\n"
|
"Language: ro_RO\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Deschide editorul de text"
|
msgstr "Deschide editorul de text"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titlu"
|
msgstr "Titlu"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Scrie articolul tău aici. Markdown este acceptat."
|
msgstr "Scrie articolul tău aici. Markdown este acceptat."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "În apropiere de {} caractere rămase"
|
msgstr "În apropiere de {} caractere rămase"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etichete"
|
msgstr "Etichete"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licenţă"
|
msgstr "Licenţă"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Coperta"
|
msgstr "Coperta"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Aceasta este o ciornă"
|
msgstr "Aceasta este o ciornă"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Publică"
|
msgstr "Publică"
|
||||||
|
|
||||||
|
|||||||
+16
-16
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Russian\n"
|
"Language-Team: Russian\n"
|
||||||
"Language: ru_RU\n"
|
"Language: ru_RU\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "Хотите ли вы загрузить локальное автосохранение, сделанное в {}?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr "Открыть в визуальном редакторе"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Заголовок"
|
msgstr "Заголовок"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr "Подзаголовок или резюме"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Пишите свою статью здесь. Markdown поддерживается."
|
msgstr "Пишите свою статью здесь. Markdown поддерживается."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Осталось около {} символов"
|
msgstr "Осталось около {} символов"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Теги"
|
msgstr "Теги"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr "Лицензия"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Обложка"
|
msgstr "Обложка"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Это черновик"
|
msgstr "Это черновик"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Опубликовать"
|
msgstr "Опубликовать"
|
||||||
|
|
||||||
|
|||||||
+18
-18
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Santali\n"
|
"Language-Team: Santali\n"
|
||||||
"Language: sat_IN\n"
|
"Language: sat_IN\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "ᱟᱢ ᱪᱮᱫ ᱢᱟᱲᱟᱝ {} ᱨᱮ ᱥᱟᱯᱲᱟᱣ ᱟᱠᱟᱱ ᱞᱚᱠᱟᱞ ᱚᱴᱚᱥᱮᱣ ᱞᱟᱫᱮ ᱥᱟᱱᱟᱢ ᱠᱟᱱᱟ ᱥᱮ?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "ᱨᱤᱪ ᱚᱞ ᱥᱟᱯᱟᱣᱤᱡ ᱠᱷᱩᱞᱟᱹᱭ ᱢᱮᱸ"
|
msgstr "ᱨᱤᱪ ᱚᱞ ᱥᱟᱯᱟᱣᱤᱡ ᱠᱷᱩᱞᱟᱹᱭ ᱢᱮ"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "ᱴᱭᱴᱚᱞ"
|
msgstr "ᱴᱭᱴᱚᱞ"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "ᱥᱟᱹᱵᱴᱟᱭᱴᱟᱹᱞ, ᱟᱨ ᱵᱟᱝ ᱥᱟᱹᱢᱢᱟᱨᱭ"
|
msgstr "ᱥᱟᱹᱵᱴᱟᱭᱴᱟᱹᱞ, ᱟᱨ ᱵᱟᱝ ᱥᱟᱹᱢᱢᱟᱨᱭ"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "ᱟᱢᱟᱜ ᱚᱱᱚᱞ ᱱᱚᱰᱮ ᱚᱞ ᱛᱟᱢ ᱾ ᱪᱤᱱᱦᱟᱹ ᱥᱟᱯᱯᱚᱴ ᱜᱮᱭᱟ ᱾"
|
msgstr "ᱟᱢᱟᱜ ᱚᱱᱚᱞ ᱱᱚᱰᱮ ᱚᱞ ᱛᱟᱢ ᱾ ᱪᱤᱱᱦᱟᱹ ᱥᱟᱯᱚᱴ ᱜᱮᱭᱟ ᱾"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "ᱡᱷᱚᱛᱚ ᱨᱮ {} ᱡᱤᱱᱤᱥ ᱵᱟᱧᱪᱟᱣᱠᱟᱱᱟ"
|
msgstr "ᱡᱷᱚᱛᱚ ᱨᱮ {} ᱡᱤᱱᱤᱥ ᱵᱟᱧᱪᱟᱣᱠᱟᱱᱟ"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "ᱴᱮᱜᱥ"
|
msgstr "ᱴᱮᱜᱽᱥ"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "ᱞᱚᱭᱥᱮᱸᱱᱥ"
|
msgstr "ᱞᱚᱭᱥᱮᱱᱥ"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "ᱠᱚᱵᱷᱚᱨ"
|
msgstr "ᱢᱚᱭᱞᱟᱹᱴ"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "ᱱᱚᱶᱟ ᱫᱚ ᱰᱨᱟᱯᱷᱼᱴ ᱠᱟᱱᱟ"
|
msgstr "ᱱᱚᱶᱟ ᱫᱚ ᱰᱨᱟᱯᱷᱼᱴ ᱠᱟᱱᱟ"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "ᱯᱟᱨᱥᱟᱞ"
|
msgstr "ᱯᱟᱨᱥᱟᱞ"
|
||||||
|
|
||||||
|
|||||||
+14
-14
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Sinhala\n"
|
"Language-Team: Sinhala\n"
|
||||||
"Language: si_LK\n"
|
"Language: si_LK\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr "මාතෘකාව"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr "බලපත්රය"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-12-11 15:00\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Slovak\n"
|
"Language-Team: Slovak\n"
|
||||||
"Language: sk_SK\n"
|
"Language: sk_SK\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "Chceš načítať automaticky uloženú zálohu, s poslednou úpravou {}?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Otvor editor formátovaného textu"
|
msgstr "Otvor editor formátovaného textu"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Nadpis"
|
msgstr "Nadpis"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Zhrnutie, alebo podnadpis"
|
msgstr "Zhrnutie, alebo podnadpis"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Tu napíš svoj článok. Markdown je podporovaný."
|
msgstr "Tu napíš svoj článok. Markdown je podporovaný."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Zostáva asi {} znakov"
|
msgstr "Zostáva asi {} znakov"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Štítky"
|
msgstr "Štítky"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licencia"
|
msgstr "Licencia"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Obálka"
|
msgstr "Obálka"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Toto je koncept"
|
msgstr "Toto je koncept"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Zverejniť"
|
msgstr "Zverejniť"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Slovenian\n"
|
"Language-Team: Slovenian\n"
|
||||||
"Language: sl_SI\n"
|
"Language: sl_SI\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Naslov"
|
msgstr "Naslov"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Oznake"
|
msgstr "Oznake"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licenca"
|
msgstr "Licenca"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "To je osnutek"
|
msgstr "To je osnutek"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Objavi"
|
msgstr "Objavi"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Serbian (Latin)\n"
|
"Language-Team: Serbian (Latin)\n"
|
||||||
"Language: sr_CS\n"
|
"Language: sr_CS\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Otvori uređivač sa stilizacijom"
|
msgstr "Otvori uređivač sa stilizacijom"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Naslov"
|
msgstr "Naslov"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Podnaslov, ili sažetak"
|
msgstr "Podnaslov, ili sažetak"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Napišite vaš članak ovde. Na raspolaganju vam je Markdown."
|
msgstr "Napišite vaš članak ovde. Na raspolaganju vam je Markdown."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Preostalo oko {} znakova"
|
msgstr "Preostalo oko {} znakova"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Markeri"
|
msgstr "Markeri"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licenca"
|
msgstr "Licenca"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Naslovna strana"
|
msgstr "Naslovna strana"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Ovo je nacrt"
|
msgstr "Ovo je nacrt"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Objavi"
|
msgstr "Objavi"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Swedish\n"
|
"Language-Team: Swedish\n"
|
||||||
"Language: sv_SE\n"
|
"Language: sv_SE\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titel"
|
msgstr "Titel"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Skriv din artikel här. Markdown stöds."
|
msgstr "Skriv din artikel här. Markdown stöds."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Ungefär {} karaktärer kvar"
|
msgstr "Ungefär {} karaktärer kvar"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Taggar"
|
msgstr "Taggar"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Licens"
|
msgstr "Licens"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Omslag"
|
msgstr "Omslag"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Publicera"
|
msgstr "Publicera"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Turkish\n"
|
"Language-Team: Turkish\n"
|
||||||
"Language: tr_TR\n"
|
"Language: tr_TR\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Zengin metin editörünü (RTE) aç"
|
msgstr "Zengin metin editörünü (RTE) aç"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Başlık"
|
msgstr "Başlık"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "Alt başlık, veya açıklama"
|
msgstr "Alt başlık, veya açıklama"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "Makaleni buraya yaz. Markdown kullanabilirsin."
|
msgstr "Makaleni buraya yaz. Markdown kullanabilirsin."
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "Yaklaşık {} karakter kaldı"
|
msgstr "Yaklaşık {} karakter kaldı"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Etiketler"
|
msgstr "Etiketler"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "Lisans"
|
msgstr "Lisans"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "Kapak"
|
msgstr "Kapak"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "Bu bir taslaktır"
|
msgstr "Bu bir taslaktır"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "Yayınla"
|
msgstr "Yayınla"
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Ukrainian\n"
|
"Language-Team: Ukrainian\n"
|
||||||
"Language: uk_UA\n"
|
"Language: uk_UA\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: plume\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: Urdu (Pakistan)\n"
|
||||||
|
"Language: ur_PK\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"X-Crowdin-Project: plume\n"
|
||||||
|
"X-Crowdin-Project-ID: 352097\n"
|
||||||
|
"X-Crowdin-Language: ur-PK\n"
|
||||||
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:188
|
||||||
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:281
|
||||||
|
msgid "Open the rich text editor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:314
|
||||||
|
msgid "Title"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:318
|
||||||
|
msgid "Subtitle, or summary"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:325
|
||||||
|
msgid "Write your article here. Markdown is supported."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:336
|
||||||
|
msgid "Around {} characters left"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:413
|
||||||
|
msgid "Tags"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:414
|
||||||
|
msgid "License"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:417
|
||||||
|
msgid "Cover"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:437
|
||||||
|
msgid "This is a draft"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:444
|
||||||
|
msgid "Publish"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
+12
-12
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Vietnamese\n"
|
"Language-Team: Vietnamese\n"
|
||||||
"Language: vi_VN\n"
|
"Language: vi_VN\n"
|
||||||
@@ -17,47 +17,47 @@ msgstr ""
|
|||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "Văn bản của tôi"
|
msgstr "Văn bản của tôi"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Tiêu Châu"
|
msgstr "Tiêu Châu"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:413
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
# plume-front/src/editor.rs:414
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+26
-26
@@ -3,61 +3,61 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-12-11 15:00\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Chinese Simplified\n"
|
"Language-Team: Chinese Traditional\n"
|
||||||
"Language: zh_CN\n"
|
"Language: zh_TW\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
"X-Crowdin-Project: plume\n"
|
"X-Crowdin-Project: plume\n"
|
||||||
"X-Crowdin-Project-ID: 352097\n"
|
"X-Crowdin-Project-ID: 352097\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-TW\n"
|
||||||
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
"X-Crowdin-File: /master/po/plume-front/plume-front.pot\n"
|
||||||
"X-Crowdin-File-ID: 12\n"
|
"X-Crowdin-File-ID: 12\n"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:189
|
# plume-front/src/editor.rs:188
|
||||||
msgid "Do you want to load the local autosave last edited at {}?"
|
msgid "Do you want to load the local autosave last edited at {}?"
|
||||||
msgstr ""
|
msgstr "你想要載入上次在 {} 编辑的本地自動保存嗎?"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:282
|
# plume-front/src/editor.rs:281
|
||||||
msgid "Open the rich text editor"
|
msgid "Open the rich text editor"
|
||||||
msgstr "打开富文本编辑器"
|
msgstr "開啟 RTF 編輯器"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:315
|
# plume-front/src/editor.rs:314
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "标题"
|
msgstr "標題"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:319
|
# plume-front/src/editor.rs:318
|
||||||
msgid "Subtitle, or summary"
|
msgid "Subtitle, or summary"
|
||||||
msgstr "副标题或摘要"
|
msgstr "副標題,或摘要"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:326
|
# plume-front/src/editor.rs:325
|
||||||
msgid "Write your article here. Markdown is supported."
|
msgid "Write your article here. Markdown is supported."
|
||||||
msgstr "在这里写下您的文章。支持 Markdown 语法。"
|
msgstr "在這裡寫下您的文章。支援 Markdown 語法。"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:337
|
# plume-front/src/editor.rs:336
|
||||||
msgid "Around {} characters left"
|
msgid "Around {} characters left"
|
||||||
msgstr "大约剩余 {} 可输入字符"
|
msgstr "大約還可輸入 {} 字符"
|
||||||
|
|
||||||
|
# plume-front/src/editor.rs:413
|
||||||
|
msgid "Tags"
|
||||||
|
msgstr "標籤"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:414
|
# plume-front/src/editor.rs:414
|
||||||
msgid "Tags"
|
|
||||||
msgstr "标签"
|
|
||||||
|
|
||||||
# plume-front/src/editor.rs:415
|
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr "许可协议"
|
msgstr "授權條款"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:418
|
# plume-front/src/editor.rs:417
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr "封面"
|
msgstr "封面"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:438
|
# plume-front/src/editor.rs:437
|
||||||
msgid "This is a draft"
|
msgid "This is a draft"
|
||||||
msgstr "这是一个草稿"
|
msgstr "這是草稿"
|
||||||
|
|
||||||
# plume-front/src/editor.rs:445
|
# plume-front/src/editor.rs:444
|
||||||
msgid "Publish"
|
msgid "Publish"
|
||||||
msgstr "发布"
|
msgstr "發布"
|
||||||
|
|
||||||
|
|||||||
+73
-110
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Afrikaans\n"
|
"Language-Team: Afrikaans\n"
|
||||||
"Language: af_ZA\n"
|
"Language: af_ZA\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr ""
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -125,51 +125,51 @@ msgstr ""
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -177,118 +177,112 @@ msgstr ""
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
|
||||||
"use it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
@@ -447,9 +441,7 @@ msgstr ""
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
@@ -479,8 +471,7 @@ msgstr ""
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
@@ -552,10 +543,7 @@ msgstr ""
|
|||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
@@ -639,21 +627,13 @@ msgstr ""
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
@@ -662,10 +642,7 @@ msgstr ""
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
@@ -674,17 +651,13 @@ msgstr ""
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
@@ -756,9 +729,7 @@ msgstr ""
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
@@ -816,9 +787,7 @@ msgstr ""
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
|
||||||
"article"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
@@ -875,9 +844,7 @@ msgstr ""
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
|
||||||
"password."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
@@ -886,9 +853,7 @@ msgstr ""
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
|
||||||
"a>."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
@@ -903,8 +868,7 @@ msgstr ""
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
@@ -966,9 +930,7 @@ msgstr ""
|
|||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
@@ -1048,3 +1010,4 @@ msgstr ""
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+81
-130
@@ -3,15 +3,14 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Arabic\n"
|
"Language-Team: Arabic\n"
|
||||||
"Language: ar_SA\n"
|
"Language: ar_SA\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
|
||||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
|
|
||||||
"X-Crowdin-Project: plume\n"
|
"X-Crowdin-Project: plume\n"
|
||||||
"X-Crowdin-Project-ID: 352097\n"
|
"X-Crowdin-Project-ID: 352097\n"
|
||||||
"X-Crowdin-Language: ar\n"
|
"X-Crowdin-Language: ar\n"
|
||||||
@@ -66,59 +65,59 @@ msgstr "الصفحة التالية"
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr "اختياري"
|
msgstr "اختياري"
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr "لإنشاء مدونة جديدة، تحتاج إلى تسجيل الدخول"
|
msgstr "لإنشاء مدونة جديدة، تحتاج إلى تسجيل الدخول"
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "توجد مدونة تحمل نفس العنوان."
|
msgstr "توجد مدونة تحمل نفس العنوان."
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr "تم إنشاء مدونتك بنجاح!"
|
msgstr "تم إنشاء مدونتك بنجاح!"
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr "تم حذف مدونتك."
|
msgstr "تم حذف مدونتك."
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "لا يسمح لك بحذف هذه المدونة."
|
msgstr "لا يسمح لك بحذف هذه المدونة."
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr "لا يسمح لك بتعديل هذه المدونة."
|
msgstr "لا يسمح لك بتعديل هذه المدونة."
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr "لا يمكنك استخدام هذه الوسائط كأيقونة للمدونة."
|
msgstr "لا يمكنك استخدام هذه الوسائط كأيقونة للمدونة."
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "لا يمكنك استخدام هذه الوسائط كشعار للمدونة."
|
msgstr "لا يمكنك استخدام هذه الوسائط كشعار للمدونة."
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr "تم تحديث معلومات مُدوّنتك."
|
msgstr "تم تحديث معلومات مُدوّنتك."
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr "تم نشر تعليقك."
|
msgstr "تم نشر تعليقك."
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr "تم حذف تعليقك."
|
msgstr "تم حذف تعليقك."
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr "تم حفظ إعدادات المثيل."
|
msgstr "تم حفظ إعدادات المثيل."
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr "تم إلغاء حظر {}."
|
msgstr "تم إلغاء حظر {}."
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr "تم حظر {}."
|
msgstr "تم حظر {}."
|
||||||
|
|
||||||
@@ -126,51 +125,51 @@ msgstr "تم حظر {}."
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr "البريد الإلكتروني محظور"
|
msgstr "البريد الإلكتروني محظور"
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr "لا يسمح لك القيام بهذا الإجراء."
|
msgstr "لا يسمح لك القيام بهذا الإجراء."
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr "تم."
|
msgstr "تم."
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "يجب عليك تسجيل الدخول أولا للإعجاب بهذا المقال"
|
msgstr "يجب عليك تسجيل الدخول أولا للإعجاب بهذا المقال"
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr "لقد تم حذف وسائطك."
|
msgstr "لقد تم حذف وسائطك."
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr "لا يسمح لك بحذف هذه الوسائط."
|
msgstr "لا يسمح لك بحذف هذه الوسائط."
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr "تم تحديث صورتك الشخصية."
|
msgstr "تم تحديث صورتك الشخصية."
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr "لا يسمح لك باستعمال هذه الوسائط."
|
msgstr "لا يسمح لك باستعمال هذه الوسائط."
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr "يجب عليك تسجيل الدخول أولا لعرض الإشعارات"
|
msgstr "يجب عليك تسجيل الدخول أولا لعرض الإشعارات"
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr "هذا المقال ليس منشورا بعد."
|
msgstr "هذا المقال ليس منشورا بعد."
|
||||||
|
|
||||||
@@ -178,118 +177,112 @@ msgstr "هذا المقال ليس منشورا بعد."
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr "يجب عليك تسجيل الدخول أولا لكتابة مقال جديد"
|
msgstr "يجب عليك تسجيل الدخول أولا لكتابة مقال جديد"
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr "لست مِن محرري هذه المدونة."
|
msgstr "لست مِن محرري هذه المدونة."
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr "منشور جديد"
|
msgstr "منشور جديد"
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "تعديل {0}"
|
msgstr "تعديل {0}"
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr "لا يسمح لك بالنشر على هذه المدونة."
|
msgstr "لا يسمح لك بالنشر على هذه المدونة."
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr "تم تحديث مقالك."
|
msgstr "تم تحديث مقالك."
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr "تم حفظ مقالك."
|
msgstr "تم حفظ مقالك."
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr "مقال جديد"
|
msgstr "مقال جديد"
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr "لا يسمح لك بحذف هذا المقال."
|
msgstr "لا يسمح لك بحذف هذا المقال."
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr "تم حذف مقالك."
|
msgstr "تم حذف مقالك."
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
|
||||||
"already gone?"
|
|
||||||
msgstr "لم يتم العثور على المقال الذي تحاول حذفه. ربما سبق حذفه؟"
|
msgstr "لم يتم العثور على المقال الذي تحاول حذفه. ربما سبق حذفه؟"
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
|
||||||
"username is correct."
|
|
||||||
msgstr "تعذر العثور عن معلومات حسابك. المرجو التحقق من صحة إسم المستخدم."
|
msgstr "تعذر العثور عن معلومات حسابك. المرجو التحقق من صحة إسم المستخدم."
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "يجب عليك تسجيل الدخول أولا للإعادت نشر هذا المقال"
|
msgstr "يجب عليك تسجيل الدخول أولا للإعادت نشر هذا المقال"
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr "أنت الآن متصل."
|
msgstr "أنت الآن متصل."
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr "لقد قمتَ بالخروج للتوّ."
|
msgstr "لقد قمتَ بالخروج للتوّ."
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "إعادة تعيين كلمة المرور"
|
msgstr "إعادة تعيين كلمة المرور"
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr "ها هو رابط إعادة تعيين كلمتك السرية: {0}"
|
msgstr "ها هو رابط إعادة تعيين كلمتك السرية: {0}"
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr "تمت إعادة تعيين كلمتك السرية بنجاح."
|
msgstr "تمت إعادة تعيين كلمتك السرية بنجاح."
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "يجب عليك تسجيل الدخول أولاللنفاذ إلى لوح المراقبة"
|
msgstr "يجب عليك تسجيل الدخول أولاللنفاذ إلى لوح المراقبة"
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr "أنت لم تعد تتابع {}."
|
msgstr "أنت لم تعد تتابع {}."
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr "أنت الآن تتابع {}."
|
msgstr "أنت الآن تتابع {}."
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "للإشتراك بأحد ما، يجب تسجيل الدخول أولا"
|
msgstr "للإشتراك بأحد ما، يجب تسجيل الدخول أولا"
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "لتعديل الحساب، يجب تسجيل الدخول أولا"
|
msgstr "لتعديل الحساب، يجب تسجيل الدخول أولا"
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr "تم تحديث ملفك الشخصي."
|
msgstr "تم تحديث ملفك الشخصي."
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr "تم حذف حسابك."
|
msgstr "تم حذف حسابك."
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr "لا يمكنك حذف حساب شخص آخر."
|
msgstr "لا يمكنك حذف حساب شخص آخر."
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr "التسجيلات مُغلقة على مثيل الخادم هذ."
|
msgstr "التسجيلات مُغلقة على مثيل الخادم هذ."
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
|
||||||
"use it."
|
|
||||||
msgstr "لقد تم إنشاء حسابك. ما عليك إلّا الولوج الآن للتمكّن مِن استعماله."
|
msgstr "لقد تم إنشاء حسابك. ما عليك إلّا الولوج الآن للتمكّن مِن استعماله."
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
@@ -448,11 +441,8 @@ msgstr "كلمة السر"
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
msgstr "المعذرة، لاكن التسجيل مغلق في هذا المثيل بالدات. يمكنك إجاد مثيل آخر للتسجيل."
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
|
||||||
"المعذرة، لاكن التسجيل مغلق في هذا المثيل بالدات. يمكنك إجاد مثيل آخر للتسجيل."
|
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
msgstr "{0} اشتراكات"
|
msgstr "{0} اشتراكات"
|
||||||
@@ -481,10 +471,8 @@ msgstr "تعديل حسابك"
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr "ملفك الشخصي"
|
msgstr "ملفك الشخصي"
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
msgstr "لتغير الصورة التشخيصية قم أولا برفعها إلى الألبوم ثم قم بتعينها من هنالك."
|
||||||
msgstr ""
|
|
||||||
"لتغير الصورة التشخيصية قم أولا برفعها إلى الألبوم ثم قم بتعينها من هنالك."
|
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
msgstr "تحميل صورة رمزية"
|
msgstr "تحميل صورة رمزية"
|
||||||
@@ -555,13 +543,8 @@ msgstr "نعتذر عن الإزعاج. إن كنت تضن أن هذه مشكل
|
|||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr "الرمز المميز CSRF غير صالح"
|
msgstr "الرمز المميز CSRF غير صالح"
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
msgstr "هناكخطأم ما في رمز CSRF. تحقق أن الكوكيز مفعل في متصفحك وأعد تحميل الصفحة. إذا واجهتهذا الخطأ منجديد يرجى التبليغ."
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
|
||||||
"هناكخطأم ما في رمز CSRF. تحقق أن الكوكيز مفعل في متصفحك وأعد تحميل الصفحة. "
|
|
||||||
"إذا واجهتهذا الخطأ منجديد يرجى التبليغ."
|
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
msgstr "ليست لديك التصريحات اللازمة للقيام بذلك."
|
msgstr "ليست لديك التصريحات اللازمة للقيام بذلك."
|
||||||
@@ -644,21 +627,13 @@ msgstr "الرخصة الافتراضية للمقال"
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr "احفظ هذه الإعدادات"
|
msgstr "احفظ هذه الإعدادات"
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
|
||||||
msgstr "إذا كنت تصفح هذا الموقع كزائر ، لا يتم تجميع أي بيانات عنك."
|
msgstr "إذا كنت تصفح هذا الموقع كزائر ، لا يتم تجميع أي بيانات عنك."
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
@@ -667,10 +642,7 @@ msgstr ""
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
@@ -679,17 +651,13 @@ msgstr ""
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
@@ -761,11 +729,8 @@ msgstr "العنوان الثانوي"
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "المحتوى"
|
msgstr "المحتوى"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
msgstr "يكنك رفع الوسائط للألبوم ومن ثم نسخ شفرة الماركداون في مقالاتك لإدراجها."
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
|
||||||
"يكنك رفع الوسائط للألبوم ومن ثم نسخ شفرة الماركداون في مقالاتك لإدراجها."
|
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
msgstr "تحميل وسائط"
|
msgstr "تحميل وسائط"
|
||||||
@@ -830,12 +795,8 @@ msgstr "لم أعد أرغب في دعم هذا"
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr "رقّي"
|
msgstr "رقّي"
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
msgstr "{0}قم بتسجيل الدخول{1} أو {2}استخدم حسابك على الفديفرس{3} إن كنت ترغب في التفاعل مع هذا المقال"
|
||||||
"article"
|
|
||||||
msgstr ""
|
|
||||||
"{0}قم بتسجيل الدخول{1} أو {2}استخدم حسابك على الفديفرس{3} إن كنت ترغب في "
|
|
||||||
"التفاعل مع هذا المقال"
|
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "التعليقات"
|
msgstr "التعليقات"
|
||||||
@@ -891,12 +852,8 @@ msgstr "تحديث الكلمة السرية"
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr "تحقق من علبة الوارد الخاصة بك!"
|
msgstr "تحقق من علبة الوارد الخاصة بك!"
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
msgstr "لقد أرسلنا رسالة للعنوان الذي توصلنا به من طرفك تضمنرابط لإعادت تحديد كلمة المرور."
|
||||||
"password."
|
|
||||||
msgstr ""
|
|
||||||
"لقد أرسلنا رسالة للعنوان الذي توصلنا به من طرفك تضمنرابط لإعادت تحديد كلمة "
|
|
||||||
"المرور."
|
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
msgstr "أرسل رابط إعادة تعيين الكلمة السرية"
|
msgstr "أرسل رابط إعادة تعيين الكلمة السرية"
|
||||||
@@ -904,9 +861,7 @@ msgstr "أرسل رابط إعادة تعيين الكلمة السرية"
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
|
||||||
"a>."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
@@ -921,8 +876,7 @@ msgstr "انشاء مدونة"
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr "تعديل \"{}\""
|
msgstr "تعديل \"{}\""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
|
||||||
msgstr "يمكن رفع الصور إلى ألبومك من أجل إستعمالها كأيقونة المدونة أو الشعار."
|
msgstr "يمكن رفع الصور إلى ألبومك من أجل إستعمالها كأيقونة المدونة أو الشعار."
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
@@ -988,12 +942,8 @@ msgstr "بلوم محرك لامركزي للمدونات."
|
|||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr "يمكن للمحررين أن يديرو العديد من المدونات كل واحدة كموقع منفرد."
|
msgstr "يمكن للمحررين أن يديرو العديد من المدونات كل واحدة كموقع منفرد."
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
msgstr "ستكون المقالات معروضة على مواقع بلومالأخرى حيث يمكنكم التفاعل معها مباشرة عبر أية منصة أخرى مثل ماستدون."
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
|
||||||
"ستكون المقالات معروضة على مواقع بلومالأخرى حيث يمكنكم التفاعل معها مباشرة "
|
|
||||||
"عبر أية منصة أخرى مثل ماستدون."
|
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
msgstr "إقرأ القواعد بالتفصيل"
|
msgstr "إقرأ القواعد بالتفصيل"
|
||||||
@@ -1072,3 +1022,4 @@ msgstr "نشرتحت هذا الترخيص"
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr "رخصة المقال"
|
msgstr "رخصة المقال"
|
||||||
|
|
||||||
|
|||||||
+100
-189
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Bulgarian\n"
|
"Language-Team: Bulgarian\n"
|
||||||
"Language: bg_BG\n"
|
"Language: bg_BG\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr "Следваща страница"
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr "По избор"
|
msgstr "По избор"
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr "За да създадете нов блог, трябва да влезете"
|
msgstr "За да създадете нов блог, трябва да влезете"
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Вече съществува блог със същото име."
|
msgstr "Вече съществува блог със същото име."
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr "Блогът Ви бе успешно създаден!"
|
msgstr "Блогът Ви бе успешно създаден!"
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr "Блогът ви бе изтрит."
|
msgstr "Блогът ви бе изтрит."
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Нямате права за да изтриете този блог."
|
msgstr "Нямате права за да изтриете този блог."
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr "Нямате права за да редактирате този блог."
|
msgstr "Нямате права за да редактирате този блог."
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr "Не можете да използвате тази медия като икона на блога."
|
msgstr "Не можете да използвате тази медия като икона на блога."
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Не можете да използвате тази медия като банер на блога."
|
msgstr "Не можете да използвате тази медия като банер на блога."
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr "Информацията в блога ви бе актуализирана."
|
msgstr "Информацията в блога ви бе актуализирана."
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr "Коментарът е публикуван."
|
msgstr "Коментарът е публикуван."
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr "Коментарът бе изтрит."
|
msgstr "Коментарът бе изтрит."
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr "Настройките на инстанциите са запазени."
|
msgstr "Настройките на инстанциите са запазени."
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr "{} са отблокирани."
|
msgstr "{} са отблокирани."
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr "{} са блокирани."
|
msgstr "{} са блокирани."
|
||||||
|
|
||||||
@@ -125,51 +125,51 @@ msgstr "{} са блокирани."
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr "Блоковете са изтрити"
|
msgstr "Блоковете са изтрити"
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr "Имейлът вече е блокиран"
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr "Блокиран Email"
|
msgstr "Блокиран Email"
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr "Не можете да промените собствените си права."
|
msgstr "Не можете да промените собствените си права."
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr "Нямате права да предприемате това действие."
|
msgstr "Нямате права да предприемате това действие."
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr "Свършен."
|
msgstr "Свършен."
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "За да харесате публикация, трябва да сте влезли в профила си"
|
msgstr "За да харесате публикация, трябва да сте влезли в профила си"
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr "Медията ви е изтрита."
|
msgstr "Медията ви е изтрита."
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr "Вие нямате права да изтриете тази медия."
|
msgstr "Вие нямате права да изтриете тази медия."
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr "Вашият аватар е актуализиран."
|
msgstr "Вашият аватар е актуализиран."
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr "Нямате права да използвате тази медия."
|
msgstr "Нямате права да използвате тази медия."
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr "За да видите известията си, трябва да сте влезли в профила си"
|
msgstr "За да видите известията си, трябва да сте влезли в профила си"
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr "Тази публикация все още не е публикувана."
|
msgstr "Тази публикация все още не е публикувана."
|
||||||
|
|
||||||
@@ -177,127 +177,113 @@ msgstr "Тази публикация все още не е публикуван
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr "За да напишете нова публикация, трябва да влезете"
|
msgstr "За да напишете нова публикация, трябва да влезете"
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr "Вие не сте автор на този блог."
|
msgstr "Вие не сте автор на този блог."
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr "Нова публикация"
|
msgstr "Нова публикация"
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Редактирано от {0}"
|
msgstr "Редактирано от {0}"
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr "Нямате права за публикуване в този блог."
|
msgstr "Нямате права за публикуване в този блог."
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr "Статията ви е актуализирана."
|
msgstr "Статията ви е актуализирана."
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr "Вашата статия е запазена."
|
msgstr "Вашата статия е запазена."
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr "Нова статия"
|
msgstr "Нова статия"
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr "Нямате права за изтриване на тази статия."
|
msgstr "Нямате права за изтриване на тази статия."
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr "Статията е изтрита."
|
msgstr "Статията е изтрита."
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
msgstr "Изглежда, че статията, която се опитвате да изтриете не съществува. Може би вече я няма?"
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
|
||||||
"Изглежда, че статията, която се опитвате да изтриете не съществува. Може би "
|
|
||||||
"вече я няма?"
|
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
msgstr "Не можа да се получи достатъчно информация за профила ви. Моля, уверете се, че потребителското ви име е правилно."
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
|
||||||
"Не можа да се получи достатъчно информация за профила ви. Моля, уверете се, "
|
|
||||||
"че потребителското ви име е правилно."
|
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "За да споделите отново публикация, трябва да сте влезли в профила си"
|
msgstr "За да споделите отново публикация, трябва да сте влезли в профила си"
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr "Вече сте свързани."
|
msgstr "Вече сте свързани."
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr "Вече сте изключени."
|
msgstr "Вече сте изключени."
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Нулиране на паролата"
|
msgstr "Нулиране на паролата"
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr "Ето и връзка, на която да зададете нова парола: {0}"
|
msgstr "Ето и връзка, на която да зададете нова парола: {0}"
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr "Вашата парола бе успешно възстановена."
|
msgstr "Вашата парола бе успешно възстановена."
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr ""
|
msgstr "За да получите достъп до таблото си за управление, трябва да сте влезли в профила си"
|
||||||
"За да получите достъп до таблото си за управление, трябва да сте влезли в "
|
|
||||||
"профила си"
|
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr "Вече не следвате {}."
|
msgstr "Вече не следвате {}."
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr "Вече следите {}."
|
msgstr "Вече следите {}."
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "За да се абонирате за някого, трябва да сте влезли в системата"
|
msgstr "За да се абонирате за някого, трябва да сте влезли в системата"
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "За редактирате профила си, трябва да влезете"
|
msgstr "За да редактирате профила си, трябва да влезете"
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr "Вашият профил е актуализиран."
|
msgstr "Вашият профил е актуализиран."
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr "Вашият акаунт е изтрит."
|
msgstr "Вашият акаунт е изтрит."
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr "Не можете да изтриете профила на някой друг."
|
msgstr "Не можете да изтриете профила на някой друг."
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr "Регистрациите са затворени в тази инстанция."
|
msgstr "Регистрациите са затворени в тази инстанция."
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
msgstr "Вашият акаунт беше създаден. Сега просто трябва да влезете за да можете да го използвате."
|
||||||
"use it."
|
|
||||||
msgstr ""
|
|
||||||
"Вашият акаунт беше създаден. Сега просто трябва да влезете за да можете да "
|
|
||||||
"го използвате."
|
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
msgstr "Качи медия"
|
msgstr "Качи медия"
|
||||||
@@ -455,12 +441,8 @@ msgstr "Парола"
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr "Потвърждение на парола"
|
msgstr "Потвърждение на парола"
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
msgstr "Извиняваме се, но регистрациите са затворени за тази конкретна инстанция. Можете обаче да намерите друга."
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
|
||||||
"Извиняваме се, но регистрациите са затворени за тази конкретна инстанция. "
|
|
||||||
"Можете обаче да намерите друга."
|
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
msgstr "{0} абонаменти"
|
msgstr "{0} абонаменти"
|
||||||
@@ -472,9 +454,7 @@ msgid "Your Blogs"
|
|||||||
msgstr "Вашият Блог"
|
msgstr "Вашият Блог"
|
||||||
|
|
||||||
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
||||||
msgstr ""
|
msgstr "Все още нямате блог. Създайте свой собствен или поискайте да се присъедините към някой друг."
|
||||||
"Все още нямате блог. Създайте свой собствен или поискайте да се присъедините "
|
|
||||||
"към някой друг."
|
|
||||||
|
|
||||||
msgid "Start a new blog"
|
msgid "Start a new blog"
|
||||||
msgstr "Започнете нов блог"
|
msgstr "Започнете нов блог"
|
||||||
@@ -491,10 +471,8 @@ msgstr "Редактирайте профила си"
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr "Вашият профил"
|
msgstr "Вашият профил"
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
msgstr "За да промените аватара си, качете го в галерията и след това го изберете."
|
||||||
msgstr ""
|
|
||||||
"За да промените аватара си, качете го в галерията и след това го изберете."
|
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
msgstr "Качете аватар"
|
msgstr "Качете аватар"
|
||||||
@@ -524,17 +502,13 @@ msgid "Danger zone"
|
|||||||
msgstr "Опасна зона"
|
msgstr "Опасна зона"
|
||||||
|
|
||||||
msgid "Be very careful, any action taken here can't be cancelled."
|
msgid "Be very careful, any action taken here can't be cancelled."
|
||||||
msgstr ""
|
msgstr "Бъдете много внимателни, всяко действие предприето тук не може да бъде отменено."
|
||||||
"Бъдете много внимателни, всяко действие предприето тук не може да бъде "
|
|
||||||
"отменено."
|
|
||||||
|
|
||||||
msgid "Delete your account"
|
msgid "Delete your account"
|
||||||
msgstr "Изтриване на вашият профил"
|
msgstr "Изтриване на вашият профил"
|
||||||
|
|
||||||
msgid "Sorry, but as an admin, you can't leave your own instance."
|
msgid "Sorry, but as an admin, you can't leave your own instance."
|
||||||
msgstr ""
|
msgstr "За съжаление, като администратор не можете да напуснете своята собствена инстанция."
|
||||||
"За съжаление, като администратор не можете да напуснете своята собствена "
|
|
||||||
"инстанция."
|
|
||||||
|
|
||||||
msgid "Latest articles"
|
msgid "Latest articles"
|
||||||
msgstr "Последни статии"
|
msgstr "Последни статии"
|
||||||
@@ -564,20 +538,13 @@ msgid "Something broke on our side."
|
|||||||
msgstr "Възникна грешка от ваша страна."
|
msgstr "Възникна грешка от ваша страна."
|
||||||
|
|
||||||
msgid "Sorry about that. If you think this is a bug, please report it."
|
msgid "Sorry about that. If you think this is a bug, please report it."
|
||||||
msgstr ""
|
msgstr "Извиняваме се за това. Ако смятате, че това е грешка, моля докладвайте я."
|
||||||
"Извиняваме се за това. Ако смятате, че това е грешка, моля докладвайте я."
|
|
||||||
|
|
||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr "Невалиден CSRF token (маркер)"
|
msgstr "Невалиден CSRF token (маркер)"
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
msgstr "Нещо не е наред с вашия CSRF token (маркер). Уверете се, че бисквитките са активирани в браузъра и опитайте да заредите отново тази страница. Ако продължите да виждате това съобщение за грешка, моля, подайте сигнал за това."
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
|
||||||
"Нещо не е наред с вашия CSRF token (маркер). Уверете се, че бисквитките са "
|
|
||||||
"активирани в браузъра и опитайте да заредите отново тази страница. Ако "
|
|
||||||
"продължите да виждате това съобщение за грешка, моля, подайте сигнал за това."
|
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
msgstr "Не сте упълномощени."
|
msgstr "Не сте упълномощени."
|
||||||
@@ -660,29 +627,14 @@ msgstr "Лиценз по подразбиране"
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr "Запаметете тези настройки"
|
msgstr "Запаметете тези настройки"
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
|
||||||
msgstr "Ако разглеждате този сайт като посетител, не се събират данни за вас."
|
msgstr "Ако разглеждате този сайт като посетител, не се събират данни за вас."
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
msgstr "Като регистриран потребител трябва да предоставите потребителско име (което не е задължително да е вашето истинско име), вашия функционален имейл адрес и парола за да можете да влезете, да напишете статии и коментари. Съдържанието, което изпращате се съхранява докато не го изтриете."
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
|
||||||
"Като регистриран потребител трябва да предоставите потребителско име (което "
|
|
||||||
"не е задължително да е вашето истинско име), вашия функционален имейл адрес "
|
|
||||||
"и парола за да можете да влезете, да напишете статии и коментари. "
|
|
||||||
"Съдържанието, което изпращате се съхранява докато не го изтриете."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
msgstr "Когато влезете в системата, съхраняваме две „бисквитки“, една за отваряне на сесията, а втората за да попречи на други хора да действат от ваше име. Ние не съхраняваме никакви други бисквитки."
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
|
||||||
"Когато влезете в системата, съхраняваме две „бисквитки“, една за отваряне на "
|
|
||||||
"сесията, а втората за да попречи на други хора да действат от ваше име. Ние "
|
|
||||||
"не съхраняваме никакви други бисквитки."
|
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
msgstr "Имейли в череният списък"
|
msgstr "Имейли в череният списък"
|
||||||
@@ -690,14 +642,8 @@ msgstr "Имейли в череният списък"
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr "Имейл адрес"
|
msgstr "Имейл адрес"
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
msgstr "Имейл адресът, който искате да блокирате. За да блокирате домейните можете да използвате широкообхватен синтаксис, например '*@example.com' блокира всички адреси от example.com"
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
|
||||||
"Имейл адресът, който искате да блокирате. За да блокирате домейните можете "
|
|
||||||
"да използвате широкообхватен синтаксис, например '*@example.com' блокира "
|
|
||||||
"всички адреси от example.com"
|
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
msgstr "Бележка"
|
msgstr "Бележка"
|
||||||
@@ -705,22 +651,14 @@ msgstr "Бележка"
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr "Уведомяване на потребителя?"
|
msgstr "Уведомяване на потребителя?"
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
msgstr "По желание, показва съобщение на потребителя, когато той се опита да създаде акаунт с този адрес"
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
|
||||||
"По желание, показва съобщение на потребителя, когато той се опита да създаде "
|
|
||||||
"акаунт с този адрес"
|
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr "Известие за блокиране от списък"
|
msgstr "Известие за блокиране от списък"
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
msgstr "Съобщението, което трябва да се покаже, когато потребителят се опита да създаде акаунт с този имейл адрес"
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
|
||||||
"Съобщението, което трябва да се покаже, когато потребителят се опита да "
|
|
||||||
"създаде акаунт с този имейл адрес"
|
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
msgstr "Добавяне на адрес в черният списък"
|
msgstr "Добавяне на адрес в черният списък"
|
||||||
@@ -791,12 +729,8 @@ msgstr "Подзаглавие"
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Съдържание"
|
msgstr "Съдържание"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
msgstr "Можете да качвате мултимедия в галерията си, а след това да копирате Markdown кода в статиите си за да я вмъкнете."
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
|
||||||
"Можете да качвате мултимедия в галерията си, а след това да копирате "
|
|
||||||
"Markdown кода в статиите си за да я вмъкнете."
|
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
msgstr "Качете медия"
|
msgstr "Качете медия"
|
||||||
@@ -853,12 +787,8 @@ msgstr "Не искам повече да го подсилвам"
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr "Подсилване"
|
msgstr "Подсилване"
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
msgstr "{0}Влезте {1}или {2}използвайте акаунта си в Fediverse{3}, за да взаимодействате с тази статия"
|
||||||
"article"
|
|
||||||
msgstr ""
|
|
||||||
"{0}Влезте {1}или {2}използвайте акаунта си в Fediverse{3}, за да "
|
|
||||||
"взаимодействате с тази статия"
|
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Коментари"
|
msgstr "Коментари"
|
||||||
@@ -876,8 +806,7 @@ msgid "Are you sure?"
|
|||||||
msgstr "Сигурен ли си?"
|
msgstr "Сигурен ли си?"
|
||||||
|
|
||||||
msgid "This article is still a draft. Only you and other authors can see it."
|
msgid "This article is still a draft. Only you and other authors can see it."
|
||||||
msgstr ""
|
msgstr "Тази статия все още е проект. Само вие и другите автори можете да я видите."
|
||||||
"Тази статия все още е проект. Само вие и другите автори можете да я видите."
|
|
||||||
|
|
||||||
msgid "Only you and other authors can edit this article."
|
msgid "Only you and other authors can edit this article."
|
||||||
msgstr "Само вие и другите автори можете да редактирате тази статия."
|
msgstr "Само вие и другите автори можете да редактирате тази статия."
|
||||||
@@ -915,12 +844,8 @@ msgstr "Обнови паролата"
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr "Проверете си пощата!"
|
msgstr "Проверете си пощата!"
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
msgstr "Изпратихме емайл с връзка за възстановяване на паролата ви, на адреса който ни дадохте."
|
||||||
"password."
|
|
||||||
msgstr ""
|
|
||||||
"Изпратихме емайл с връзка за възстановяване на паролата ви, на адреса който "
|
|
||||||
"ни дадохте."
|
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
msgstr "Изпращане на връзка за възстановяване на парола"
|
msgstr "Изпращане на връзка за възстановяване на парола"
|
||||||
@@ -928,12 +853,8 @@ msgstr "Изпращане на връзка за възстановяване
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr "Този токен е изтекъл"
|
msgstr "Този токен е изтекъл"
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
msgstr "Моля, стартирайте процеса отново като щракнете <a href=\"/password-reset\">тук</a>."
|
||||||
"a>."
|
|
||||||
msgstr ""
|
|
||||||
"Моля, стартирайте процеса отново като щракнете <a href=\"/password-reset"
|
|
||||||
"\">тук</a>."
|
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
msgstr "Нов блог"
|
msgstr "Нов блог"
|
||||||
@@ -947,11 +868,8 @@ msgstr "Създайте блог"
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr "редактирам \"{}\""
|
msgstr "редактирам \"{}\""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
msgstr "Можете да качвате изображения в галерията си и да ги използвате като икони на блога или банери."
|
||||||
msgstr ""
|
|
||||||
"Можете да качвате изображения в галерията си и да ги използвате като икони "
|
|
||||||
"на блога или банери."
|
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
msgstr "Качване на изображения"
|
msgstr "Качване на изображения"
|
||||||
@@ -969,9 +887,7 @@ msgid "Update blog"
|
|||||||
msgstr "Актуализация блог"
|
msgstr "Актуализация блог"
|
||||||
|
|
||||||
msgid "Be very careful, any action taken here can't be reversed."
|
msgid "Be very careful, any action taken here can't be reversed."
|
||||||
msgstr ""
|
msgstr "Бъдете много внимателни, всяко действие, предприето тук не може да бъде отменено."
|
||||||
"Бъдете много внимателни, всяко действие, предприето тук не може да бъде "
|
|
||||||
"отменено."
|
|
||||||
|
|
||||||
msgid "Are you sure that you want to permanently delete this blog?"
|
msgid "Are you sure that you want to permanently delete this blog?"
|
||||||
msgstr "Сигурни ли сте, че искате да изтриете окончателно този блог?"
|
msgstr "Сигурни ли сте, че искате да изтриете окончателно този блог?"
|
||||||
@@ -1012,16 +928,10 @@ msgid "Plume is a decentralized blogging engine."
|
|||||||
msgstr "Pluma е децентрализиран двигател за блогове."
|
msgstr "Pluma е децентрализиран двигател за блогове."
|
||||||
|
|
||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr "Авторите могат да управляват множество блогове, всеки като свой уникален уебсайт."
|
||||||
"Авторите могат да управляват множество блогове, всеки като свой уникален "
|
|
||||||
"уебсайт."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
msgstr "Статиите се виждат и на други Plume инстанции като можете да взаимодействате с тях директно и от други платформи като Mastodon."
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
|
||||||
"Статиите се виждат и на други Plume инстанции като можете да взаимодействате "
|
|
||||||
"с тях директно и от други платформи като Mastodon."
|
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
msgstr "Прочетете подробните правила"
|
msgstr "Прочетете подробните правила"
|
||||||
@@ -1100,3 +1010,4 @@ msgstr "Публикувано под този лиценз"
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr "Лиценз на статията"
|
msgstr "Лиценз на статията"
|
||||||
|
|
||||||
|
|||||||
+96
-179
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Catalan\n"
|
"Language-Team: Catalan\n"
|
||||||
"Language: ca_ES\n"
|
"Language: ca_ES\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr "Pàgina següent"
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr "Opcional"
|
msgstr "Opcional"
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr "Per a crear un blog nou, heu d’iniciar una sessió"
|
msgstr "Per a crear un blog nou, heu d’iniciar una sessió"
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Ja existeix un blog amb el mateix nom."
|
msgstr "Ja existeix un blog amb el mateix nom."
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr "S’ha creat el vostre blog correctament."
|
msgstr "S’ha creat el vostre blog correctament."
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr "S’ha suprimit el vostre blog."
|
msgstr "S’ha suprimit el vostre blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "No tens permís per a esborrar aquest blog."
|
msgstr "No tens permís per a esborrar aquest blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr "No tens permís per a editar aquest blog."
|
msgstr "No tens permís per a editar aquest blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr "No pots usar aquest Mèdia com a icona del blog."
|
msgstr "No pots usar aquest Mèdia com a icona del blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "No pots usar aquest Mèdia com a capçalera del blog."
|
msgstr "No pots usar aquest Mèdia com a capçalera del blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr "S’ha actualitzat la informació del vostre blog."
|
msgstr "S’ha actualitzat la informació del vostre blog."
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr "S’ha publicat el vostre comentari."
|
msgstr "S’ha publicat el vostre comentari."
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr "S’ha suprimit el vostre comentari."
|
msgstr "S’ha suprimit el vostre comentari."
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr "S'han desat les configuracions de l'instància."
|
msgstr "S'han desat les configuracions de l'instància."
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr "{0} ha estat desbloquejat."
|
msgstr "{0} ha estat desbloquejat."
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr "{0} ha estat bloquejat."
|
msgstr "{0} ha estat bloquejat."
|
||||||
|
|
||||||
@@ -125,51 +125,51 @@ msgstr "{0} ha estat bloquejat."
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr "Bloquejos esborrats"
|
msgstr "Bloquejos esborrats"
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr "Adreça de correu bloquejada"
|
msgstr "Adreça de correu bloquejada"
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr "No pots canviar els teus propis drets."
|
msgstr "No pots canviar els teus propis drets."
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr "No tens permís per a prendre aquesta acció."
|
msgstr "No tens permís per a prendre aquesta acció."
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr "Fet."
|
msgstr "Fet."
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Per a agradar-te una publicació necessites iniciar sessió"
|
msgstr "Per a agradar-te una publicació necessites iniciar sessió"
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr "S'ha esborrat el teu Mèdia."
|
msgstr "S'ha esborrat el teu Mèdia."
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr "No tens permís per a esborrar aquest Mèdia."
|
msgstr "No tens permís per a esborrar aquest Mèdia."
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr "S'ha actualitzat el teu avatar."
|
msgstr "S'ha actualitzat el teu avatar."
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr "No tens permís per a usar aquest Mèdia."
|
msgstr "No tens permís per a usar aquest Mèdia."
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr "Per a veure les teves notificacions necessites iniciar sessió"
|
msgstr "Per a veure les teves notificacions necessites iniciar sessió"
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr "Aquesta entrada encara no està publicada."
|
msgstr "Aquesta entrada encara no està publicada."
|
||||||
|
|
||||||
@@ -177,123 +177,113 @@ msgstr "Aquesta entrada encara no està publicada."
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr "Per a escriure una nova entrada cal iniciar sessió"
|
msgstr "Per a escriure una nova entrada cal iniciar sessió"
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr "No ets un autor d'aquest blog."
|
msgstr "No ets un autor d'aquest blog."
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr "Apunt nou"
|
msgstr "Apunt nou"
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Edita {0}"
|
msgstr "Edita {0}"
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr "No tens permís per a publicar en aquest blog."
|
msgstr "No tens permís per a publicar en aquest blog."
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr "S’ha actualitzat el vostre article."
|
msgstr "S’ha actualitzat el vostre article."
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr "S’ha desat el vostre article."
|
msgstr "S’ha desat el vostre article."
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr "Article nou"
|
msgstr "Article nou"
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr "No tens permís per a esborrar aquest article."
|
msgstr "No tens permís per a esborrar aquest article."
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr "S’ha suprimit el vostre article."
|
msgstr "S’ha suprimit el vostre article."
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
msgstr "Sembla que l'article que intentes esborrar no existeix. Potser ja no hi és?"
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
|
||||||
"Sembla que l'article que intentes esborrar no existeix. Potser ja no hi és?"
|
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
msgstr "No s'ha pogut obtenir informació sobre el teu compte. Si us plau, assegura't que el teu nom d'usuari és correcte."
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
|
||||||
"No s'ha pogut obtenir informació sobre el teu compte. Si us plau, assegura't "
|
|
||||||
"que el teu nom d'usuari és correcte."
|
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Per a impulsar una entrada cal iniciar sessió"
|
msgstr "Per a impulsar una entrada cal iniciar sessió"
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr "Ara estàs connectat."
|
msgstr "Ara estàs connectat."
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr "Ara estàs desconnectat."
|
msgstr "Ara estàs desconnectat."
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Reinicialització de contrasenya"
|
msgstr "Reinicialització de contrasenya"
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr "Aquí està l'enllaç per a reiniciar la teva contrasenya: {0}"
|
msgstr "Aquí està l'enllaç per a reiniciar la teva contrasenya: {0}"
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr "S’ha reinicialitzat la vostra contrasenya correctament."
|
msgstr "S’ha reinicialitzat la vostra contrasenya correctament."
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "Per a accedir al teu panell cal iniciar sessió"
|
msgstr "Per a accedir al teu panell cal iniciar sessió"
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr "Ja no segueixes a {}."
|
msgstr "Ja no segueixes a {}."
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr "Ara estàs seguint a {}."
|
msgstr "Ara estàs seguint a {}."
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "Per a subscriure't a algú cal iniciar sessió"
|
msgstr "Per a subscriure't a algú cal iniciar sessió"
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "Per a editar el teu perfil cal iniciar sessió"
|
msgstr "Per a editar el teu perfil cal iniciar sessió"
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr "El teu perfil s'ha actualitzat."
|
msgstr "El teu perfil s'ha actualitzat."
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr "El teu compte s'ha esborrat."
|
msgstr "El teu compte s'ha esborrat."
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr "No pots esborrar el compte d'algú altre."
|
msgstr "No pots esborrar el compte d'algú altre."
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr "El registre d'aquesta instància és tancat."
|
msgstr "El registre d'aquesta instància és tancat."
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
msgstr "S'ha creat el teu compte. Ara cal iniciar sessió per a començar a usar-lo."
|
||||||
"use it."
|
|
||||||
msgstr ""
|
|
||||||
"S'ha creat el teu compte. Ara cal iniciar sessió per a començar a usar-lo."
|
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
msgstr "Carregar Mèdia"
|
msgstr "Carregar Mèdia"
|
||||||
@@ -302,9 +292,7 @@ msgid "Description"
|
|||||||
msgstr "Descripció"
|
msgstr "Descripció"
|
||||||
|
|
||||||
msgid "Useful for visually impaired people, as well as licensing information"
|
msgid "Useful for visually impaired people, as well as licensing information"
|
||||||
msgstr ""
|
msgstr "Molt útil per a persones amb deficiències visuals aixó com informació sobre llicències"
|
||||||
"Molt útil per a persones amb deficiències visuals aixó com informació sobre "
|
|
||||||
"llicències"
|
|
||||||
|
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Advertència sobre el contingut"
|
msgstr "Advertència sobre el contingut"
|
||||||
@@ -453,12 +441,8 @@ msgstr "Contrasenya"
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr "Confirmació de la contrasenya"
|
msgstr "Confirmació de la contrasenya"
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
msgstr "Disculpa, el registre d'aquesta instància és tancat. Pots trobar-ne un altre diferent."
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
|
||||||
"Disculpa, el registre d'aquesta instància és tancat. Pots trobar-ne un altre "
|
|
||||||
"diferent."
|
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
msgstr "Subscripcions de {0}"
|
msgstr "Subscripcions de {0}"
|
||||||
@@ -470,8 +454,7 @@ msgid "Your Blogs"
|
|||||||
msgstr "Els vostres blogs"
|
msgstr "Els vostres blogs"
|
||||||
|
|
||||||
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
||||||
msgstr ""
|
msgstr "Encara no tens cap bloc. Crea el teu propi o pregunta per a unir-te a un."
|
||||||
"Encara no tens cap bloc. Crea el teu propi o pregunta per a unir-te a un."
|
|
||||||
|
|
||||||
msgid "Start a new blog"
|
msgid "Start a new blog"
|
||||||
msgstr "Inicia un nou bloc"
|
msgstr "Inicia un nou bloc"
|
||||||
@@ -488,11 +471,8 @@ msgstr "Edita el teu compte"
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr "El vostre perfil"
|
msgstr "El vostre perfil"
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
msgstr "Per a canviar el teu avatar, puja'l a la teva galeria i desprès selecciona'l allà."
|
||||||
msgstr ""
|
|
||||||
"Per a canviar el teu avatar, puja'l a la teva galeria i desprès selecciona'l "
|
|
||||||
"allà."
|
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
msgstr "Puja un avatar"
|
msgstr "Puja un avatar"
|
||||||
@@ -528,8 +508,7 @@ msgid "Delete your account"
|
|||||||
msgstr "Elimina el teu compte"
|
msgstr "Elimina el teu compte"
|
||||||
|
|
||||||
msgid "Sorry, but as an admin, you can't leave your own instance."
|
msgid "Sorry, but as an admin, you can't leave your own instance."
|
||||||
msgstr ""
|
msgstr "Ho sentim però com a admin, no pots abandonar la teva pròpia instància."
|
||||||
"Ho sentim però com a admin, no pots abandonar la teva pròpia instància."
|
|
||||||
|
|
||||||
msgid "Latest articles"
|
msgid "Latest articles"
|
||||||
msgstr "Darrers articles"
|
msgstr "Darrers articles"
|
||||||
@@ -564,14 +543,8 @@ msgstr "Disculpa-n's. Si creus que això és un error, si us plau reporta-ho."
|
|||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr "Token CSRF invalid"
|
msgstr "Token CSRF invalid"
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
msgstr "Alguna cosa no és correcte amb el teu token CSRF. Assegura't que no bloqueges les galetes en el teu navegador i prova refrescant la pàgina. Si continues veient aquest missatge d'error, si us plau informa-ho."
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
|
||||||
"Alguna cosa no és correcte amb el teu token CSRF. Assegura't que no "
|
|
||||||
"bloqueges les galetes en el teu navegador i prova refrescant la pàgina. Si "
|
|
||||||
"continues veient aquest missatge d'error, si us plau informa-ho."
|
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
msgstr "No estàs autoritzat."
|
msgstr "No estàs autoritzat."
|
||||||
@@ -654,31 +627,14 @@ msgstr "Llicència per defecte dels articles"
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr "Desa aquests paràmetres"
|
msgstr "Desa aquests paràmetres"
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
msgstr "Si estàs navegant aquest lloc com a visitant cap dada sobre tu serà recollida."
|
||||||
msgstr ""
|
|
||||||
"Si estàs navegant aquest lloc com a visitant cap dada sobre tu serà "
|
|
||||||
"recollida."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
msgstr "Com a usuari registrat has de proporcionar un nom d'usuari (que no ha de ser el teu nom real), una adreça de correu funcional i una contrasenya per a poder ser capaç d'iniciar sessió, escriure articles i comentar-los. El contingut que enviïs es guarda fins que tu l'esborris."
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
|
||||||
"Com a usuari registrat has de proporcionar un nom d'usuari (que no ha de ser "
|
|
||||||
"el teu nom real), una adreça de correu funcional i una contrasenya per a "
|
|
||||||
"poder ser capaç d'iniciar sessió, escriure articles i comentar-los. El "
|
|
||||||
"contingut que enviïs es guarda fins que tu l'esborris."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
msgstr "Quan inicies sessió guardem dues galetes, una per a mantenir la sessió oberta i l l'altre per a evitar que d'altres persones actuïn en el teu nom. No guardem cap altre galeta."
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
|
||||||
"Quan inicies sessió guardem dues galetes, una per a mantenir la sessió "
|
|
||||||
"oberta i l l'altre per a evitar que d'altres persones actuïn en el teu nom. "
|
|
||||||
"No guardem cap altre galeta."
|
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
msgstr "Llista de bloqueig d'adreces de correu"
|
msgstr "Llista de bloqueig d'adreces de correu"
|
||||||
@@ -686,14 +642,8 @@ msgstr "Llista de bloqueig d'adreces de correu"
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr "Adreça de correu electrònic"
|
msgstr "Adreça de correu electrònic"
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
msgstr "L'adreça de correu electrònic que desitges bloquejar. Per a bloquejar dominis pots usar la sintaxi global, per exemple '*@exemple.com' bloqueja totes les adreces de exemple.com"
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
|
||||||
"L'adreça de correu electrònic que desitges bloquejar. Per a bloquejar "
|
|
||||||
"dominis pots usar la sintaxi global, per exemple '*@exemple.com' bloqueja "
|
|
||||||
"totes les adreces de exemple.com"
|
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
msgstr "Nota"
|
msgstr "Nota"
|
||||||
@@ -701,22 +651,14 @@ msgstr "Nota"
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr "Notificar l'usuari?"
|
msgstr "Notificar l'usuari?"
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
msgstr "Opcional, mostra un missatge al usuari quan intenta crear un compte amb aquesta adreça"
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
|
||||||
"Opcional, mostra un missatge al usuari quan intenta crear un compte amb "
|
|
||||||
"aquesta adreça"
|
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr "Notificacions de la llista de bloqueig"
|
msgstr "Notificacions de la llista de bloqueig"
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
msgstr "El missatge per a ser mostrat quan l'usuari intenta crear un compte amb aquesta adreça de correu"
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
|
||||||
"El missatge per a ser mostrat quan l'usuari intenta crear un compte amb "
|
|
||||||
"aquesta adreça de correu"
|
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
msgstr "Afegir adreça a la llista de bloquejos"
|
msgstr "Afegir adreça a la llista de bloquejos"
|
||||||
@@ -787,12 +729,8 @@ msgstr "Subtítol"
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Contingut"
|
msgstr "Contingut"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
msgstr "Pots pujar Mèdia a la teva galeria i desprès copiar el codi Markdown dels teus articles per a inserir-los."
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
|
||||||
"Pots pujar Mèdia a la teva galeria i desprès copiar el codi Markdown dels "
|
|
||||||
"teus articles per a inserir-los."
|
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
msgstr "Pujar Mèdia"
|
msgstr "Pujar Mèdia"
|
||||||
@@ -849,12 +787,8 @@ msgstr "Ja no vull impulsar més això"
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr "Impuls"
|
msgstr "Impuls"
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
msgstr "{0}Inicia sessió{1}, o {2}usa el teu compte del Fedivers{3} per a interactuar amb aquest article"
|
||||||
"article"
|
|
||||||
msgstr ""
|
|
||||||
"{0}Inicia sessió{1}, o {2}usa el teu compte del Fedivers{3} per a "
|
|
||||||
"interactuar amb aquest article"
|
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Comentaris"
|
msgstr "Comentaris"
|
||||||
@@ -872,9 +806,7 @@ msgid "Are you sure?"
|
|||||||
msgstr "N’esteu segur?"
|
msgstr "N’esteu segur?"
|
||||||
|
|
||||||
msgid "This article is still a draft. Only you and other authors can see it."
|
msgid "This article is still a draft. Only you and other authors can see it."
|
||||||
msgstr ""
|
msgstr "Aquest article és encara un esborrany. Només tu i altres autors podeu veure'l."
|
||||||
"Aquest article és encara un esborrany. Només tu i altres autors podeu "
|
|
||||||
"veure'l."
|
|
||||||
|
|
||||||
msgid "Only you and other authors can edit this article."
|
msgid "Only you and other authors can edit this article."
|
||||||
msgstr "Només tu i altres autors podeu editar aquest article."
|
msgstr "Només tu i altres autors podeu editar aquest article."
|
||||||
@@ -912,12 +844,8 @@ msgstr "Actualitza la contrasenya"
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr "Reviseu la vostra safata d’entrada."
|
msgstr "Reviseu la vostra safata d’entrada."
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
msgstr "Hem enviat un correu a l'adreça que ens vas donar, amb un enllaç per a reiniciar la teva contrasenya."
|
||||||
"password."
|
|
||||||
msgstr ""
|
|
||||||
"Hem enviat un correu a l'adreça que ens vas donar, amb un enllaç per a "
|
|
||||||
"reiniciar la teva contrasenya."
|
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
msgstr "Envia l'enllaç per a reiniciar la contrasenya"
|
msgstr "Envia l'enllaç per a reiniciar la contrasenya"
|
||||||
@@ -925,11 +853,8 @@ msgstr "Envia l'enllaç per a reiniciar la contrasenya"
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr "Aquest token ha caducat"
|
msgstr "Aquest token ha caducat"
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
msgstr "Si us plau inicia el procés clicant <a href=\"/password-reset\">aquí</a>."
|
||||||
"a>."
|
|
||||||
msgstr ""
|
|
||||||
"Si us plau inicia el procés clicant <a href=\"/password-reset\">aquí</a>."
|
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
msgstr "Blog nou"
|
msgstr "Blog nou"
|
||||||
@@ -943,11 +868,8 @@ msgstr "Crea un blog"
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr "Edita «{}»"
|
msgstr "Edita «{}»"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
msgstr "Pots pujar imatges a la teva galeria per a usar-les com a icones o capçaleres del bloc."
|
||||||
msgstr ""
|
|
||||||
"Pots pujar imatges a la teva galeria per a usar-les com a icones o "
|
|
||||||
"capçaleres del bloc."
|
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
msgstr "Pujar imatges"
|
msgstr "Pujar imatges"
|
||||||
@@ -1006,16 +928,10 @@ msgid "Plume is a decentralized blogging engine."
|
|||||||
msgstr "Plume és un motor de blocs descentralitzats."
|
msgstr "Plume és un motor de blocs descentralitzats."
|
||||||
|
|
||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr "Els autors poden gestionar diversos blocs, cadascun amb la seva pròpia pàgina."
|
||||||
"Els autors poden gestionar diversos blocs, cadascun amb la seva pròpia "
|
|
||||||
"pàgina."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
msgstr "Els articles son visibles en altres instàncies Plume i pots interactuar directament amb ells des d'altres plataformes com ara Mastodon."
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
|
||||||
"Els articles son visibles en altres instàncies Plume i pots interactuar "
|
|
||||||
"directament amb ells des d'altres plataformes com ara Mastodon."
|
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
msgstr "Llegeix les normes detallades"
|
msgstr "Llegeix les normes detallades"
|
||||||
@@ -1094,3 +1010,4 @@ msgstr "Publicat segons aquesta llicència"
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr "Llicència del article"
|
msgstr "Llicència del article"
|
||||||
|
|
||||||
|
|||||||
+112
-186
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2022-01-02 11:39\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Czech\n"
|
"Language-Team: Czech\n"
|
||||||
"Language: cs_CZ\n"
|
"Language: cs_CZ\n"
|
||||||
@@ -43,7 +43,7 @@ msgstr "Vaše zdroje"
|
|||||||
|
|
||||||
# src/template_utils.rs:117
|
# src/template_utils.rs:117
|
||||||
msgid "Local feed"
|
msgid "Local feed"
|
||||||
msgstr "Místni zdroje"
|
msgstr "Místní zdroje"
|
||||||
|
|
||||||
# src/template_utils.rs:118
|
# src/template_utils.rs:118
|
||||||
msgid "Federated feed"
|
msgid "Federated feed"
|
||||||
@@ -55,121 +55,121 @@ msgstr "Avatar uživatele {0}"
|
|||||||
|
|
||||||
# src/template_utils.rs:198
|
# src/template_utils.rs:198
|
||||||
msgid "Previous page"
|
msgid "Previous page"
|
||||||
msgstr ""
|
msgstr "Předchozí stránka"
|
||||||
|
|
||||||
# src/template_utils.rs:209
|
# src/template_utils.rs:209
|
||||||
msgid "Next page"
|
msgid "Next page"
|
||||||
msgstr ""
|
msgstr "Následující strana"
|
||||||
|
|
||||||
# src/template_utils.rs:363
|
# src/template_utils.rs:363
|
||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr "Nepovinné"
|
msgstr "Volitelné"
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr "Pro vytvoření nového blogu musíte být přihlášeni"
|
msgstr "Pro vytvoření nového blogu musíte být přihlášeni"
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Blog s rovnakým názvem již existuje."
|
msgstr "Blog s rovnakým názvem již existuje."
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr "Váš blog byl úspěšně vytvořen!"
|
msgstr "Váš blog byl úspěšně vytvořen!"
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr "Váš blog byl smazán."
|
msgstr "Váš blog byl smazán."
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Nemáte oprávnění zmazat tento blog."
|
msgstr "Nemáte oprávnění zmazat tento blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr "Nemáte oprávnění upravovat tento blog."
|
msgstr "Nemáte oprávnění upravovat tento blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr "Toto médium nelze použít jako ikonu blogu."
|
msgstr "Toto médium nelze použít jako ikonu blogu."
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Toto médium nelze použít jako banner blogu."
|
msgstr "Toto médium nelze použít jako banner blogu."
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr "Údaje o vašem blogu byly aktualizovány."
|
msgstr "Údaje o vašem blogu byly aktualizovány."
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr "Váš komentář byl zveřejněn."
|
msgstr "Váš komentář byl zveřejněn."
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr "Váš komentář byl odstraněn."
|
msgstr "Váš komentář byl odstraněn."
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr "Nastavení instance bylo uloženo."
|
msgstr "Nastavení instance bylo uloženo."
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr ""
|
msgstr "{} byl/a odblokován/a."
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr ""
|
msgstr "{} byl/a zablokován/a."
|
||||||
|
|
||||||
# src/routes/instance.rs:203
|
# src/routes/instance.rs:203
|
||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr ""
|
msgstr "Blokování odstraněno"
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr "Email je již zablokován"
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr ""
|
msgstr "Email zablokován"
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr ""
|
msgstr "Nemůžete změnit vlastní oprávnění."
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr ""
|
msgstr "Nemáte oprávnění k provedení tohoto úkonu."
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr ""
|
msgstr "Hotovo."
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Pro oblíbení příspěvku musíte být přihlášen/a"
|
msgstr "Pro oblíbení příspěvku musíte být přihlášen/a"
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr "Vaše média byla smazána."
|
msgstr "Vaše média byla smazána."
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr "Nemáte oprávnění k smazání tohoto média."
|
msgstr "Nemáte oprávnění k smazání tohoto média."
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr "Váš avatar byl aktualizován."
|
msgstr "Váš avatar byl aktualizován."
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr "Nemáte oprávnění k použití tohoto média."
|
msgstr "Nemáte oprávnění k použití tohoto média."
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr "Pokud chcete vidět vaše notifikace, musíte být přihlášeni"
|
msgstr "Pokud chcete vidět vaše notifikace, musíte být přihlášeni"
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr "Tento příspěvek ještě není zveřejněn."
|
msgstr "Tento příspěvek ještě není zveřejněn."
|
||||||
|
|
||||||
@@ -177,125 +177,113 @@ msgstr "Tento příspěvek ještě není zveřejněn."
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr "K napsaní nového příspěvku musíte být přihlášeni"
|
msgstr "K napsaní nového příspěvku musíte být přihlášeni"
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr "Nejste autorem tohto blogu."
|
msgstr "Nejste autorem tohto blogu."
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr "Nový příspěvek"
|
msgstr "Nový příspěvek"
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Upravit {0}"
|
msgstr "Upravit {0}"
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr "Nemáte oprávnění zveřejňovat na tomto blogu."
|
msgstr "Nemáte oprávnění zveřejňovat na tomto blogu."
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr "Váš článek byl upraven."
|
msgstr "Váš článek byl upraven."
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr "Váš článek byl uložen."
|
msgstr "Váš článek byl uložen."
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr "Nový článek"
|
msgstr "Nový článek"
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr "Nemáte oprávnění zmazat tento článek."
|
msgstr "Nemáte oprávnění zmazat tento článek."
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr "Váš článek byl smazán."
|
msgstr "Váš článek byl smazán."
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
msgstr "Zdá se, že článek, který jste se snažili smazat, neexistuje, možná je již pryč?"
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
|
||||||
"Zdá se, že článek, který jste se snažili smazat, neexistuje, možná je již "
|
|
||||||
"pryč?"
|
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
msgstr "Nemohli jsme zjistit dostatečné množství informací ohledne vašeho účtu. Prosím ověřte si, že vaše předzývka je správná."
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
|
||||||
"Nemohli jsme zjistit dostatečné množství informací ohledne vašeho účtu. "
|
|
||||||
"Prosím ověřte si, že vaše předzývka je správná."
|
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Pro sdílení příspěvku musíte být přihlášeni"
|
msgstr "Pro sdílení příspěvku musíte být přihlášeni"
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr "Nyní jste připojeni."
|
msgstr "Nyní jste připojeni."
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr "Nyní jste odhlášeni."
|
msgstr "Nyní jste odhlášeni."
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Obnovit heslo"
|
msgstr "Obnovit heslo"
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr "Zde je odkaz na obnovení vášho hesla: {0}"
|
msgstr "Zde je odkaz na obnovení vášho hesla: {0}"
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr "Vaše heslo bylo úspěšně obnoveno."
|
msgstr "Vaše heslo bylo úspěšně obnoveno."
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "Pro přístup k vaší nástěnce musíte být přihlášen/a"
|
msgstr "Pro přístup k vaší nástěnce musíte být přihlášen/a"
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr "Již nenásledujete {}."
|
msgstr "Již nenásledujete {}."
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr "Teď již nenásledujete {}."
|
msgstr "Teď již nenásledujete {}."
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "Chcete-li někoho odebírat, musíte být přihlášeni"
|
msgstr "Chcete-li někoho odebírat, musíte být přihlášeni"
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "Pro úpravu vášho profilu musíte být přihlášeni"
|
msgstr "Pro úpravu vášho profilu musíte být přihlášeni"
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr "Váš profil byl upraven."
|
msgstr "Váš profil byl upraven."
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr "Váš účet byl odstraněn."
|
msgstr "Váš účet byl odstraněn."
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr "Nemůžete smazat účet někoho jiného."
|
msgstr "Nemůžete smazat účet někoho jiného."
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr "Registrace jsou na téhle instanci uzavřeny."
|
msgstr "Registrace jsou na téhle instanci uzavřeny."
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
msgstr "Váš účet byl vytvořen. Nyní se stačí jenom přihlásit, než ho budete moci používat."
|
||||||
"use it."
|
|
||||||
msgstr ""
|
|
||||||
"Váš účet byl vytvořen. Nyní se stačí jenom přihlásit, než ho budete moci "
|
|
||||||
"používat."
|
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
msgstr "Nahrávaní médií"
|
msgstr "Nahrávaní médií"
|
||||||
@@ -397,7 +385,7 @@ msgid "Matrix room"
|
|||||||
msgstr "Matrix místnost"
|
msgstr "Matrix místnost"
|
||||||
|
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrátor"
|
msgstr "Správce"
|
||||||
|
|
||||||
msgid "It is you"
|
msgid "It is you"
|
||||||
msgstr "To jste vy"
|
msgstr "To jste vy"
|
||||||
@@ -453,12 +441,8 @@ msgstr "Heslo"
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr "Potvrzení hesla"
|
msgstr "Potvrzení hesla"
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
msgstr "Omlouváme se, ale registrace je uzavřena na této konkrétní instanci. Můžete však najít jinou."
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
|
||||||
"Omlouváme se, ale registrace je uzavřena na této konkrétní instanci. Můžete "
|
|
||||||
"však najít jinou."
|
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
msgstr "Odběry uživatele {0}"
|
msgstr "Odběry uživatele {0}"
|
||||||
@@ -470,9 +454,7 @@ msgid "Your Blogs"
|
|||||||
msgstr "Vaše Blogy"
|
msgstr "Vaše Blogy"
|
||||||
|
|
||||||
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
||||||
msgstr ""
|
msgstr "Zatím nemáte žádný blog. Vytvořte si vlastní, nebo požádejte v nejakém o členství."
|
||||||
"Zatím nemáte žádný blog. Vytvořte si vlastní, nebo požádejte v nejakém o "
|
|
||||||
"členství."
|
|
||||||
|
|
||||||
msgid "Start a new blog"
|
msgid "Start a new blog"
|
||||||
msgstr "Začít nový blog"
|
msgstr "Začít nový blog"
|
||||||
@@ -489,11 +471,8 @@ msgstr "Upravit váš účet"
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr "Váš profil"
|
msgstr "Váš profil"
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
msgstr "Chcete-li změnit svůj avatar, nahrejte ho do své galérie a pak ho odtud zvolte."
|
||||||
msgstr ""
|
|
||||||
"Chcete-li změnit svůj avatar, nahrejte ho do své galérie a pak ho odtud "
|
|
||||||
"zvolte."
|
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
msgstr "Nahrát avatara"
|
msgstr "Nahrát avatara"
|
||||||
@@ -505,10 +484,10 @@ msgid "Summary"
|
|||||||
msgstr "Souhrn"
|
msgstr "Souhrn"
|
||||||
|
|
||||||
msgid "Theme"
|
msgid "Theme"
|
||||||
msgstr ""
|
msgstr "Motiv"
|
||||||
|
|
||||||
msgid "Default theme"
|
msgid "Default theme"
|
||||||
msgstr ""
|
msgstr "Výchozí motiv"
|
||||||
|
|
||||||
msgid "Error while loading theme selector."
|
msgid "Error while loading theme selector."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -523,15 +502,13 @@ msgid "Danger zone"
|
|||||||
msgstr "Nebezpečná zóna"
|
msgstr "Nebezpečná zóna"
|
||||||
|
|
||||||
msgid "Be very careful, any action taken here can't be cancelled."
|
msgid "Be very careful, any action taken here can't be cancelled."
|
||||||
msgstr ""
|
msgstr "Buďte velmi opatrný/á, jakákoliv zde provedená akce nemůže být zrušena."
|
||||||
"Buďte velmi opatrný/á, jakákoliv zde provedená akce nemůže být zrušena."
|
|
||||||
|
|
||||||
msgid "Delete your account"
|
msgid "Delete your account"
|
||||||
msgstr "Smazat váš účet"
|
msgstr "Smazat váš účet"
|
||||||
|
|
||||||
msgid "Sorry, but as an admin, you can't leave your own instance."
|
msgid "Sorry, but as an admin, you can't leave your own instance."
|
||||||
msgstr ""
|
msgstr "Omlouváme se, ale jako administrátor nemůžete opustit svou vlastní instanci."
|
||||||
"Omlouváme se, ale jako administrátor nemůžete opustit svou vlastní instanci."
|
|
||||||
|
|
||||||
msgid "Latest articles"
|
msgid "Latest articles"
|
||||||
msgstr "Nejposlednejší články"
|
msgstr "Nejposlednejší články"
|
||||||
@@ -566,14 +543,8 @@ msgstr "Omlouváme se. Pokud si myslíte, že jde o chybu, prosím nahlašte ji.
|
|||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr "Neplatný CSRF token"
|
msgstr "Neplatný CSRF token"
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
msgstr "S vaším tokenem CSRF něco není v pořádku. Ujistěte se, že máte v prohlížeči povolené cookies a zkuste obnovit stránku. Pokud tuto chybovou zprávu budete nadále vidět, prosím nahlašte ji."
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
|
||||||
"S vaším tokenem CSRF něco není v pořádku. Ujistěte se, že máte v prohlížeči "
|
|
||||||
"povolené cookies a zkuste obnovit stránku. Pokud tuto chybovou zprávu budete "
|
|
||||||
"nadále vidět, prosím nahlašte ji."
|
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
msgstr "Nemáte oprávnění."
|
msgstr "Nemáte oprávnění."
|
||||||
@@ -618,13 +589,13 @@ msgid "Run on selected users"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Moderator"
|
msgid "Moderator"
|
||||||
msgstr ""
|
msgstr "Moderátor"
|
||||||
|
|
||||||
msgid "Moderation"
|
msgid "Moderation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr ""
|
msgstr "Domů"
|
||||||
|
|
||||||
msgid "Administration of {0}"
|
msgid "Administration of {0}"
|
||||||
msgstr "Správa {0}"
|
msgstr "Správa {0}"
|
||||||
@@ -656,30 +627,14 @@ msgstr "Výchozí licence článků"
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr "Uložit tyhle nastavení"
|
msgstr "Uložit tyhle nastavení"
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
msgstr "Pokud si tuto stránku prohlížete jako návštěvník, žádné údaje o vás nejsou shromažďovány."
|
||||||
msgstr ""
|
|
||||||
"Pokud si tuto stránku prohlížete jako návštěvník, žádné údaje o vás nejsou "
|
|
||||||
"shromažďovány."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
msgstr "Jako registrovaný uživatel musíte poskytnout uživatelské jméno (které nemusí být vaším skutečným jménem), funkční e-mailovou adresu a heslo, aby jste se mohl přihlásit, psát články a komentář."
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
|
||||||
"Jako registrovaný uživatel musíte poskytnout uživatelské jméno (které nemusí "
|
|
||||||
"být vaším skutečným jménem), funkční e-mailovou adresu a heslo, aby jste se "
|
|
||||||
"mohl přihlásit, psát články a komentář."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
msgstr "Když se přihlásíte, ukládáme dvě cookies, jedno, aby bylo možné udržet vaše zasedání otevřené, druhé, aby se zabránilo jiným lidem jednat ve vašem jméně. Žádné další cookies neukládáme."
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
|
||||||
"Když se přihlásíte, ukládáme dvě cookies, jedno, aby bylo možné udržet vaše "
|
|
||||||
"zasedání otevřené, druhé, aby se zabránilo jiným lidem jednat ve vašem "
|
|
||||||
"jméně. Žádné další cookies neukládáme."
|
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -687,10 +642,7 @@ msgstr ""
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
@@ -699,17 +651,13 @@ msgstr ""
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
@@ -719,13 +667,13 @@ msgid "There are no blocked emails on your instance"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Delete selected emails"
|
msgid "Delete selected emails"
|
||||||
msgstr ""
|
msgstr "Smazat vybrané emaily"
|
||||||
|
|
||||||
msgid "Email address:"
|
msgid "Email address:"
|
||||||
msgstr ""
|
msgstr "Emailová adresa:"
|
||||||
|
|
||||||
msgid "Blocklisted for:"
|
msgid "Blocklisted for:"
|
||||||
msgstr ""
|
msgstr "Blokováno pro:"
|
||||||
|
|
||||||
msgid "Will notify them on account creation with this message:"
|
msgid "Will notify them on account creation with this message:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -781,12 +729,8 @@ msgstr "Podtitul"
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Obsah"
|
msgstr "Obsah"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
msgstr "Můžete nahrát média do své galerie, a pak zkopírovat jejich kód Markdown do vašich článků, pro vložení."
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
|
||||||
"Můžete nahrát média do své galerie, a pak zkopírovat jejich kód Markdown do "
|
|
||||||
"vašich článků, pro vložení."
|
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
msgstr "Nahrát média"
|
msgstr "Nahrát média"
|
||||||
@@ -847,12 +791,8 @@ msgstr "Už to nechci dále boostovat"
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr "Boostnout"
|
msgstr "Boostnout"
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
msgstr "{0}Přihlasit se{1}, nebo {2}použít váš Fediverse účet{3} k interakci s tímto článkem"
|
||||||
"article"
|
|
||||||
msgstr ""
|
|
||||||
"{0}Přihlasit se{1}, nebo {2}použít váš Fediverse účet{3} k interakci s tímto "
|
|
||||||
"článkem"
|
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Komentáře"
|
msgstr "Komentáře"
|
||||||
@@ -870,8 +810,7 @@ msgid "Are you sure?"
|
|||||||
msgstr "Jste si jisti?"
|
msgstr "Jste si jisti?"
|
||||||
|
|
||||||
msgid "This article is still a draft. Only you and other authors can see it."
|
msgid "This article is still a draft. Only you and other authors can see it."
|
||||||
msgstr ""
|
msgstr "Tento článek je stále konceptem. Jenom vy, a další autoři ho mohou vidět."
|
||||||
"Tento článek je stále konceptem. Jenom vy, a další autoři ho mohou vidět."
|
|
||||||
|
|
||||||
msgid "Only you and other authors can edit this article."
|
msgid "Only you and other authors can edit this article."
|
||||||
msgstr "Jenom vy, a další autoři mohou upravovat tento článek."
|
msgstr "Jenom vy, a další autoři mohou upravovat tento článek."
|
||||||
@@ -909,12 +848,8 @@ msgstr "Aktualizovat heslo"
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr "Zkontrolujte svou příchozí poštu!"
|
msgstr "Zkontrolujte svou příchozí poštu!"
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
msgstr "Zaslali jsme email na adresu, kterou jste nám dodali, s odkazem na obnovu vášho hesla."
|
||||||
"password."
|
|
||||||
msgstr ""
|
|
||||||
"Zaslali jsme email na adresu, kterou jste nám dodali, s odkazem na obnovu "
|
|
||||||
"vášho hesla."
|
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
msgstr "Poslat odkaz na obnovení hesla"
|
msgstr "Poslat odkaz na obnovení hesla"
|
||||||
@@ -922,9 +857,7 @@ msgstr "Poslat odkaz na obnovení hesla"
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
|
||||||
"a>."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
@@ -939,11 +872,8 @@ msgstr "Vytvořit blog"
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr "Upravit \"{}\""
|
msgstr "Upravit \"{}\""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
msgstr "Můžete nahrát obrázky do své galerie, aby je šlo použít jako ikony blogu, nebo bannery."
|
||||||
msgstr ""
|
|
||||||
"Můžete nahrát obrázky do své galerie, aby je šlo použít jako ikony blogu, "
|
|
||||||
"nebo bannery."
|
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
msgstr "Nahrát obrázky"
|
msgstr "Nahrát obrázky"
|
||||||
@@ -961,8 +891,7 @@ msgid "Update blog"
|
|||||||
msgstr "Aktualizovat blog"
|
msgstr "Aktualizovat blog"
|
||||||
|
|
||||||
msgid "Be very careful, any action taken here can't be reversed."
|
msgid "Be very careful, any action taken here can't be reversed."
|
||||||
msgstr ""
|
msgstr "Buďte velmi opatrný/á, jakákoliv zde provedená akce nemůže být vrácena."
|
||||||
"Buďte velmi opatrný/á, jakákoliv zde provedená akce nemůže být vrácena."
|
|
||||||
|
|
||||||
msgid "Are you sure that you want to permanently delete this blog?"
|
msgid "Are you sure that you want to permanently delete this blog?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1007,12 +936,8 @@ msgstr "Plume je decentralizovaný blogování systém."
|
|||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr "Autoři mohou spravovat vícero blogů, každý jako svou vlastní stránku."
|
msgstr "Autoři mohou spravovat vícero blogů, každý jako svou vlastní stránku."
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
msgstr "Články jsou viditelné také na ostatních Plume instancích, a můžete s nimi narábět přímo i v rámci jiných platforem, jako je Mastodon."
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
|
||||||
"Články jsou viditelné také na ostatních Plume instancích, a můžete s nimi "
|
|
||||||
"narábět přímo i v rámci jiných platforem, jako je Mastodon."
|
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
msgstr "Přečtěte si podrobná pravidla"
|
msgstr "Přečtěte si podrobná pravidla"
|
||||||
@@ -1091,3 +1016,4 @@ msgstr "Zveřejněn pod touto licenci"
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr "Licence článku"
|
msgstr "Licence článku"
|
||||||
|
|
||||||
|
|||||||
+73
-110
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Danish\n"
|
"Language-Team: Danish\n"
|
||||||
"Language: da_DK\n"
|
"Language: da_DK\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr ""
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -125,51 +125,51 @@ msgstr ""
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -177,118 +177,112 @@ msgstr ""
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
|
||||||
"use it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
@@ -447,9 +441,7 @@ msgstr ""
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
@@ -479,8 +471,7 @@ msgstr ""
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
@@ -552,10 +543,7 @@ msgstr ""
|
|||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
@@ -639,21 +627,13 @@ msgstr ""
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
@@ -662,10 +642,7 @@ msgstr ""
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
@@ -674,17 +651,13 @@ msgstr ""
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
@@ -756,9 +729,7 @@ msgstr ""
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
@@ -816,9 +787,7 @@ msgstr ""
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
|
||||||
"article"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
@@ -875,9 +844,7 @@ msgstr ""
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
|
||||||
"password."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
@@ -886,9 +853,7 @@ msgstr ""
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
|
||||||
"a>."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
@@ -903,8 +868,7 @@ msgstr ""
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
@@ -966,9 +930,7 @@ msgstr ""
|
|||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
@@ -1048,3 +1010,4 @@ msgstr ""
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+100
-189
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-12-11 15:00\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: German\n"
|
"Language-Team: German\n"
|
||||||
"Language: de_DE\n"
|
"Language: de_DE\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr "Nächste Seite"
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr "Optional"
|
msgstr "Optional"
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr "Du musst angemeldet sein, um einen Blog zu erstellen"
|
msgstr "Du musst angemeldet sein, um einen Blog zu erstellen"
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Es existiert bereits ein Blog mit diesem Namen."
|
msgstr "Es existiert bereits ein Blog mit diesem Namen."
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr "Dein Blog wurde erfolgreich erstellt!"
|
msgstr "Dein Blog wurde erfolgreich erstellt!"
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr "Dein Blog wurde gelöscht."
|
msgstr "Dein Blog wurde gelöscht."
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Du bist nicht berechtigt, diesen Blog zu löschen."
|
msgstr "Du bist nicht berechtigt, diesen Blog zu löschen."
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr "Du bist nicht berechtigt, diesen Blog zu bearbeiten."
|
msgstr "Du bist nicht berechtigt, diesen Blog zu bearbeiten."
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr "Du kannst dieses Medium nicht als Blog-Symbol verwenden."
|
msgstr "Du kannst dieses Medium nicht als Blog-Symbol verwenden."
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Du kannst diese Datei nicht als Blog-Banner verwenden."
|
msgstr "Du kannst diese Datei nicht als Blog-Banner verwenden."
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr "Informationen des Blog wurden aktualisiert."
|
msgstr "Informationen des Blog wurden aktualisiert."
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr "Dein Kommentar wurde veröffentlicht."
|
msgstr "Dein Kommentar wurde veröffentlicht."
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr "Dein Kommentar wurde gelöscht."
|
msgstr "Dein Kommentar wurde gelöscht."
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr "Die Instanzeinstellungen wurden gespeichert."
|
msgstr "Die Instanzeinstellungen wurden gespeichert."
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr "{} wurde entsperrt."
|
msgstr "{} wurde entsperrt."
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr "{} wurde gesperrt."
|
msgstr "{} wurde gesperrt."
|
||||||
|
|
||||||
@@ -125,51 +125,51 @@ msgstr "{} wurde gesperrt."
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr "Blöcke gelöscht"
|
msgstr "Blöcke gelöscht"
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr "E-Mail-Adresse bereits gesperrt"
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr "E-Mail-Adresse gesperrt"
|
msgstr "E-Mail-Adresse gesperrt"
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr "Du kannst deine eigenen Berechtigungen nicht ändern."
|
msgstr "Du kannst deine eigenen Berechtigungen nicht ändern."
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr "Du bist nicht berechtigt, diese Aktion auszuführen."
|
msgstr "Du bist nicht berechtigt, diese Aktion auszuführen."
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr "Fertig"
|
msgstr "Fertig"
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Um einen Beitrag zu liken, musst du angemeldet sein"
|
msgstr "Um einen Beitrag zu liken, musst du angemeldet sein"
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr "Deine Datei wurde gelöscht."
|
msgstr "Deine Datei wurde gelöscht."
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr "Dir fehlt die Berechtigung, diese Datei zu löschen."
|
msgstr "Dir fehlt die Berechtigung, diese Datei zu löschen."
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr "Dein Benutzerbild wurde aktualisiert."
|
msgstr "Dein Benutzerbild wurde aktualisiert."
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr "Dir fehlt die Berechtigung, um diese Datei zu nutzen."
|
msgstr "Dir fehlt die Berechtigung, um diese Datei zu nutzen."
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr "Um deine Benachrichtigungen zu sehen, musst du angemeldet sein"
|
msgstr "Um deine Benachrichtigungen zu sehen, musst du angemeldet sein"
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr "Dieser Beitrag wurde noch nicht veröffentlicht."
|
msgstr "Dieser Beitrag wurde noch nicht veröffentlicht."
|
||||||
|
|
||||||
@@ -177,125 +177,113 @@ msgstr "Dieser Beitrag wurde noch nicht veröffentlicht."
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr "Um einen neuen Beitrag zu schreiben, musst du angemeldet sein"
|
msgstr "Um einen neuen Beitrag zu schreiben, musst du angemeldet sein"
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr "Du bist kein Autor dieses Blogs."
|
msgstr "Du bist kein Autor dieses Blogs."
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr "Neuer Beitrag"
|
msgstr "Neuer Beitrag"
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "{0} bearbeiten"
|
msgstr "{0} bearbeiten"
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr "Dir fehlt die Berechtigung, in diesem Blog zu veröffentlichen."
|
msgstr "Dir fehlt die Berechtigung, in diesem Blog zu veröffentlichen."
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr "Dein Artikel wurde aktualisiert."
|
msgstr "Dein Artikel wurde aktualisiert."
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr "Dein Artikel wurde gespeichert."
|
msgstr "Dein Artikel wurde gespeichert."
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr "Neuer Artikel"
|
msgstr "Neuer Artikel"
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr "Dir fehlt die Berechtigung, diesen Artikel zu löschen."
|
msgstr "Dir fehlt die Berechtigung, diesen Artikel zu löschen."
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr "Dein Artikel wurde gelöscht."
|
msgstr "Dein Artikel wurde gelöscht."
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
msgstr "Möglicherweise ist der zu löschende Artikel nicht (mehr) vorhanden. Wurde er vielleicht schon entfernt?"
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
|
||||||
"Möglicherweise ist der zu löschende Artikel nicht (mehr) vorhanden. Wurde er "
|
|
||||||
"vielleicht schon entfernt?"
|
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
msgstr "Wir konnten nicht genug Informationen über dein Konto finden. Bitte stelle sicher, dass dein Benutzername richtig ist."
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
|
||||||
"Wir konnten nicht genug Informationen über dein Konto finden. Bitte stelle "
|
|
||||||
"sicher, dass dein Benutzername richtig ist."
|
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Um einen Beitrag erneut zu veröffentlichen, musst du angemeldet sein"
|
msgstr "Um einen Beitrag erneut zu veröffentlichen, musst du angemeldet sein"
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr "Du bist nun verbunden."
|
msgstr "Du bist nun verbunden."
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr "Du bist jetzt abgemeldet."
|
msgstr "Du bist jetzt abgemeldet."
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Passwort zurücksetzen"
|
msgstr "Passwort zurücksetzen"
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr "Hier der Link, um das Passwort zurückzusetzen: {0}"
|
msgstr "Hier der Link, um das Passwort zurückzusetzen: {0}"
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr "Dein Passwort wurde erfolgreich zurückgesetzt."
|
msgstr "Dein Passwort wurde erfolgreich zurückgesetzt."
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "Um auf dein Dashboard zuzugreifen, musst du angemeldet sein"
|
msgstr "Um auf dein Dashboard zuzugreifen, musst du angemeldet sein"
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr "Du folgst {} nun nicht mehr."
|
msgstr "Du folgst {} nun nicht mehr."
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr "Du folgst nun {}."
|
msgstr "Du folgst nun {}."
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "Um jemanden zu abonnieren, musst du angemeldet sein"
|
msgstr "Um jemanden zu abonnieren, musst du angemeldet sein"
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "Um dein Profil zu bearbeiten, musst du angemeldet sein"
|
msgstr "Um dein Profil zu bearbeiten, musst du angemeldet sein"
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr "Dein Profil wurde aktualisiert."
|
msgstr "Dein Profil wurde aktualisiert."
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr "Dein Benutzerkonto wurde gelöscht."
|
msgstr "Dein Benutzerkonto wurde gelöscht."
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr "Dir fehlt die Berechtigung, das Konto eines anderen zu löschen."
|
msgstr "Dir fehlt die Berechtigung, das Konto eines anderen zu löschen."
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr "Anmeldungen sind auf dieser Instanz aktuell nicht möglich."
|
msgstr "Anmeldungen sind auf dieser Instanz aktuell nicht möglich."
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
msgstr "Dein Konto wurde erstellt. Jetzt musst du dich nur noch anmelden, um es nutzen zu können."
|
||||||
"use it."
|
|
||||||
msgstr ""
|
|
||||||
"Dein Konto wurde erstellt. Jetzt musst du dich nur noch anmelden, um es "
|
|
||||||
"nutzen zu können."
|
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
msgstr "Hochladen von Mediendateien"
|
msgstr "Hochladen von Mediendateien"
|
||||||
@@ -453,12 +441,8 @@ msgstr "Passwort"
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr "Passwort bestätigen"
|
msgstr "Passwort bestätigen"
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
msgstr "Entschuldigung, Registrierungen sind auf dieser Instanz geschlossen. Du kannst jedoch eine andere finden."
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
|
||||||
"Entschuldigung, Registrierungen sind auf dieser Instanz geschlossen. Du "
|
|
||||||
"kannst jedoch eine andere finden."
|
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
msgstr "{0}'s Abonnements"
|
msgstr "{0}'s Abonnements"
|
||||||
@@ -470,9 +454,7 @@ msgid "Your Blogs"
|
|||||||
msgstr "Deine Blogs"
|
msgstr "Deine Blogs"
|
||||||
|
|
||||||
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
||||||
msgstr ""
|
msgstr "Du hast noch keinen Blog. Erstelle deinen eigenen, oder frage, um dich einem anzuschließen."
|
||||||
"Du hast noch keinen Blog. Erstelle deinen eigenen, oder frage, um dich einem "
|
|
||||||
"anzuschließen."
|
|
||||||
|
|
||||||
msgid "Start a new blog"
|
msgid "Start a new blog"
|
||||||
msgstr "Neuen Blog beginnen"
|
msgstr "Neuen Blog beginnen"
|
||||||
@@ -481,7 +463,7 @@ msgid "Your Drafts"
|
|||||||
msgstr "Deine Entwürfe"
|
msgstr "Deine Entwürfe"
|
||||||
|
|
||||||
msgid "Go to your gallery"
|
msgid "Go to your gallery"
|
||||||
msgstr "Zu deiner Gallerie"
|
msgstr "Zu deiner Galerie"
|
||||||
|
|
||||||
msgid "Edit your account"
|
msgid "Edit your account"
|
||||||
msgstr "Eigenes Profil bearbeiten"
|
msgstr "Eigenes Profil bearbeiten"
|
||||||
@@ -489,11 +471,8 @@ msgstr "Eigenes Profil bearbeiten"
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr "Dein Profil"
|
msgstr "Dein Profil"
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
msgstr "Um dein Profilbild zu ändern, lade es in deine Galerie hoch und wähle es dort aus."
|
||||||
msgstr ""
|
|
||||||
"Um dein Profilbild zu ändern, lade es in deine Galerie hoch und wähle es "
|
|
||||||
"dort aus."
|
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
msgstr "Ein Profilbild hochladen"
|
msgstr "Ein Profilbild hochladen"
|
||||||
@@ -529,9 +508,7 @@ msgid "Delete your account"
|
|||||||
msgstr "Eigenen Account löschen"
|
msgstr "Eigenen Account löschen"
|
||||||
|
|
||||||
msgid "Sorry, but as an admin, you can't leave your own instance."
|
msgid "Sorry, but as an admin, you can't leave your own instance."
|
||||||
msgstr ""
|
msgstr "Entschuldingung, aber als Administrator kannst du deine eigene Instanz nicht verlassen."
|
||||||
"Entschuldingung, aber als Administrator kannst du deine eigene Instanz nicht "
|
|
||||||
"verlassen."
|
|
||||||
|
|
||||||
msgid "Latest articles"
|
msgid "Latest articles"
|
||||||
msgstr "Neueste Artikel"
|
msgstr "Neueste Artikel"
|
||||||
@@ -561,20 +538,13 @@ msgid "Something broke on our side."
|
|||||||
msgstr "Bei dir ist etwas schief gegangen."
|
msgstr "Bei dir ist etwas schief gegangen."
|
||||||
|
|
||||||
msgid "Sorry about that. If you think this is a bug, please report it."
|
msgid "Sorry about that. If you think this is a bug, please report it."
|
||||||
msgstr ""
|
msgstr "Das tut uns leid. Wenn du denkst, dass dies ein Bug ist, melde ihn bitte."
|
||||||
"Das tut uns leid. Wenn du denkst, dass dies ein Bug ist, melde ihn bitte."
|
|
||||||
|
|
||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr "Ungültiges CSRF-Token"
|
msgstr "Ungültiges CSRF-Token"
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
msgstr "Irgendetwas stimmt mit deinem CSRF token nicht. Vergewissere dich, dass Cookies in deinem Browser aktiviert sind und versuche diese Seite neu zu laden. Bitte melde diesen Fehler, falls er erneut auftritt."
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
|
||||||
"Irgendetwas stimmt mit deinem CSRF token nicht. Vergewissere dich, dass "
|
|
||||||
"Cookies in deinem Browser aktiviert sind und versuche diese Seite neu zu "
|
|
||||||
"laden. Bitte melde diesen Fehler, falls er erneut auftritt."
|
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
msgstr "Berechtigung fehlt"
|
msgstr "Berechtigung fehlt"
|
||||||
@@ -657,31 +627,14 @@ msgstr "Voreingestellte Artikel-Lizenz"
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr "Diese Einstellungen speichern"
|
msgstr "Diese Einstellungen speichern"
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
msgstr "Wenn Sie diese Website als Besucher nutzen, werden keine Daten über Sie erhoben."
|
||||||
msgstr ""
|
|
||||||
"Wenn Sie diese Website als Besucher nutzen, werden keine Daten über Sie "
|
|
||||||
"erhoben."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
msgstr "Als registrierter Benutzer müssen Sie Ihren Benutzernamen (der nicht Ihr richtiger Name sein muss), Ihre E-Mail-Adresse und ein Passwort angeben, um sich anmelden, Artikel schreiben und kommentieren zu können. Die von Ihnen übermittelten Inhalte werden gespeichert, bis Sie sie löschen."
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
|
||||||
"Als registrierter Benutzer müssen Sie Ihren Benutzernamen (der nicht Ihr "
|
|
||||||
"richtiger Name sein muss), Ihre E-Mail-Adresse und ein Passwort angeben, um "
|
|
||||||
"sich anmelden, Artikel schreiben und kommentieren zu können. Die von Ihnen "
|
|
||||||
"übermittelten Inhalte werden gespeichert, bis Sie sie löschen."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
msgstr "Wenn Sie sich anmelden, speichern wir zwei Cookies, eines, um Ihre Sitzung offen zu halten, das andere, um zu verhindern, dass andere Personen in Ihrem Namen handeln. Wir speichern keine weiteren Cookies."
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
|
||||||
"Wenn Sie sich anmelden, speichern wir zwei Cookies, eines, um Ihre Sitzung "
|
|
||||||
"offen zu halten, das andere, um zu verhindern, dass andere Personen in Ihrem "
|
|
||||||
"Namen handeln. Wir speichern keine weiteren Cookies."
|
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
msgstr "Gesperrte E-Mail-Adressen"
|
msgstr "Gesperrte E-Mail-Adressen"
|
||||||
@@ -689,14 +642,8 @@ msgstr "Gesperrte E-Mail-Adressen"
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr "E‐Mail‐Adresse"
|
msgstr "E‐Mail‐Adresse"
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
msgstr "Die E-Mail-Adresse, die du sperren möchtest. Um bestimmte Domänen zu sperren, kannst du den Globbing-Syntax verwenden: Beispielsweise: *@example.com” sperrt alle Adressen von example.com"
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
|
||||||
"Die E-Mail-Adresse, die du sperren möchtest. Um bestimmte Domänen zu "
|
|
||||||
"sperren, kannst du den Globbing-Syntax verwenden: Beispielsweise: *@example."
|
|
||||||
"com” sperrt alle Adressen von example.com"
|
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
msgstr "Notiz"
|
msgstr "Notiz"
|
||||||
@@ -704,22 +651,14 @@ msgstr "Notiz"
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr "Benutzer benachrichtigen?"
|
msgstr "Benutzer benachrichtigen?"
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
msgstr "Optional: Dem Benutzer wird eine Nachricht angezeigt, wenn er versucht, ein Konto mit dieser Adresse zu erstellen"
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
|
||||||
"Optional: Dem Benutzer wird eine Nachricht angezeigt, wenn er versucht, ein "
|
|
||||||
"Konto mit dieser Adresse zu erstellen"
|
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr "Sperrlisten-Benachrichtigung"
|
msgstr "Sperrlisten-Benachrichtigung"
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
msgstr "Die Nachricht, die angezeigt wird, wenn der Benutzer versucht, ein Konto mit dieser E-Mail-Adresse zu erstellen"
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
|
||||||
"Die Nachricht, die angezeigt wird, wenn der Benutzer versucht, ein Konto mit "
|
|
||||||
"dieser E-Mail-Adresse zu erstellen"
|
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
msgstr "Adresse zur Sperrliste hinzufügen"
|
msgstr "Adresse zur Sperrliste hinzufügen"
|
||||||
@@ -737,12 +676,10 @@ msgid "Blocklisted for:"
|
|||||||
msgstr "Gesperrt für:"
|
msgstr "Gesperrt für:"
|
||||||
|
|
||||||
msgid "Will notify them on account creation with this message:"
|
msgid "Will notify them on account creation with this message:"
|
||||||
msgstr ""
|
msgstr "Du wirst beim Erstellen eines Kontos mit dieser Nachricht benachrichtigt:"
|
||||||
"Du wirst beim Erstellen eines Kontos mit dieser Nachricht benachrichtigt:"
|
|
||||||
|
|
||||||
msgid "The user will be silently prevented from making an account"
|
msgid "The user will be silently prevented from making an account"
|
||||||
msgstr ""
|
msgstr "Der Benutzer wird stillschweigend daran gehindert, ein Konto einzurichten"
|
||||||
"Der Benutzer wird stillschweigend daran gehindert, ein Konto einzurichten"
|
|
||||||
|
|
||||||
msgid "Welcome to {}"
|
msgid "Welcome to {}"
|
||||||
msgstr "Willkommen bei {}"
|
msgstr "Willkommen bei {}"
|
||||||
@@ -792,12 +729,8 @@ msgstr "Untertitel"
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Inhalt"
|
msgstr "Inhalt"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
msgstr "Du kannst Medien in deine Galerie hochladen und dann deren Markdown-Code in deine Artikel kopieren, um sie einzufügen."
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
|
||||||
"Du kannst Medien in deine Galerie hochladen und dann deren Markdown-Code in "
|
|
||||||
"deine Artikel kopieren, um sie einzufügen."
|
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
msgstr "Medien hochladen"
|
msgstr "Medien hochladen"
|
||||||
@@ -854,12 +787,8 @@ msgstr "Ich möchte das nicht mehr boosten"
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr "Boosten"
|
msgstr "Boosten"
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
msgstr "{0}Anmelden{1} oder {2}Ihr Fediverse-Konto verwenden{3}, um mit diesem Artikel zu interagieren."
|
||||||
"article"
|
|
||||||
msgstr ""
|
|
||||||
"{0}Anmelden{1} oder {2}Ihr Fediverse-Konto verwenden{3}, um mit diesem "
|
|
||||||
"Artikel zu interagieren."
|
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Kommentare"
|
msgstr "Kommentare"
|
||||||
@@ -877,9 +806,7 @@ msgid "Are you sure?"
|
|||||||
msgstr "Bist du dir sicher?"
|
msgstr "Bist du dir sicher?"
|
||||||
|
|
||||||
msgid "This article is still a draft. Only you and other authors can see it."
|
msgid "This article is still a draft. Only you and other authors can see it."
|
||||||
msgstr ""
|
msgstr "Dieser Artikel ist noch ein Entwurf. Nur Sie und andere Autoren können ihn sehen."
|
||||||
"Dieser Artikel ist noch ein Entwurf. Nur Sie und andere Autoren können ihn "
|
|
||||||
"sehen."
|
|
||||||
|
|
||||||
msgid "Only you and other authors can edit this article."
|
msgid "Only you and other authors can edit this article."
|
||||||
msgstr "Nur Sie und andere Autoren können diesen Artikel bearbeiten."
|
msgstr "Nur Sie und andere Autoren können diesen Artikel bearbeiten."
|
||||||
@@ -917,12 +844,8 @@ msgstr "Passwort aktualisieren"
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr "Posteingang prüfen!"
|
msgstr "Posteingang prüfen!"
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
msgstr "Wir haben eine Mail an die von dir angegebene Adresse gesendet, mit einem Link, um dein Passwort zurückzusetzen."
|
||||||
"password."
|
|
||||||
msgstr ""
|
|
||||||
"Wir haben eine Mail an die von dir angegebene Adresse gesendet, mit einem "
|
|
||||||
"Link, um dein Passwort zurückzusetzen."
|
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
msgstr "Link zum Zurücksetzen des Passworts senden"
|
msgstr "Link zum Zurücksetzen des Passworts senden"
|
||||||
@@ -930,12 +853,8 @@ msgstr "Link zum Zurücksetzen des Passworts senden"
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr "Diese Token ist veraltet"
|
msgstr "Diese Token ist veraltet"
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
msgstr "Bitte starten Sie den Prozess erneut, indem Sie <a href=\"/password-reset\">hier</a> klicken."
|
||||||
"a>."
|
|
||||||
msgstr ""
|
|
||||||
"Bitte starten Sie den Prozess erneut, indem Sie <a href=\"/password-reset"
|
|
||||||
"\">hier</a> klicken."
|
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
msgstr "Neuer Blog"
|
msgstr "Neuer Blog"
|
||||||
@@ -949,11 +868,8 @@ msgstr "Blog erstellen"
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr "„{}” bearbeiten"
|
msgstr "„{}” bearbeiten"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
msgstr "Sie können Bilder in Ihre Galerie hochladen, um sie als Blog-Symbol oder Banner zu verwenden."
|
||||||
msgstr ""
|
|
||||||
"Sie können Bilder in Ihre Galerie hochladen, um sie als Blog-Symbol oder "
|
|
||||||
"Banner zu verwenden."
|
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
msgstr "Bilder hochladen"
|
msgstr "Bilder hochladen"
|
||||||
@@ -971,9 +887,7 @@ msgid "Update blog"
|
|||||||
msgstr "Blog aktualisieren"
|
msgstr "Blog aktualisieren"
|
||||||
|
|
||||||
msgid "Be very careful, any action taken here can't be reversed."
|
msgid "Be very careful, any action taken here can't be reversed."
|
||||||
msgstr ""
|
msgstr "Seien Sie sehr vorsichtig, alle hier getroffenen Aktionen können nicht widerrufen werden."
|
||||||
"Seien Sie sehr vorsichtig, alle hier getroffenen Aktionen können nicht "
|
|
||||||
"widerrufen werden."
|
|
||||||
|
|
||||||
msgid "Are you sure that you want to permanently delete this blog?"
|
msgid "Are you sure that you want to permanently delete this blog?"
|
||||||
msgstr "Möchten Sie diesen Blog wirklich dauerhaft löschen?"
|
msgstr "Möchten Sie diesen Blog wirklich dauerhaft löschen?"
|
||||||
@@ -1016,12 +930,8 @@ msgstr "Plume ist eine dezentrale Blogging-Engine."
|
|||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr "Autoren können mehrere Blogs verwalten, jeden als eigene Website."
|
msgstr "Autoren können mehrere Blogs verwalten, jeden als eigene Website."
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
msgstr "Artikel sind auch auf anderen Plume-Instanzen sichtbar und du kannst mit ihnen direkt von anderen Plattformen wie Mastodon interagieren."
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
|
||||||
"Artikel sind auch auf anderen Plume-Instanzen sichtbar und du kannst mit "
|
|
||||||
"ihnen direkt von anderen Plattformen wie Mastodon interagieren."
|
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
msgstr "Die detaillierten Regeln lesen"
|
msgstr "Die detaillierten Regeln lesen"
|
||||||
@@ -1100,3 +1010,4 @@ msgstr "Unter dieser Lizenz veröffentlicht"
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr "Artikel-Lizenz"
|
msgstr "Artikel-Lizenz"
|
||||||
|
|
||||||
|
|||||||
+73
-110
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Greek\n"
|
"Language-Team: Greek\n"
|
||||||
"Language: el_GR\n"
|
"Language: el_GR\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr ""
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -125,51 +125,51 @@ msgstr ""
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -177,118 +177,112 @@ msgstr ""
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
|
||||||
"use it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
@@ -447,9 +441,7 @@ msgstr ""
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
@@ -479,8 +471,7 @@ msgstr ""
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
@@ -552,10 +543,7 @@ msgstr ""
|
|||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
@@ -639,21 +627,13 @@ msgstr ""
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
@@ -662,10 +642,7 @@ msgstr ""
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
@@ -674,17 +651,13 @@ msgstr ""
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
@@ -756,9 +729,7 @@ msgstr ""
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
@@ -816,9 +787,7 @@ msgstr ""
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
|
||||||
"article"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
@@ -875,9 +844,7 @@ msgstr ""
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
|
||||||
"password."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
@@ -886,9 +853,7 @@ msgstr ""
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
|
||||||
"a>."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
@@ -903,8 +868,7 @@ msgstr ""
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
@@ -966,9 +930,7 @@ msgstr ""
|
|||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
@@ -1048,3 +1010,4 @@ msgstr ""
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+73
-110
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: English\n"
|
"Language-Team: English\n"
|
||||||
"Language: en_US\n"
|
"Language: en_US\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr ""
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -125,51 +125,51 @@ msgstr ""
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -177,118 +177,112 @@ msgstr ""
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
|
||||||
"use it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
@@ -447,9 +441,7 @@ msgstr ""
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
@@ -479,8 +471,7 @@ msgstr ""
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
@@ -552,10 +543,7 @@ msgstr ""
|
|||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
@@ -639,21 +627,13 @@ msgstr ""
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
@@ -662,10 +642,7 @@ msgstr ""
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
@@ -674,17 +651,13 @@ msgstr ""
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
@@ -756,9 +729,7 @@ msgstr ""
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
@@ -816,9 +787,7 @@ msgstr ""
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
|
||||||
"article"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
@@ -875,9 +844,7 @@ msgstr ""
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
|
||||||
"password."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
@@ -886,9 +853,7 @@ msgstr ""
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
|
||||||
"a>."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
@@ -903,8 +868,7 @@ msgstr ""
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
@@ -966,9 +930,7 @@ msgstr ""
|
|||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
@@ -1048,3 +1010,4 @@ msgstr ""
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
+74
-112
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Esperanto\n"
|
"Language-Team: Esperanto\n"
|
||||||
"Language: eo_UY\n"
|
"Language: eo_UY\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr ""
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr "Por krei novan blogon, vi devas ensaluti"
|
msgstr "Por krei novan blogon, vi devas ensaluti"
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Blogon kun la sama nomo jam ekzistas."
|
msgstr "Blogon kun la sama nomo jam ekzistas."
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr "Sukcesas krei vian blogon!"
|
msgstr "Sukcesas krei vian blogon!"
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr "Via blogo estis forigita."
|
msgstr "Via blogo estis forigita."
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Vi ne rajtas forigi ĉi tiun blogon."
|
msgstr "Vi ne rajtas forigi ĉi tiun blogon."
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr "Vi ne estas permesita redakti ĉi tiun blogon."
|
msgstr "Vi ne estas permesita redakti ĉi tiun blogon."
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr "Vi ne povas uzi ĉi tiun aŭdovidaĵon kiel simbolo de blogo."
|
msgstr "Vi ne povas uzi ĉi tiun aŭdovidaĵon kiel simbolo de blogo."
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr "Viaj blogaj informaĵoj estis ĝisdatigita."
|
msgstr "Viaj blogaj informaĵoj estis ĝisdatigita."
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr "Via komento estis forigita."
|
msgstr "Via komento estis forigita."
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -125,51 +125,51 @@ msgstr ""
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr "Via aŭdovidaĵo estis forigita."
|
msgstr "Via aŭdovidaĵo estis forigita."
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr "Vi ne rajtas forigi ĉi tiun aŭdovidaĵon."
|
msgstr "Vi ne rajtas forigi ĉi tiun aŭdovidaĵon."
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr "Via profilbildo estis gîstatiga."
|
msgstr "Via profilbildo estis gîstatiga."
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr "Ĉi tiu skribaĵo ankoraŭ ne estas eldonita."
|
msgstr "Ĉi tiu skribaĵo ankoraŭ ne estas eldonita."
|
||||||
|
|
||||||
@@ -177,118 +177,112 @@ msgstr "Ĉi tiu skribaĵo ankoraŭ ne estas eldonita."
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr "Skribi novan skribaĵo, vi bezonas ensaluti vin"
|
msgstr "Skribi novan skribaĵo, vi bezonas ensaluti vin"
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr "Vi ne estas la verkisto de ĉi tiu blogo."
|
msgstr "Vi ne estas la verkisto de ĉi tiu blogo."
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr "Nova skribaĵo"
|
msgstr "Nova skribaĵo"
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Ŝanĝo {0}"
|
msgstr "Ŝanĝo {0}"
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr "Via artikolo estis ĝisdatigita."
|
msgstr "Via artikolo estis ĝisdatigita."
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr "Via artikolo estis konservita."
|
msgstr "Via artikolo estis konservita."
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr "Nova artikolo"
|
msgstr "Nova artikolo"
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr "Vi ne rajtas forigi ĉi tiun artikolon."
|
msgstr "Vi ne rajtas forigi ĉi tiun artikolon."
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr "Via artikolo estis forigita."
|
msgstr "Via artikolo estis forigita."
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr "Via profilo estis ĝisdatigita."
|
msgstr "Via profilo estis ĝisdatigita."
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr "Via konto estis forigita."
|
msgstr "Via konto estis forigita."
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr "Vi ne povas forigi konton de aliulo."
|
msgstr "Vi ne povas forigi konton de aliulo."
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
|
||||||
"use it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
@@ -447,9 +441,7 @@ msgstr "Pasvorto"
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr "Konfirmo de la pasvorto"
|
msgstr "Konfirmo de la pasvorto"
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
@@ -479,10 +471,8 @@ msgstr "Redakti vian konton"
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr "Via profilo"
|
msgstr "Via profilo"
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
msgstr "Por ĉanĝi vian profilbildon, retsendu ĝin en via bildaro kaj selektu ol kie."
|
||||||
msgstr ""
|
|
||||||
"Por ĉanĝi vian profilbildon, retsendu ĝin en via bildaro kaj selektu ol kie."
|
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
msgstr "Retsendi profilbildo"
|
msgstr "Retsendi profilbildo"
|
||||||
@@ -553,10 +543,7 @@ msgstr ""
|
|||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
@@ -640,21 +627,13 @@ msgstr ""
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr "Konservi ĉi tiujn agordojn"
|
msgstr "Konservi ĉi tiujn agordojn"
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
@@ -663,10 +642,7 @@ msgstr ""
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
@@ -675,17 +651,13 @@ msgstr ""
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
@@ -757,9 +729,7 @@ msgstr ""
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Enhavo"
|
msgstr "Enhavo"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
@@ -817,9 +787,7 @@ msgstr ""
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
|
||||||
"article"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
@@ -876,9 +844,7 @@ msgstr "Ĝisdatigi pasvorton"
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
|
||||||
"password."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
@@ -887,9 +853,7 @@ msgstr "Sendi ligilon por restarigi pasvorton"
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
|
||||||
"a>."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
@@ -904,8 +868,7 @@ msgstr "Krei blogon"
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr "Redakti “{}”"
|
msgstr "Redakti “{}”"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
@@ -967,9 +930,7 @@ msgstr ""
|
|||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
@@ -1049,3 +1010,4 @@ msgstr "Eldonita sub ĉi tiu permesilo"
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr "Artikola permesilo"
|
msgstr "Artikola permesilo"
|
||||||
|
|
||||||
|
|||||||
+102
-190
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2022-01-02 11:39\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Spanish\n"
|
"Language-Team: Spanish\n"
|
||||||
"Language: es_ES\n"
|
"Language: es_ES\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr "Página siguiente"
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr "Opcional"
|
msgstr "Opcional"
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr "Para crear un nuevo blog, necesita estar logueado"
|
msgstr "Para crear un nuevo blog, necesitas estar conectado"
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Ya existe un blog con el mismo nombre."
|
msgstr "Ya existe un blog con el mismo nombre."
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr "¡Tu blog se ha creado satisfactoriamente!"
|
msgstr "¡Tu blog se ha creado satisfactoriamente!"
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr "Tu blog fue eliminado."
|
msgstr "Tu blog fue eliminado."
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "No está autorizado a eliminar este registro."
|
msgstr "No está autorizado a eliminar este registro."
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr "No tiene permiso para editar este blog."
|
msgstr "No tiene permiso para editar este blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr "No puede usar este medio como icono del blog."
|
msgstr "No puede usar este medio como icono del blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "No puede usar este medio como bandera del blog."
|
msgstr "No puede usar este medio como bandera del blog."
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr "La información de tu blog ha sido actualizada."
|
msgstr "La información de tu blog ha sido actualizada."
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr "Se ha publicado el comentario."
|
msgstr "Se ha publicado el comentario."
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr "Se ha eliminado el comentario."
|
msgstr "Se ha eliminado el comentario."
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr "Se han guardado los ajustes de la instancia."
|
msgstr "Se han guardado los ajustes de la instancia."
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr "{} ha sido desbloqueado."
|
msgstr "{} ha sido desbloqueado."
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr "{} ha sido bloqueado."
|
msgstr "{} ha sido bloqueado."
|
||||||
|
|
||||||
@@ -125,177 +125,165 @@ msgstr "{} ha sido bloqueado."
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr "Bloqueos eliminados"
|
msgstr "Bloqueos eliminados"
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr "Correo electrónico ya bloqueado"
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr "Email bloqueado"
|
msgstr "Email bloqueado"
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr "No puedes cambiar tus propios derechos."
|
msgstr "No puedes cambiar tus propios derechos."
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr "No te está permitido realizar esta acción."
|
msgstr "No te está permitido realizar esta acción."
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr "Hecho."
|
msgstr "Hecho."
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Para darle un Me Gusta a un artículo, necesita estar conectado"
|
msgstr "Para darle un Me Gusta a un artículo, necesita estar conectado"
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr "Tus medios han sido eliminados."
|
msgstr "Tus medios han sido eliminados."
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr "No tienes permisos para eliminar este medio."
|
msgstr "No tienes permisos para eliminar este medio."
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr "Tu avatar ha sido actualizado."
|
msgstr "Tu avatar ha sido actualizado."
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr "No tienes permisos para usar este medio."
|
msgstr "No tienes permisos para usar este medio."
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr "Para ver tus notificaciones, necesitas estar conectado"
|
msgstr "Para ver tus notificaciones, necesitas estar conectado"
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr "Esta publicación aún no está publicada."
|
msgstr "Esta publicación aún no está publicada."
|
||||||
|
|
||||||
# src/routes/posts.rs:125
|
# src/routes/posts.rs:125
|
||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr "Para escribir un nuevo artículo, necesita estar logueado"
|
msgstr "Para escribir un nuevo artículo, necesitas estar conectado"
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr "No es un autor de este blog."
|
msgstr "No eres un autor de este blog."
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr "Nueva publicación"
|
msgstr "Nueva publicación"
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Editar {0}"
|
msgstr "Editar {0}"
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr "No tienes permiso para publicar en este blog."
|
msgstr "No tienes permiso para publicar en este blog."
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr "Se ha actualizado el artículo."
|
msgstr "Se ha actualizado el artículo."
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr "Se ha guardado el artículo."
|
msgstr "Se ha guardado el artículo."
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr "Nueva publicación"
|
msgstr "Nueva publicación"
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr "No tienes permiso para eliminar este artículo."
|
msgstr "No tienes permiso para eliminar este artículo."
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr "Se ha eliminado el artículo."
|
msgstr "Se ha eliminado el artículo."
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
msgstr "Parece que el artículo que intentaste eliminar no existe. ¿Tal vez ya haya desaparecido?"
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
|
||||||
"Parece que el artículo que intentaste eliminar no existe. ¿Tal vez ya haya "
|
|
||||||
"desaparecido?"
|
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
msgstr "No se pudo obtener suficiente información sobre su cuenta. Por favor, asegúrese de que su nombre de usuario es correcto."
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
|
||||||
"No se pudo obtener suficiente información sobre su cuenta. Por favor, "
|
|
||||||
"asegúrese de que su nombre de usuario es correcto."
|
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Para compartir un artículo, necesita estar logueado"
|
msgstr "Para compartir un artículo, necesita estar logueado"
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr "Ahora estás conectado."
|
msgstr "Ahora estás conectado."
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr "Ahora estás desconectado."
|
msgstr "Ahora estás desconectado."
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Reiniciar contraseña"
|
msgstr "Reiniciar contraseña"
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr "Aquí está el enlace para restablecer tu contraseña: {0}"
|
msgstr "Aquí está el enlace para restablecer tu contraseña: {0}"
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr "Su contraseña se ha restablecido correctamente."
|
msgstr "Su contraseña se ha restablecido correctamente."
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "Para acceder a su panel de control, necesita estar conectado"
|
msgstr "Para acceder a su panel de control, necesita estar conectado"
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr "Ya no estás siguiendo a {}."
|
msgstr "Ya no estás siguiendo a {}."
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr "Ahora estás siguiendo a {}."
|
msgstr "Ahora estás siguiendo a {}."
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "Para suscribirse a alguien, necesita estar conectado"
|
msgstr "Para suscribirse a alguien, necesita estar conectado"
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "Para editar su perfil, necesita estar conectado"
|
msgstr "Para editar su perfil, necesita estar conectado"
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr "Tu perfil ha sido actualizado."
|
msgstr "Tu perfil ha sido actualizado."
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr "Tu cuenta ha sido eliminada."
|
msgstr "Tu cuenta ha sido eliminada."
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr "No puedes eliminar la cuenta de otra persona."
|
msgstr "No puedes eliminar la cuenta de otra persona."
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr "Los registros están cerrados en esta instancia."
|
msgstr "Los registros están cerrados en esta instancia."
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
msgstr "Tu cuenta ha sido creada. Ahora solo necesitas iniciar sesión, antes de poder usarla."
|
||||||
"use it."
|
|
||||||
msgstr ""
|
|
||||||
"Tu cuenta ha sido creada. Ahora solo necesitas iniciar sesión, antes de "
|
|
||||||
"poder usarla."
|
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
msgstr "Subir medios"
|
msgstr "Subir medios"
|
||||||
@@ -304,9 +292,7 @@ msgid "Description"
|
|||||||
msgstr "Descripción"
|
msgstr "Descripción"
|
||||||
|
|
||||||
msgid "Useful for visually impaired people, as well as licensing information"
|
msgid "Useful for visually impaired people, as well as licensing information"
|
||||||
msgstr ""
|
msgstr "Útil para personas con discapacidad visual, tanto como información de licencias"
|
||||||
"Útil para personas con discapacidad visual, tanto como información de "
|
|
||||||
"licencias"
|
|
||||||
|
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "Aviso de contenido"
|
msgstr "Aviso de contenido"
|
||||||
@@ -396,7 +382,7 @@ msgid "Source code"
|
|||||||
msgstr "Código fuente"
|
msgstr "Código fuente"
|
||||||
|
|
||||||
msgid "Matrix room"
|
msgid "Matrix room"
|
||||||
msgstr "Sala de matriz"
|
msgstr "Sala de Matrix"
|
||||||
|
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrador"
|
msgstr "Administrador"
|
||||||
@@ -455,12 +441,8 @@ msgstr "Contraseña"
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr "Confirmación de contraseña"
|
msgstr "Confirmación de contraseña"
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
msgstr "Lo sentimos, pero las inscripciones están cerradas en esta instancia. Sin embargo, puede encontrar una instancia distinta."
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
|
||||||
"Lo sentimos, pero las inscripciones están cerradas en esta instancia. Sin "
|
|
||||||
"embargo, puede encontrar una instancia distinta."
|
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
msgstr "Suscripciones de {0}"
|
msgstr "Suscripciones de {0}"
|
||||||
@@ -489,8 +471,7 @@ msgstr "Edita tu cuenta"
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr "Tu perfil"
|
msgstr "Tu perfil"
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
|
||||||
msgstr "Para cambiar tu avatar, súbalo a su galería y seleccione de ahí."
|
msgstr "Para cambiar tu avatar, súbalo a su galería y seleccione de ahí."
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
@@ -527,8 +508,7 @@ msgid "Delete your account"
|
|||||||
msgstr "Eliminar tu cuenta"
|
msgstr "Eliminar tu cuenta"
|
||||||
|
|
||||||
msgid "Sorry, but as an admin, you can't leave your own instance."
|
msgid "Sorry, but as an admin, you can't leave your own instance."
|
||||||
msgstr ""
|
msgstr "Lo sentimos, pero como un administrador, no puede dejar su propia instancia."
|
||||||
"Lo sentimos, pero como un administrador, no puede dejar su propia instancia."
|
|
||||||
|
|
||||||
msgid "Latest articles"
|
msgid "Latest articles"
|
||||||
msgstr "Últimas publicaciones"
|
msgstr "Últimas publicaciones"
|
||||||
@@ -558,20 +538,13 @@ msgid "Something broke on our side."
|
|||||||
msgstr "Algo ha salido mal de nuestro lado."
|
msgstr "Algo ha salido mal de nuestro lado."
|
||||||
|
|
||||||
msgid "Sorry about that. If you think this is a bug, please report it."
|
msgid "Sorry about that. If you think this is a bug, please report it."
|
||||||
msgstr ""
|
msgstr "Disculpe la molestia. Si cree que esto es un defecto, por favor repórtalo."
|
||||||
"Disculpe la molestia. Si cree que esto es un defecto, por favor repórtalo."
|
|
||||||
|
|
||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr "Token CSRF inválido"
|
msgstr "Token CSRF inválido"
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
msgstr "Hay un problema con su token CSRF. Asegúrase de que las cookies están habilitadas en su navegador, e intente recargar esta página. Si sigue viendo este mensaje de error, por favor infórmelo."
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
|
||||||
"Hay un problema con su token CSRF. Asegúrase de que las cookies están "
|
|
||||||
"habilitadas en su navegador, e intente recargar esta página. Si sigue viendo "
|
|
||||||
"este mensaje de error, por favor infórmelo."
|
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
msgstr "No está autorizado."
|
msgstr "No está autorizado."
|
||||||
@@ -654,32 +627,14 @@ msgstr "Licencia del artículo por defecto"
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr "Guardar estos ajustes"
|
msgstr "Guardar estos ajustes"
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
msgstr "Si está navegando por este sitio como visitante, no se recopilan datos sobre usted."
|
||||||
msgstr ""
|
|
||||||
"Si está navegando por este sitio como visitante, no se recopilan datos sobre "
|
|
||||||
"usted."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
msgstr "Como usuario registrado, tienes que proporcionar tu nombre de usuario (que no tiene que ser tu nombre real), tu dirección de correo electrónico funcional y una contraseña, con el fin de poder iniciar sesión, escribir artículos y comentarios. El contenido que envíes se almacena hasta que lo elimines."
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
|
||||||
"Como usuario registrado, tienes que proporcionar tu nombre de usuario (que "
|
|
||||||
"no tiene que ser tu nombre real), tu dirección de correo electrónico "
|
|
||||||
"funcional y una contraseña, con el fin de poder iniciar sesión, escribir "
|
|
||||||
"artículos y comentarios. El contenido que envíes se almacena hasta que lo "
|
|
||||||
"elimines."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
msgstr "Cuando inicias sesión, guardamos dos cookies, una para mantener tu sesión abierta, la segunda para evitar que otras personas actúen en tu nombre. No almacenamos ninguna otra cookie."
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
|
||||||
"Cuando inicias sesión, guardamos dos cookies, una para mantener tu sesión "
|
|
||||||
"abierta, la segunda para evitar que otras personas actúen en tu nombre. No "
|
|
||||||
"almacenamos ninguna otra cookie."
|
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
msgstr "Correos en la lista de bloqueos"
|
msgstr "Correos en la lista de bloqueos"
|
||||||
@@ -687,14 +642,8 @@ msgstr "Correos en la lista de bloqueos"
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr "Dirección de correo electrónico"
|
msgstr "Dirección de correo electrónico"
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
msgstr "La dirección de correo electrónico que deseas bloquear. Para bloquear dominios, puedes usar sintaxis de globbing, por ejemplo '*@example.com' bloquea todas las direcciones de example.com"
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
|
||||||
"La dirección de correo electrónico que deseas bloquear. Para bloquear "
|
|
||||||
"dominios, puedes usar sintaxis de globbing, por ejemplo '*@example.com' "
|
|
||||||
"bloquea todas las direcciones de example.com"
|
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
msgstr "Nota"
|
msgstr "Nota"
|
||||||
@@ -702,22 +651,14 @@ msgstr "Nota"
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr "¿Notificar al usuario?"
|
msgstr "¿Notificar al usuario?"
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
msgstr "Opcional, muestra un mensaje al usuario cuando intenta crear una cuenta con esa dirección"
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
|
||||||
"Opcional, muestra un mensaje al usuario cuando intenta crear una cuenta con "
|
|
||||||
"esa dirección"
|
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr "Notificación de bloqueo"
|
msgstr "Notificación de bloqueo"
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
msgstr "El mensaje que se mostrará cuando el usuario intente crear una cuenta con esta dirección de correo electrónico"
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
|
||||||
"El mensaje que se mostrará cuando el usuario intente crear una cuenta con "
|
|
||||||
"esta dirección de correo electrónico"
|
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
msgstr "Añadir dirección bloqueada"
|
msgstr "Añadir dirección bloqueada"
|
||||||
@@ -732,9 +673,7 @@ msgid "Email address:"
|
|||||||
msgstr "Dirección de correo electrónico:"
|
msgstr "Dirección de correo electrónico:"
|
||||||
|
|
||||||
msgid "Blocklisted for:"
|
msgid "Blocklisted for:"
|
||||||
msgstr ""
|
msgstr "Este texto no tiene información de contexto. El texto es usado en plume.pot. Posición en el archivo: 115:"
|
||||||
"Este texto no tiene información de contexto. El texto es usado en plume.pot. "
|
|
||||||
"Posición en el archivo: 115:"
|
|
||||||
|
|
||||||
msgid "Will notify them on account creation with this message:"
|
msgid "Will notify them on account creation with this message:"
|
||||||
msgstr "Les notificará al crear la cuenta con este mensaje:"
|
msgstr "Les notificará al crear la cuenta con este mensaje:"
|
||||||
@@ -790,12 +729,8 @@ msgstr "Subtítulo"
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Contenido"
|
msgstr "Contenido"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
msgstr "Puede subir los medios a su galería, y luego copiar su código Markdown en sus artículos para insertarlos."
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
|
||||||
"Puede subir los medios a su galería, y luego copiar su código Markdown en "
|
|
||||||
"sus artículos para insertarlos."
|
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
msgstr "Cargar medios"
|
msgstr "Cargar medios"
|
||||||
@@ -852,12 +787,8 @@ msgstr "Ya no quiero compartir esto"
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr "Compartir"
|
msgstr "Compartir"
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
msgstr "{0}Inicie sesión{1}, o {2}utilice su cuenta del Fediverso{3} para interactuar con este artículo"
|
||||||
"article"
|
|
||||||
msgstr ""
|
|
||||||
"{0}Inicie sesión{1}, o {2}utilice su cuenta del Fediverso{3} para "
|
|
||||||
"interactuar con este artículo"
|
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Comentários"
|
msgstr "Comentários"
|
||||||
@@ -875,8 +806,7 @@ msgid "Are you sure?"
|
|||||||
msgstr "¿Está seguro?"
|
msgstr "¿Está seguro?"
|
||||||
|
|
||||||
msgid "This article is still a draft. Only you and other authors can see it."
|
msgid "This article is still a draft. Only you and other authors can see it."
|
||||||
msgstr ""
|
msgstr "Este artículo sigue siendo un borrador. Sólo tú y otros autores pueden verlo."
|
||||||
"Este artículo sigue siendo un borrador. Sólo tú y otros autores pueden verlo."
|
|
||||||
|
|
||||||
msgid "Only you and other authors can edit this article."
|
msgid "Only you and other authors can edit this article."
|
||||||
msgstr "Sólo tú y otros autores pueden editar este artículo."
|
msgstr "Sólo tú y otros autores pueden editar este artículo."
|
||||||
@@ -914,12 +844,8 @@ msgstr "Actualizar contraseña"
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr "Revise su bandeja de entrada!"
|
msgstr "Revise su bandeja de entrada!"
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
msgstr "Enviamos un correo a la dirección que nos dio, con un enlace para restablecer su contraseña."
|
||||||
"password."
|
|
||||||
msgstr ""
|
|
||||||
"Enviamos un correo a la dirección que nos dio, con un enlace para "
|
|
||||||
"restablecer su contraseña."
|
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
msgstr "Enviar enlace de restablecimiento de contraseña"
|
msgstr "Enviar enlace de restablecimiento de contraseña"
|
||||||
@@ -927,12 +853,8 @@ msgstr "Enviar enlace de restablecimiento de contraseña"
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr "Este token ha caducado"
|
msgstr "Este token ha caducado"
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
msgstr "Por favor, vuelva a iniciar el proceso haciendo click <a href=\"/password-reset\">aquí</a>."
|
||||||
"a>."
|
|
||||||
msgstr ""
|
|
||||||
"Por favor, vuelva a iniciar el proceso haciendo click <a href=\"/password-"
|
|
||||||
"reset\">aquí</a>."
|
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
msgstr "Nuevo Blog"
|
msgstr "Nuevo Blog"
|
||||||
@@ -946,11 +868,8 @@ msgstr "Crear el blog"
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr "Editar \"{}\""
|
msgstr "Editar \"{}\""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
msgstr "Puede subir imágenes a su galería, para usarlas como iconos de blog, o banderas."
|
||||||
msgstr ""
|
|
||||||
"Puede subir imágenes a su galería, para usarlas como iconos de blog, o "
|
|
||||||
"banderas."
|
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
msgstr "Subir imágenes"
|
msgstr "Subir imágenes"
|
||||||
@@ -968,9 +887,7 @@ msgid "Update blog"
|
|||||||
msgstr "Actualizar el blog"
|
msgstr "Actualizar el blog"
|
||||||
|
|
||||||
msgid "Be very careful, any action taken here can't be reversed."
|
msgid "Be very careful, any action taken here can't be reversed."
|
||||||
msgstr ""
|
msgstr "Tenga mucho cuidado, cualquier acción que se tome aquí no puede ser invertida."
|
||||||
"Tenga mucho cuidado, cualquier acción que se tome aquí no puede ser "
|
|
||||||
"invertida."
|
|
||||||
|
|
||||||
msgid "Are you sure that you want to permanently delete this blog?"
|
msgid "Are you sure that you want to permanently delete this blog?"
|
||||||
msgstr "¿Está seguro que desea eliminar permanentemente este blog?"
|
msgstr "¿Está seguro que desea eliminar permanentemente este blog?"
|
||||||
@@ -1011,16 +928,10 @@ msgid "Plume is a decentralized blogging engine."
|
|||||||
msgstr "Plume es un motor de blogs descentralizado."
|
msgstr "Plume es un motor de blogs descentralizado."
|
||||||
|
|
||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr "Los autores pueden administrar múltiples blogs, cada uno como su propio sitio web."
|
||||||
"Los autores pueden administrar múltiples blogs, cada uno como su propio "
|
|
||||||
"sitio web."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
msgstr "Los artículos también son visibles en otras instancias de Plume, y puede interactuar con ellos directamente desde otras plataformas como Mastodon."
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
|
||||||
"Los artículos también son visibles en otras instancias de Plume, y puede "
|
|
||||||
"interactuar con ellos directamente desde otras plataformas como Mastodon."
|
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
msgstr "Leer las reglas detalladas"
|
msgstr "Leer las reglas detalladas"
|
||||||
@@ -1099,3 +1010,4 @@ msgstr "Publicado bajo esta licencia"
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr "Licencia de artículo"
|
msgstr "Licencia de artículo"
|
||||||
|
|
||||||
|
|||||||
+135
-218
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:56\n"
|
"PO-Revision-Date: 2021-12-11 15:00\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Persian\n"
|
"Language-Team: Persian\n"
|
||||||
"Language: fa_IR\n"
|
"Language: fa_IR\n"
|
||||||
@@ -19,7 +19,7 @@ msgstr ""
|
|||||||
|
|
||||||
# src/template_utils.rs:105
|
# src/template_utils.rs:105
|
||||||
msgid "{0} commented on your article."
|
msgid "{0} commented on your article."
|
||||||
msgstr "{0} روی مطلب شما نظر داد."
|
msgstr "{0} روی مقالهٔ شما نظر داد."
|
||||||
|
|
||||||
# src/template_utils.rs:106
|
# src/template_utils.rs:106
|
||||||
msgid "{0} is subscribed to you."
|
msgid "{0} is subscribed to you."
|
||||||
@@ -27,7 +27,7 @@ msgstr "{0} شما را دنبال میکند."
|
|||||||
|
|
||||||
# src/template_utils.rs:107
|
# src/template_utils.rs:107
|
||||||
msgid "{0} liked your article."
|
msgid "{0} liked your article."
|
||||||
msgstr "{0} مطلب شما را پسندید."
|
msgstr "{0} مقالهٔ شما را پسندید."
|
||||||
|
|
||||||
# src/template_utils.rs:108
|
# src/template_utils.rs:108
|
||||||
msgid "{0} mentioned you."
|
msgid "{0} mentioned you."
|
||||||
@@ -35,7 +35,7 @@ msgstr "{0} به شما اشاره کرد."
|
|||||||
|
|
||||||
# src/template_utils.rs:109
|
# src/template_utils.rs:109
|
||||||
msgid "{0} boosted your article."
|
msgid "{0} boosted your article."
|
||||||
msgstr "{0} مطلب شما را تقویت کرد."
|
msgstr "{0} مقالهٔ شما را تقویت کرد."
|
||||||
|
|
||||||
# src/template_utils.rs:116
|
# src/template_utils.rs:116
|
||||||
msgid "Your feed"
|
msgid "Your feed"
|
||||||
@@ -51,7 +51,7 @@ msgstr "خوراک سراسری"
|
|||||||
|
|
||||||
# src/template_utils.rs:154
|
# src/template_utils.rs:154
|
||||||
msgid "{0}'s avatar"
|
msgid "{0}'s avatar"
|
||||||
msgstr "آواتار {0}"
|
msgstr "چهرک {0}"
|
||||||
|
|
||||||
# src/template_utils.rs:198
|
# src/template_utils.rs:198
|
||||||
msgid "Previous page"
|
msgid "Previous page"
|
||||||
@@ -65,235 +65,225 @@ msgstr "برگ پسین"
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr "اختیاری"
|
msgstr "اختیاری"
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr "برای ساخت یک بلاگ بایستی وارد شوید"
|
msgstr "برای ساخت یک بلاگ بایستی وارد شوید"
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "بلاگی با همین نام از قبل وجود دارد."
|
msgstr "بلاگی با همین نام از قبل وجود دارد."
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr "بلاگ شما با موفقیت ساخته شد!"
|
msgstr "بلاگ شما با موفقیت ساخته شد!"
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr "بلاگ شما پاک شد."
|
msgstr "بلاگ شما پاک شد."
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "شما مجاز به پاک کردن این بلاگ نیستید."
|
msgstr "شما مجاز به پاک کردن این بلاگ نیستید."
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr "شما مجاز به ویرایش این بلاگ نیستید."
|
msgstr "شما مجاز به ویرایش این بلاگ نیستید."
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr "شما نمیتوانید این رسانه را به عنوان تصویر بلاگ استفاده کنید."
|
msgstr "شما نمیتوانید این رسانه را به عنوان تصویر بلاگ استفاده کنید."
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "شما نمیتوانید از این رسانه به عنوان تصویر سردر بلاگ استفاده کنید."
|
msgstr "شما نمیتوانید از این رسانه به عنوان تصویر سردر بلاگ استفاده کنید."
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr "اطلاعات بلاگ شما بهروز شده است."
|
msgstr "اطلاعات بلاگ شما بهروز شده است."
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr "نظر شما فرستاده شده است."
|
msgstr "نظر شما فرستاده شده است."
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr "نظر شما پاک شده است."
|
msgstr "نظر شما پاک شده است."
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr "تنظیمات نمونه ذخیره شده است."
|
msgstr "تنظیمات نمونه ذخیره شده است."
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr "مسدودیت {} رفع شده است."
|
msgstr "مسدودیت {} رفع شده است."
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr "{} مسدود شده است."
|
msgstr "{} مسدود شده است."
|
||||||
|
|
||||||
# src/routes/instance.rs:203
|
# src/routes/instance.rs:203
|
||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr "مسدود سازی حذف شد"
|
msgstr "مسدودسازیها حذف شدند"
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr "رایانامه قبلاً مسدود شده است"
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr "ایمیل مسدود شده"
|
msgstr "رایانامه مسدود شده"
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr "شما نمیتوانید نقش خود را تغییر دهید."
|
msgstr "شما نمیتوانید نقش خود را تغییر دهید."
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr "شما مجاز به انجام این کار نیستید."
|
msgstr "شما مجاز به انجام این کار نیستید."
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr "انجام شد."
|
msgstr "انجام شد."
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "برای پسندیدن یک مطلب بایستی وارد شده باشید"
|
msgstr "برای پسندیدن یک فرسته، بایستی وارد شده باشید"
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr "رسانه شما پاک شده است."
|
msgstr "رسانه شما پاک شده است."
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr "شما مجاز به پاک کردن این رسانه نیستید."
|
msgstr "شما مجاز به پاک کردن این رسانه نیستید."
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr "آواتار شما بهروز شده است."
|
msgstr "چهرک شما بهروز شده است."
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr "شما مجاز به استفاده از این رسانه نیستید."
|
msgstr "شما مجاز به استفاده از این رسانه نیستید."
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr "برای دیدن اعلانات خود بایستی وارد شده باشید"
|
msgstr "برای دیدن اعلانات خود بایستی وارد شده باشید"
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr "این مطلب هنوز منتشر نشده است."
|
msgstr "این فرسته هنوز منتشر نشده است."
|
||||||
|
|
||||||
# src/routes/posts.rs:125
|
# src/routes/posts.rs:125
|
||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr "برای نوشتن یک مطلب جدید بایستی وارد شده باشید"
|
msgstr "برای نوشتن یک فرستهٔ جدید، بایستی وارد شده باشید"
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr "شما، نویسنده این بلاگ نیستید."
|
msgstr "شما نویسندهٔ این بلاگ نیستید."
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr "نوشتهٔ جدید"
|
msgstr "فرستهٔ جدید"
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "ویرایش {0}"
|
msgstr "ویرایش {0}"
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr "شما مجاز به انتشار روی این بلاگ نیستید."
|
msgstr "شما مجاز به انتشار روی این بلاگ نیستید."
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr "نوشتهٔ شما بهروز شده است."
|
msgstr "مقالهٔ شما بهروز شده است."
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr "نوشتهٔ شما ذخیره شده است."
|
msgstr "مقالهٔ شما ذخیره شده است."
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr "نوشتهٔ جدید"
|
msgstr "مقالهٔ جدید"
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr "شما مجاز به حذف این نوشته نیستید."
|
msgstr "شما مجاز به حذف این مقاله نیستید."
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr "نوشتهٔ شما پاک شده است."
|
msgstr "مقالهٔ شما پاک شده است."
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
msgstr "به نظر میرسد مقالهای را که میخواهید پاک کنید، وجود ندارد. قبلا پاک نشده است؟"
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
|
||||||
"به نظر میرسد نوشتهای را که میخواهید پاک کنید، وجود ندارد. قبلا پاک نشده است؟"
|
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
msgstr "نتوانستیم اطّلاعات کافی دربارهٔ حساب شما دریافت کنیم. لطفاً مطمئن شوید که نام کاربری درست است."
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
|
||||||
"نتوانستیم اطلاعات کافی درباره حساب شما دریافت کنیم. لطفا مطمئن شوید که نام "
|
|
||||||
"کاربری درست است."
|
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "برای همرسانی یک نوشته لازم است وارد شوید"
|
msgstr "برای همرسانی یک فرسته لازم است وارد شوید"
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr "شما اکنون متصل هستید."
|
msgstr "شما اکنون متصل هستید."
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr "شما اکنون خارج شدید."
|
msgstr "شما اکنون خارج شدید."
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "بازنشانی گذرواژه"
|
msgstr "بازنشانی گذرواژه"
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr "اینجا، پیوندی برای بازنشانی گذرواژهٔ شماست: {0}"
|
msgstr "اینجا، پیوندی برای بازنشانی گذرواژهٔ شماست: {0}"
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr "گذرواژه شما با موفقیت بازنشانی شد."
|
msgstr "گذرواژه شما با موفقیت بازنشانی شد."
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "برای دسترسی به پیشخوان بایستی وارد شده باشید"
|
msgstr "برای دسترسی به پیشخوان بایستی وارد شده باشید"
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr "دیگر {} را دنبال نمیکنید."
|
msgstr "دیگر {} را دنبال نمیکنید."
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr "اکنون {} را دنبال میکنید."
|
msgstr "اکنون {} را دنبال میکنید."
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "برای دنبال کردن یک نفر، باید وارد شوید"
|
msgstr "برای دنبال کردن یک نفر، باید وارد شوید"
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "برای ویرایش نمایهٔ خود، باید وارد شوید"
|
msgstr "برای ویرایش نمایهٔ خود، باید وارد شوید"
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr "نمایهٔ شما بهروز شده است."
|
msgstr "نمایهٔ شما بهروز شده است."
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr "حساب شما پاک شده است."
|
msgstr "حساب شما پاک شده است."
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr "نمیتوانید حساب شخص دیگری را پاک کنید."
|
msgstr "نمیتوانید حساب شخص دیگری را پاک کنید."
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr "ثبتنام روی این نمونه بسته شده است."
|
msgstr "ثبتنام روی این نمونه بسته شده است."
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
msgstr "حساب شما ایجاد شده است. اکنون برای استفاده از آن تنها نیاز است که واردش شوید."
|
||||||
"use it."
|
|
||||||
msgstr ""
|
|
||||||
"حساب شما ایجاد شده است. اکنون برای استفاده از آن تنها نیاز است که واردش شوید."
|
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
msgstr "بارگذاری رسانه"
|
msgstr "بارگذاری رسانه"
|
||||||
@@ -302,7 +292,7 @@ msgid "Description"
|
|||||||
msgstr "توضیحات"
|
msgstr "توضیحات"
|
||||||
|
|
||||||
msgid "Useful for visually impaired people, as well as licensing information"
|
msgid "Useful for visually impaired people, as well as licensing information"
|
||||||
msgstr "مناسب برای کسانی که مشکل بینایی دارند و نیز درج اطلاعات پروانه نشر"
|
msgstr "مناسب برای کسانی که مشکل بینایی دارند و نیز درج اطّلاعات پروانه نشر"
|
||||||
|
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr "هشدار محتوا"
|
msgstr "هشدار محتوا"
|
||||||
@@ -344,7 +334,7 @@ msgid "Markdown syntax"
|
|||||||
msgstr "نحو مارکداون"
|
msgstr "نحو مارکداون"
|
||||||
|
|
||||||
msgid "Copy it into your articles, to insert this media:"
|
msgid "Copy it into your articles, to insert this media:"
|
||||||
msgstr "برای درج رسانه، رونوشت این را در مطلب خود بگذارید:"
|
msgstr "برای درج این رسانه، این را در مقالهتان رونویسی کنید:"
|
||||||
|
|
||||||
msgid "Use as an avatar"
|
msgid "Use as an avatar"
|
||||||
msgstr "استفاده به عنوان آواتار"
|
msgstr "استفاده به عنوان آواتار"
|
||||||
@@ -425,7 +415,7 @@ msgid "{0}'s subscribers"
|
|||||||
msgstr "دنبالکنندگان {0}"
|
msgstr "دنبالکنندگان {0}"
|
||||||
|
|
||||||
msgid "Articles"
|
msgid "Articles"
|
||||||
msgstr "نوشتهها"
|
msgstr "مقالات"
|
||||||
|
|
||||||
msgid "Subscribers"
|
msgid "Subscribers"
|
||||||
msgstr "دنبالکنندگان"
|
msgstr "دنبالکنندگان"
|
||||||
@@ -451,12 +441,8 @@ msgstr "گذرواژه"
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr "تایید گذرواژه"
|
msgstr "تایید گذرواژه"
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
msgstr "معذرت میخواهیم. ثبتنام روی این نمونه خاص بسته شده است. با این حال شما میتوانید یک نمونه دیگر پیدا کنید."
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
|
||||||
"معذرت میخواهیم. ثبتنام روی این نمونه خاص بسته شده است. با این حال شما "
|
|
||||||
"میتوانید یک نمونه دیگر پیدا کنید."
|
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
msgstr "دنبالشوندگان {0}"
|
msgstr "دنبالشوندگان {0}"
|
||||||
@@ -468,8 +454,7 @@ msgid "Your Blogs"
|
|||||||
msgstr "بلاگهای شما"
|
msgstr "بلاگهای شما"
|
||||||
|
|
||||||
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
msgid "You don't have any blog yet. Create your own, or ask to join one."
|
||||||
msgstr ""
|
msgstr "شما هنوز هیچ بلاگی ندارید. یکی بسازید یا درخواست پیوستن به یکی را بدهید."
|
||||||
"شما هنوز هیچ بلاگی ندارید. یکی بسازید یا درخواست پیوستن به یکی را بدهید."
|
|
||||||
|
|
||||||
msgid "Start a new blog"
|
msgid "Start a new blog"
|
||||||
msgstr "شروع یک بلاگ جدید"
|
msgstr "شروع یک بلاگ جدید"
|
||||||
@@ -486,11 +471,8 @@ msgstr "حسابتان را ویرایش کنید"
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr "نمایهٔ شما"
|
msgstr "نمایهٔ شما"
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
msgstr "برای تغییر تصویر حسابتان، ابتدا آن را در نگارخانه بارگذاری کرده و سپس از همان جا انتخابش کنید."
|
||||||
msgstr ""
|
|
||||||
"برای تغییر تصویر حسابتان، ابتدا آن را در نگارخانه بارگذاری کرده و سپس از "
|
|
||||||
"همان جا انتخابش کنید."
|
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
msgstr "بارگذاری تصویر حساب"
|
msgstr "بارگذاری تصویر حساب"
|
||||||
@@ -505,7 +487,7 @@ msgid "Theme"
|
|||||||
msgstr "پوسته"
|
msgstr "پوسته"
|
||||||
|
|
||||||
msgid "Default theme"
|
msgid "Default theme"
|
||||||
msgstr "پوسته پیشفرض"
|
msgstr "پوستهٔ پیشفرض"
|
||||||
|
|
||||||
msgid "Error while loading theme selector."
|
msgid "Error while loading theme selector."
|
||||||
msgstr "خطا هنگام بار شدن گزینشگر پوسته."
|
msgstr "خطا هنگام بار شدن گزینشگر پوسته."
|
||||||
@@ -529,19 +511,19 @@ msgid "Sorry, but as an admin, you can't leave your own instance."
|
|||||||
msgstr "ببخشید اما به عنوان مدیر، نمیتوانید نمونهٔ خودتان را ترک کنید."
|
msgstr "ببخشید اما به عنوان مدیر، نمیتوانید نمونهٔ خودتان را ترک کنید."
|
||||||
|
|
||||||
msgid "Latest articles"
|
msgid "Latest articles"
|
||||||
msgstr "آخرین نوشتهها"
|
msgstr "آخرین مقالات"
|
||||||
|
|
||||||
msgid "Atom feed"
|
msgid "Atom feed"
|
||||||
msgstr "خوراک اتم"
|
msgstr "خوراک اتم"
|
||||||
|
|
||||||
msgid "Recently boosted"
|
msgid "Recently boosted"
|
||||||
msgstr "نوشتههایی که اخیرا تقویت شدهاند"
|
msgstr "بهتازگی تقویت شده"
|
||||||
|
|
||||||
msgid "Articles tagged \"{0}\""
|
msgid "Articles tagged \"{0}\""
|
||||||
msgstr "نوشتههای دارای برچسب «{0}»"
|
msgstr "مقالات دارای برچسب «{0}»"
|
||||||
|
|
||||||
msgid "There are currently no articles with such a tag"
|
msgid "There are currently no articles with such a tag"
|
||||||
msgstr "در حال حاضر نوشتهای با این برچسب وجود ندارد"
|
msgstr "در حال حاضر مقالهای با این برچسب وجود ندارد"
|
||||||
|
|
||||||
msgid "The content you sent can't be processed."
|
msgid "The content you sent can't be processed."
|
||||||
msgstr "محتوایی که فرستادید قابل پردازش نیست."
|
msgstr "محتوایی که فرستادید قابل پردازش نیست."
|
||||||
@@ -556,21 +538,13 @@ msgid "Something broke on our side."
|
|||||||
msgstr "مشکلی سمت ما پیش آمد."
|
msgstr "مشکلی سمت ما پیش آمد."
|
||||||
|
|
||||||
msgid "Sorry about that. If you think this is a bug, please report it."
|
msgid "Sorry about that. If you think this is a bug, please report it."
|
||||||
msgstr ""
|
msgstr "از این بابت متاسفیم. اگر فکر میکنید این اتفاق ناشی از یک اشکال فنی است، لطفا آن را گزارش کنید."
|
||||||
"از این بابت متاسفیم. اگر فکر میکنید این اتفاق ناشی از یک اشکال فنی است، لطفا "
|
|
||||||
"آن را گزارش کنید."
|
|
||||||
|
|
||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr "توکن CSRF نامعتبر"
|
msgstr "توکن CSRF نامعتبر"
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
msgstr "مشکلی در ارتباط با توکن CSRF ما وجود دارد. اطمینان حاصل کنید که کوکی در مرورگرتان فعّال است و سپس این صفحه را مجددا فراخوانی کنید. اگر این پیام خطا را باز هم مشاهده کردید، موضوع را گزارش کنید."
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
|
||||||
"مشکلی در ارتباط با توکن CSRF ما وجود دارد. اطمینان حاصل کنید که کوکی در "
|
|
||||||
"مرورگرتان فعال است و سپس این صفحه را مجددا فراخوانی کنید. اگر این پیام خطا "
|
|
||||||
"را باز هم مشاهده کردید، موضوع را گزارش کنید."
|
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
msgstr "شما مجاز به این کار نیستید."
|
msgstr "شما مجاز به این کار نیستید."
|
||||||
@@ -648,36 +622,19 @@ msgid "Long description"
|
|||||||
msgstr "توضیحات بلند"
|
msgstr "توضیحات بلند"
|
||||||
|
|
||||||
msgid "Default article license"
|
msgid "Default article license"
|
||||||
msgstr "پروانه پیشفرض نوشته"
|
msgstr "پروانهٔ پیشفرض مقاله"
|
||||||
|
|
||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr "ذخیره این تنظیمات"
|
msgstr "ذخیره این تنظیمات"
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
msgstr "اگر شما به عنوان یک بازدیدکننده در حال مرور این پایگاه هستید، هیچ دادهای درباره شما گردآوری نمیشود."
|
||||||
msgstr ""
|
|
||||||
"اگر شما به عنوان یک بازدیدکننده در حال مرور این پایگاه هستید، هیچ دادهای "
|
|
||||||
"درباره شما گردآوری نمیشود."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
msgstr "به عنوان یک کاربر ثبتنام شده، برای آنکه بتوانید وارد شده و مقاله بنویسید یا نظر بدهید، لازم است که نام کاربری (که لازم نیست نام واقعی شما باشد) و نشانی رایانامهٔ فعّالتان را ارائه کنید. محتوایی که ثبت میکنید، تا زمانی که خودتان آن را پاک نکنید نگهداری میشود."
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
|
||||||
"به عنوان یک کاربر ثبتنام شده، برای آنکه بتوانید وارد شده و مطلب بنویسید یا "
|
|
||||||
"نظر بدهید، لازم است که نامکاربری (که لازم نیست نام واقعی شما باشد) و نشانی "
|
|
||||||
"رایانامه فعال را ارائه کنید. محتوایی که میفرستید، تا زمانی که خودتان آن را "
|
|
||||||
"پاک نکنید نگهداری میشود."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
msgstr "وقتی وارد میشوید، ما دو کوکی ذخیره میکنیم. یکی برای باز نگهداشتن نشست جاری و دومی برای اجتناب از فعّالیت دیگران از جانب شما. ما هیچ کوکی دیگری ذخیره نمیکنیم."
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
|
||||||
"وقتی وارد میشوید، ما دو کوکی ذخیره میکنیم. یکی برای باز نگهداشتن نشست جاری و "
|
|
||||||
"دومی برای اجتناب از فعالیت دیگران از جانب شما. ما هیچ کوکی دیگری ذخیره "
|
|
||||||
"نمیکنیم."
|
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
msgstr "رایانامههای مسدود شده"
|
msgstr "رایانامههای مسدود شده"
|
||||||
@@ -685,14 +642,8 @@ msgstr "رایانامههای مسدود شده"
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr "نشانی رایانامه"
|
msgstr "نشانی رایانامه"
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
msgstr "نشانی رایانامهای که میخواهید مسدود کنید. اگر میخواهید دامنهها را مسدود کنید، میتواند از نحو گِلاب استفاده کنید. مثلاً عبارت '*@example.com' تمام نشانیها از دامنه example.com را مسدود میکند"
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
|
||||||
"نشانی رایانامهای که میخواهید مسدود کنید. اگر میخواهید دامنهها را مسدود کنید، "
|
|
||||||
"میتواند از نحو گِلاب استفاده کنید. مثلاً عبارت '*@example.com' تمام نشانیها از "
|
|
||||||
"دامنه example.com را مسدود میکند"
|
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
msgstr "یادداشت"
|
msgstr "یادداشت"
|
||||||
@@ -700,22 +651,14 @@ msgstr "یادداشت"
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr "به کاربر اعلان شود؟"
|
msgstr "به کاربر اعلان شود؟"
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
msgstr "اختیاری، هنگامی که کاربر با آن نشانی تلاش برای ایجاد حساب کند، پیامی به او نشان میدهد"
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
|
||||||
"اختیاری، هنگامی که کاربر با آن نشانی تلاش برای ایجاد حساب کند، پیامی به او "
|
|
||||||
"نشان میدهد"
|
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr "اعلان مسدودسازی"
|
msgstr "اعلان مسدودسازی"
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
msgstr "پیامی که هنگام تلاش کاربر برای ساخت حساب با این نشانی رایانامه به او نشان داده میشود"
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
|
||||||
"پیامی که هنگام تلاش کاربر برای ساخت حساب با این نشانی رایانامه به او نشان "
|
|
||||||
"داده میشود"
|
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
msgstr "اضافه کردن نشانی مسدودشده"
|
msgstr "اضافه کردن نشانی مسدودشده"
|
||||||
@@ -754,7 +697,7 @@ msgid "Home to <em>{0}</em> people"
|
|||||||
msgstr "میزبان <em>{0}</em> نفر"
|
msgstr "میزبان <em>{0}</em> نفر"
|
||||||
|
|
||||||
msgid "Who wrote <em>{0}</em> articles"
|
msgid "Who wrote <em>{0}</em> articles"
|
||||||
msgstr "که تاکنون <em>{0}</em> مطلب نوشتهاند"
|
msgstr "که تاکنون <em>{0}</em> مقاله نوشتهاند"
|
||||||
|
|
||||||
msgid "And are connected to <em>{0}</em> other instances"
|
msgid "And are connected to <em>{0}</em> other instances"
|
||||||
msgstr "و به <em>{0}</em> نمونه دیگر متصلاند"
|
msgstr "و به <em>{0}</em> نمونه دیگر متصلاند"
|
||||||
@@ -786,12 +729,8 @@ msgstr "زیرعنوان"
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "محتوا"
|
msgstr "محتوا"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
msgstr "میتواند رسانه را در نگارخانهٔ خود بارگذاری کنید، و سپس کد مارکداون آنها را درون مقالهتان درج کنید."
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
|
||||||
"برای درج رسانه میتوانید آن را به نگارخانه خود افزوده و سپس به کمک کد "
|
|
||||||
"مارکداونی که میگیرید وارد مطلبتان کنید."
|
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
msgstr "بارگذاری رسانه"
|
msgstr "بارگذاری رسانه"
|
||||||
@@ -815,7 +754,7 @@ msgid "Update, or publish"
|
|||||||
msgstr "بهروزرسانی، یا انتشار"
|
msgstr "بهروزرسانی، یا انتشار"
|
||||||
|
|
||||||
msgid "Publish your post"
|
msgid "Publish your post"
|
||||||
msgstr "انتشار نوشتهتان"
|
msgstr "انتشار فرستهتان"
|
||||||
|
|
||||||
msgid "Written by {0}"
|
msgid "Written by {0}"
|
||||||
msgstr "نوشته شده توسط {0}"
|
msgstr "نوشته شده توسط {0}"
|
||||||
@@ -824,7 +763,7 @@ msgid "All rights reserved."
|
|||||||
msgstr "تمامی حقوق محفوظ است."
|
msgstr "تمامی حقوق محفوظ است."
|
||||||
|
|
||||||
msgid "This article is under the {0} license."
|
msgid "This article is under the {0} license."
|
||||||
msgstr "این مطلب تحت پروانه {0} است."
|
msgstr "این مقاله تحت پروانهٔ {0} است."
|
||||||
|
|
||||||
msgid "One like"
|
msgid "One like"
|
||||||
msgid_plural "{0} likes"
|
msgid_plural "{0} likes"
|
||||||
@@ -848,12 +787,8 @@ msgstr "دیگر نمیخوام این را تقویت کنم"
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr "تقویت"
|
msgstr "تقویت"
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
msgstr "{0}وارد شوید{1}، یا {2}از حساب فدیورس خود{3} برای تعامل با این مقاله استفاده کنید"
|
||||||
"article"
|
|
||||||
msgstr ""
|
|
||||||
"{0}وارد شوید{1} و یا {2}از حساب فدیورس خود{3} برای تعامل با این مطلب استفاده "
|
|
||||||
"کنید"
|
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "نظرات"
|
msgstr "نظرات"
|
||||||
@@ -871,12 +806,10 @@ msgid "Are you sure?"
|
|||||||
msgstr "مطمئنید؟"
|
msgstr "مطمئنید؟"
|
||||||
|
|
||||||
msgid "This article is still a draft. Only you and other authors can see it."
|
msgid "This article is still a draft. Only you and other authors can see it."
|
||||||
msgstr ""
|
msgstr "این مقاله هنوز یک پیشنویس است. تنها شما و دیگر نویسندگان میتوانید آن را ببینید."
|
||||||
"این مطلب هنوز یک پیشنویس است. تنها شما و دیگر نویسندگان میتوانید آن را "
|
|
||||||
"ببینید."
|
|
||||||
|
|
||||||
msgid "Only you and other authors can edit this article."
|
msgid "Only you and other authors can edit this article."
|
||||||
msgstr "تنها شما و دیگر نویسندگان میتوانید این نوشته را ویرایش کنید."
|
msgstr "تنها شما و دیگر نویسندگان میتوانید این مقاله را ویرایش کنید."
|
||||||
|
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "ویرایش"
|
msgstr "ویرایش"
|
||||||
@@ -900,7 +833,7 @@ msgid "Reset your password"
|
|||||||
msgstr "بازنشانی گذرواژه"
|
msgstr "بازنشانی گذرواژه"
|
||||||
|
|
||||||
msgid "New password"
|
msgid "New password"
|
||||||
msgstr "گذرواژه جدید"
|
msgstr "گذرواژهٔ جدید"
|
||||||
|
|
||||||
msgid "Confirmation"
|
msgid "Confirmation"
|
||||||
msgstr "تایید"
|
msgstr "تایید"
|
||||||
@@ -911,12 +844,8 @@ msgstr "بهروزرسانی گذرواژه"
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr "صندوق پستی خود را بررسی کنید!"
|
msgstr "صندوق پستی خود را بررسی کنید!"
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
msgstr "ما، یک رایانامه به نشانیای که به ما دادید فرستادهایم. با پیوندی که در آن است میتوانید گذرواژه خود را تغییر دهید."
|
||||||
"password."
|
|
||||||
msgstr ""
|
|
||||||
"ما، یک رایانامه به نشانیای که به ما دادید فرستادهایم. با پیوندی که در آن است "
|
|
||||||
"میتوانید گذرواژه خود را تغییر دهید."
|
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
msgstr "فرستادن پیوند بازنشانی گذرواژه"
|
msgstr "فرستادن پیوند بازنشانی گذرواژه"
|
||||||
@@ -924,11 +853,8 @@ msgstr "فرستادن پیوند بازنشانی گذرواژه"
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr "این توکن منقضی شده است"
|
msgstr "این توکن منقضی شده است"
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
msgstr "لطفاً برای شروع فرایند، <a href=\"/password-reset\">اینجا</a> کلیک کنید."
|
||||||
"a>."
|
|
||||||
msgstr ""
|
|
||||||
"لطفاً برای شروع فرایند، <a href=\"/password-reset\">اینجا</a> کلیک کنید."
|
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
msgstr "بلاگ جدید"
|
msgstr "بلاگ جدید"
|
||||||
@@ -942,11 +868,8 @@ msgstr "ایجاد بلاگ"
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr "ویرایش «{}»"
|
msgstr "ویرایش «{}»"
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
msgstr "میتوانید تصاویرتان را در نگارخانه بارگذاری کرده و از آنها به عنوان شکلک و یا تصویر سردر بلاگ استفاده کنید."
|
||||||
msgstr ""
|
|
||||||
"میتوانید تصاویرتان را در نگارخانه بارگذاری کرده و از آنها به عنوان شکلک و یا "
|
|
||||||
"تصویر سردر بلاگ استفاده کنید."
|
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
msgstr "بارگذاری تصاویر"
|
msgstr "بارگذاری تصاویر"
|
||||||
@@ -964,8 +887,7 @@ msgid "Update blog"
|
|||||||
msgstr "بهروزرسانی بلاگ"
|
msgstr "بهروزرسانی بلاگ"
|
||||||
|
|
||||||
msgid "Be very careful, any action taken here can't be reversed."
|
msgid "Be very careful, any action taken here can't be reversed."
|
||||||
msgstr ""
|
msgstr "حواستان خیلی جمع باشد! هر اقدامی که اینجا انجام دهید غیرقابل بازگشت است."
|
||||||
"حواستان خیلی جمع باشد! هر اقدامی که اینجا انجام دهید غیرقابل بازگشت است."
|
|
||||||
|
|
||||||
msgid "Are you sure that you want to permanently delete this blog?"
|
msgid "Are you sure that you want to permanently delete this blog?"
|
||||||
msgstr "آیا مطمئن هستید که میخواهید این بلاگ را برای همیشه حذف کنید؟"
|
msgstr "آیا مطمئن هستید که میخواهید این بلاگ را برای همیشه حذف کنید؟"
|
||||||
@@ -982,7 +904,7 @@ msgstr[0] "یک نویسنده در این بلاگ است: "
|
|||||||
msgstr[1] "{0} نویسنده در این بلاگ هستند: "
|
msgstr[1] "{0} نویسنده در این بلاگ هستند: "
|
||||||
|
|
||||||
msgid "No posts to see here yet."
|
msgid "No posts to see here yet."
|
||||||
msgstr "هنوز نوشتهای برای دیدن وجود ندارد."
|
msgstr "هنوز فرستهای برای دیدن وجود ندارد."
|
||||||
|
|
||||||
msgid "Nothing to see here yet."
|
msgid "Nothing to see here yet."
|
||||||
msgstr "هنوز اینجا چیزی برای دیدن نیست."
|
msgstr "هنوز اینجا چیزی برای دیدن نیست."
|
||||||
@@ -1006,16 +928,10 @@ msgid "Plume is a decentralized blogging engine."
|
|||||||
msgstr "پلوم یک موتور بلاگنویسی غیرمتمرکز است."
|
msgstr "پلوم یک موتور بلاگنویسی غیرمتمرکز است."
|
||||||
|
|
||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr "نویسندگان میتوانند چندین بلاگ را مدیریت کنند که هر کدامشان مانند یک پایگاه وب مستقل هستند."
|
||||||
"نویسندگان میتوانند چندین بلاگ را مدیریت کنند که هر کدامشان مانند یک پایگاه "
|
|
||||||
"وب مستقل هستند."
|
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
msgstr "مقالات در سایر نمونههای پلوم نیز قابل مشاهده هستند و شما میتوانید با آنها به صورت مستقیم و از دیگر بنسازهها مانند ماستودون تعامل داشته باشید."
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
|
||||||
"نوشتهها در سایر نمونههای پلوم نیز قابل مشاهده هستند و شما میتوانید با آنها "
|
|
||||||
"به صورت مستقیم و از دیگر بنسازهها مانند ماستدون تعامل داشته باشید."
|
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
msgstr "قوانین کامل را مطالعه کنید"
|
msgstr "قوانین کامل را مطالعه کنید"
|
||||||
@@ -1042,7 +958,7 @@ msgid "Advanced search"
|
|||||||
msgstr "جستجوی پیشرفته"
|
msgstr "جستجوی پیشرفته"
|
||||||
|
|
||||||
msgid "Article title matching these words"
|
msgid "Article title matching these words"
|
||||||
msgstr "عنوان مطلب با این واژگان انطباق داشته باشد"
|
msgstr "عنوان مقاله با این واژگان انطباق داشته باشد"
|
||||||
|
|
||||||
msgid "Subtitle matching these words"
|
msgid "Subtitle matching these words"
|
||||||
msgstr "زیرعنوان با این واژگان انطباق داشته باشد"
|
msgstr "زیرعنوان با این واژگان انطباق داشته باشد"
|
||||||
@@ -1066,19 +982,19 @@ msgid "Tags"
|
|||||||
msgstr "برچسبها"
|
msgstr "برچسبها"
|
||||||
|
|
||||||
msgid "Posted on one of these instances"
|
msgid "Posted on one of these instances"
|
||||||
msgstr "منتشر شده روی یکی از این نمونهها"
|
msgstr "فرستاده شده روی یکی از این نمونهها"
|
||||||
|
|
||||||
msgid "Instance domain"
|
msgid "Instance domain"
|
||||||
msgstr "دامنهٔ نمونه"
|
msgstr "دامنهٔ نمونه"
|
||||||
|
|
||||||
msgid "Posted by one of these authors"
|
msgid "Posted by one of these authors"
|
||||||
msgstr "منتشر شده توسط یکی از این نویسندگان"
|
msgstr "فرستاده شده توسط یکی از این نویسندگان"
|
||||||
|
|
||||||
msgid "Author(s)"
|
msgid "Author(s)"
|
||||||
msgstr "نویسنده(ها)"
|
msgstr "نویسنده(ها)"
|
||||||
|
|
||||||
msgid "Posted on one of these blogs"
|
msgid "Posted on one of these blogs"
|
||||||
msgstr "منتشر شده روی یکی از این بلاگها"
|
msgstr "فرستاده شده روی یکی از این بلاگها"
|
||||||
|
|
||||||
msgid "Blog title"
|
msgid "Blog title"
|
||||||
msgstr "عنوان بلاگ"
|
msgstr "عنوان بلاگ"
|
||||||
@@ -1093,4 +1009,5 @@ msgid "Published under this license"
|
|||||||
msgstr "منتشر شده تحت این پروانه"
|
msgstr "منتشر شده تحت این پروانه"
|
||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr "پروانهٔ نوشته"
|
msgstr "پروانهٔ مقاله"
|
||||||
|
|
||||||
|
|||||||
+75
-116
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: plume\n"
|
"Project-Id-Version: plume\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
|
||||||
"PO-Revision-Date: 2020-12-19 09:55\n"
|
"PO-Revision-Date: 2021-05-05 18:31\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Finnish\n"
|
"Language-Team: Finnish\n"
|
||||||
"Language: fi_FI\n"
|
"Language: fi_FI\n"
|
||||||
@@ -65,59 +65,59 @@ msgstr ""
|
|||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr "Valinnainen"
|
msgstr "Valinnainen"
|
||||||
|
|
||||||
# src/routes/blogs.rs:63
|
# src/routes/blogs.rs:67
|
||||||
msgid "To create a new blog, you need to be logged in"
|
msgid "To create a new blog, you need to be logged in"
|
||||||
msgstr "Luodaksesi blogin sinun tulee olla sisäänkirjautuneena"
|
msgstr "Luodaksesi blogin sinun tulee olla sisäänkirjautuneena"
|
||||||
|
|
||||||
# src/routes/blogs.rs:102
|
# src/routes/blogs.rs:109
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Saman niminen blogi on jo olemassa."
|
msgstr "Saman niminen blogi on jo olemassa."
|
||||||
|
|
||||||
# src/routes/blogs.rs:140
|
# src/routes/blogs.rs:147
|
||||||
msgid "Your blog was successfully created!"
|
msgid "Your blog was successfully created!"
|
||||||
msgstr "Blogisi luotiin onnistuneesti!"
|
msgstr "Blogisi luotiin onnistuneesti!"
|
||||||
|
|
||||||
# src/routes/blogs.rs:160
|
# src/routes/blogs.rs:165
|
||||||
msgid "Your blog was deleted."
|
msgid "Your blog was deleted."
|
||||||
msgstr "Blogisi poistettiin."
|
msgstr "Blogisi poistettiin."
|
||||||
|
|
||||||
# src/routes/blogs.rs:168
|
# src/routes/blogs.rs:173
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Sinulla ei ole oikeutta poistaa tätä blogia."
|
msgstr "Sinulla ei ole oikeutta poistaa tätä blogia."
|
||||||
|
|
||||||
# src/routes/blogs.rs:219
|
# src/routes/blogs.rs:223
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr "Sinulla ei ole oikeutta muokata tätä blogia."
|
msgstr "Sinulla ei ole oikeutta muokata tätä blogia."
|
||||||
|
|
||||||
# src/routes/blogs.rs:275
|
# src/routes/blogs.rs:279
|
||||||
msgid "You can't use this media as a blog icon."
|
msgid "You can't use this media as a blog icon."
|
||||||
msgstr "Et voi käyttää tätä mediaa blogin ikonina."
|
msgstr "Et voi käyttää tätä mediaa blogin ikonina."
|
||||||
|
|
||||||
# src/routes/blogs.rs:293
|
# src/routes/blogs.rs:297
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Et voi käyttää tätä mediaa blogin bannerina."
|
msgstr "Et voi käyttää tätä mediaa blogin bannerina."
|
||||||
|
|
||||||
# src/routes/blogs.rs:327
|
# src/routes/blogs.rs:331
|
||||||
msgid "Your blog information have been updated."
|
msgid "Your blog information have been updated."
|
||||||
msgstr "Blogisi tiedot on päivitetty."
|
msgstr "Blogisi tiedot on päivitetty."
|
||||||
|
|
||||||
# src/routes/comments.rs:97
|
# src/routes/comments.rs:100
|
||||||
msgid "Your comment has been posted."
|
msgid "Your comment has been posted."
|
||||||
msgstr "Kommentisi lähetettiin."
|
msgstr "Kommentisi lähetettiin."
|
||||||
|
|
||||||
# src/routes/comments.rs:172
|
# src/routes/comments.rs:177
|
||||||
msgid "Your comment has been deleted."
|
msgid "Your comment has been deleted."
|
||||||
msgstr "Sisältösi poistettiin."
|
msgstr "Sisältösi poistettiin."
|
||||||
|
|
||||||
# src/routes/instance.rs:120
|
# src/routes/instance.rs:117
|
||||||
msgid "Instance settings have been saved."
|
msgid "Instance settings have been saved."
|
||||||
msgstr "Instanssin asetukset on tallennettu."
|
msgstr "Instanssin asetukset on tallennettu."
|
||||||
|
|
||||||
# src/routes/instance.rs:152
|
# src/routes/instance.rs:150
|
||||||
msgid "{} has been unblocked."
|
msgid "{} has been unblocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:154
|
# src/routes/instance.rs:152
|
||||||
msgid "{} has been blocked."
|
msgid "{} has been blocked."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -125,51 +125,51 @@ msgstr ""
|
|||||||
msgid "Blocks deleted"
|
msgid "Blocks deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:218
|
# src/routes/instance.rs:219
|
||||||
msgid "Email already blocked"
|
msgid "Email already blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:223
|
# src/routes/instance.rs:224
|
||||||
msgid "Email Blocked"
|
msgid "Email Blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:314
|
# src/routes/instance.rs:317
|
||||||
msgid "You can't change your own rights."
|
msgid "You can't change your own rights."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:325
|
# src/routes/instance.rs:328
|
||||||
msgid "You are not allowed to take this action."
|
msgid "You are not allowed to take this action."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/instance.rs:362
|
# src/routes/instance.rs:363
|
||||||
msgid "Done."
|
msgid "Done."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:53
|
# src/routes/likes.rs:58
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Tykätäksesi postauksesta sinun tulee olla sisäänkirjautuneena"
|
msgstr "Tykätäksesi postauksesta sinun tulee olla sisäänkirjautuneena"
|
||||||
|
|
||||||
# src/routes/medias.rs:145
|
# src/routes/medias.rs:158
|
||||||
msgid "Your media have been deleted."
|
msgid "Your media have been deleted."
|
||||||
msgstr "Mediasi on poistettu."
|
msgstr "Mediasi on poistettu."
|
||||||
|
|
||||||
# src/routes/medias.rs:150
|
# src/routes/medias.rs:163
|
||||||
msgid "You are not allowed to delete this media."
|
msgid "You are not allowed to delete this media."
|
||||||
msgstr "Sinulla ei ole oikeutta poistaa tätä mediaa."
|
msgstr "Sinulla ei ole oikeutta poistaa tätä mediaa."
|
||||||
|
|
||||||
# src/routes/medias.rs:167
|
# src/routes/medias.rs:180
|
||||||
msgid "Your avatar has been updated."
|
msgid "Your avatar has been updated."
|
||||||
msgstr "Avatarisi on päivitetty."
|
msgstr "Avatarisi on päivitetty."
|
||||||
|
|
||||||
# src/routes/medias.rs:172
|
# src/routes/medias.rs:185
|
||||||
msgid "You are not allowed to use this media."
|
msgid "You are not allowed to use this media."
|
||||||
msgstr "Sinulla ei ole oikeutta käyttää tätä mediaa."
|
msgstr "Sinulla ei ole oikeutta käyttää tätä mediaa."
|
||||||
|
|
||||||
# src/routes/notifications.rs:28
|
# src/routes/notifications.rs:29
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr "Nähdäksesi ilmoituksesi sinun tulee olla sisäänkirjautuneena"
|
msgstr "Nähdäksesi ilmoituksesi sinun tulee olla sisäänkirjautuneena"
|
||||||
|
|
||||||
# src/routes/posts.rs:54
|
# src/routes/posts.rs:55
|
||||||
msgid "This post isn't published yet."
|
msgid "This post isn't published yet."
|
||||||
msgstr "Tätä postausta ei ole vielä julkaistu."
|
msgstr "Tätä postausta ei ole vielä julkaistu."
|
||||||
|
|
||||||
@@ -177,122 +177,112 @@ msgstr "Tätä postausta ei ole vielä julkaistu."
|
|||||||
msgid "To write a new post, you need to be logged in"
|
msgid "To write a new post, you need to be logged in"
|
||||||
msgstr "Kirjoittaaksesi uuden postauksen sinun tulee olla sisäänkirjautuneena"
|
msgstr "Kirjoittaaksesi uuden postauksen sinun tulee olla sisäänkirjautuneena"
|
||||||
|
|
||||||
# src/routes/posts.rs:142
|
# src/routes/posts.rs:146
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr "Et ole tämän blogin kirjoittaja."
|
msgstr "Et ole tämän blogin kirjoittaja."
|
||||||
|
|
||||||
# src/routes/posts.rs:149
|
# src/routes/posts.rs:153
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr "Uusi postaus"
|
msgstr "Uusi postaus"
|
||||||
|
|
||||||
# src/routes/posts.rs:194
|
# src/routes/posts.rs:198
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Muokkaa {0}"
|
msgstr "Muokkaa {0}"
|
||||||
|
|
||||||
# src/routes/posts.rs:263
|
# src/routes/posts.rs:267
|
||||||
msgid "You are not allowed to publish on this blog."
|
msgid "You are not allowed to publish on this blog."
|
||||||
msgstr "Sinulla ei ole oikeutta julkaista tällä blogilla."
|
msgstr "Sinulla ei ole oikeutta julkaista tällä blogilla."
|
||||||
|
|
||||||
# src/routes/posts.rs:355
|
# src/routes/posts.rs:367
|
||||||
msgid "Your article has been updated."
|
msgid "Your article has been updated."
|
||||||
msgstr "Artikkeli päivitetty."
|
msgstr "Artikkeli päivitetty."
|
||||||
|
|
||||||
# src/routes/posts.rs:542
|
# src/routes/posts.rs:556
|
||||||
msgid "Your article has been saved."
|
msgid "Your article has been saved."
|
||||||
msgstr "Artikkeli on tallennettu."
|
msgstr "Artikkeli on tallennettu."
|
||||||
|
|
||||||
# src/routes/posts.rs:549
|
# src/routes/posts.rs:563
|
||||||
msgid "New article"
|
msgid "New article"
|
||||||
msgstr "Uusi artikkeli"
|
msgstr "Uusi artikkeli"
|
||||||
|
|
||||||
# src/routes/posts.rs:582
|
# src/routes/posts.rs:601
|
||||||
msgid "You are not allowed to delete this article."
|
msgid "You are not allowed to delete this article."
|
||||||
msgstr "Sinulla ei ole oikeutta poistaa tätä artikkelia."
|
msgstr "Sinulla ei ole oikeutta poistaa tätä artikkelia."
|
||||||
|
|
||||||
# src/routes/posts.rs:607
|
# src/routes/posts.rs:625
|
||||||
msgid "Your article has been deleted."
|
msgid "Your article has been deleted."
|
||||||
msgstr "Artikkelisi on poistettu."
|
msgstr "Artikkelisi on poistettu."
|
||||||
|
|
||||||
# src/routes/posts.rs:612
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
msgstr "Näyttää siltä, että koetat poistaa artikkelia jota ei ole olemassa. Ehkä se on jo poistettu?"
|
||||||
"already gone?"
|
|
||||||
msgstr ""
|
|
||||||
"Näyttää siltä, että koetat poistaa artikkelia jota ei ole olemassa. Ehkä se "
|
|
||||||
"on jo poistettu?"
|
|
||||||
|
|
||||||
# src/routes/posts.rs:652
|
# src/routes/posts.rs:672
|
||||||
msgid ""
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
msgstr "Tunnuksestasi ei saatu haettua tarpeeksi tietoja. Varmistathan että käyttäjätunkuksesi on oikein."
|
||||||
"username is correct."
|
|
||||||
msgstr ""
|
|
||||||
"Tunnuksestasi ei saatu haettua tarpeeksi tietoja. Varmistathan että "
|
|
||||||
"käyttäjätunkuksesi on oikein."
|
|
||||||
|
|
||||||
# src/routes/reshares.rs:54
|
# src/routes/reshares.rs:58
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Uudelleenjakaaksesi postauksen sinun tulee olla sisäänkirjatuneena"
|
msgstr "Uudelleenjakaaksesi postauksen sinun tulee olla sisäänkirjatuneena"
|
||||||
|
|
||||||
# src/routes/session.rs:87
|
# src/routes/session.rs:95
|
||||||
msgid "You are now connected."
|
msgid "You are now connected."
|
||||||
msgstr "Olette nyt yhdistetty."
|
msgstr "Olette nyt yhdistetty."
|
||||||
|
|
||||||
# src/routes/session.rs:108
|
# src/routes/session.rs:116
|
||||||
msgid "You are now logged off."
|
msgid "You are now logged off."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:153
|
# src/routes/session.rs:162
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:154
|
# src/routes/session.rs:163
|
||||||
msgid "Here is the link to reset your password: {0}"
|
msgid "Here is the link to reset your password: {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:216
|
# src/routes/session.rs:235
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:141
|
# src/routes/user.rs:74
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:163
|
# src/routes/user.rs:96
|
||||||
msgid "You are no longer following {}."
|
msgid "You are no longer following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:180
|
# src/routes/user.rs:113
|
||||||
msgid "You are now following {}."
|
msgid "You are now following {}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:260
|
# src/routes/user.rs:190
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:364
|
# src/routes/user.rs:299
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:409
|
# src/routes/user.rs:345
|
||||||
msgid "Your profile has been updated."
|
msgid "Your profile has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:436
|
# src/routes/user.rs:373
|
||||||
msgid "Your account has been deleted."
|
msgid "Your account has been deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:442
|
# src/routes/user.rs:379
|
||||||
msgid "You can't delete someone else's account."
|
msgid "You can't delete someone else's account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:526
|
# src/routes/user.rs:463
|
||||||
msgid "Registrations are closed on this instance."
|
msgid "Registrations are closed on this instance."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:549
|
# src/routes/user.rs:486
|
||||||
msgid ""
|
msgid "Your account has been created. Now you just need to log in, before you can use it."
|
||||||
"Your account has been created. Now you just need to log in, before you can "
|
|
||||||
"use it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Media upload"
|
msgid "Media upload"
|
||||||
@@ -451,9 +441,7 @@ msgstr ""
|
|||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Apologies, but registrations are closed on this particular instance. You can, however, find a different one."
|
||||||
"Apologies, but registrations are closed on this particular instance. You "
|
|
||||||
"can, however, find a different one."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "{0}'s subscriptions"
|
msgid "{0}'s subscriptions"
|
||||||
@@ -483,8 +471,7 @@ msgstr ""
|
|||||||
msgid "Your Profile"
|
msgid "Your Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "To change your avatar, upload it to your gallery and then select from there."
|
||||||
"To change your avatar, upload it to your gallery and then select from there."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
@@ -556,10 +543,7 @@ msgstr ""
|
|||||||
msgid "Invalid CSRF token"
|
msgid "Invalid CSRF token"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Something is wrong with your CSRF token. Make sure cookies are enabled in you browser, and try reloading this page. If you continue to see this error message, please report it."
|
||||||
"Something is wrong with your CSRF token. Make sure cookies are enabled in "
|
|
||||||
"you browser, and try reloading this page. If you continue to see this error "
|
|
||||||
"message, please report it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "You are not authorized."
|
msgid "You are not authorized."
|
||||||
@@ -643,21 +627,13 @@ msgstr "Oletus lisenssi artikelleille"
|
|||||||
msgid "Save these settings"
|
msgid "Save these settings"
|
||||||
msgstr "Tallenna nämä asetukset"
|
msgstr "Tallenna nämä asetukset"
|
||||||
|
|
||||||
msgid ""
|
msgid "If you are browsing this site as a visitor, no data about you is collected."
|
||||||
"If you are browsing this site as a visitor, no data about you is collected."
|
|
||||||
msgstr "Jos aelailet tätä sivua vierailijana, sinusta ei kerätä yhtään dataa."
|
msgstr "Jos aelailet tätä sivua vierailijana, sinusta ei kerätä yhtään dataa."
|
||||||
|
|
||||||
msgid ""
|
msgid "As a registered user, you have to provide your username (which does not have to be your real name), your functional email address and a password, in order to be able to log in, write articles and comment. The content you submit is stored until you delete it."
|
||||||
"As a registered user, you have to provide your username (which does not have "
|
|
||||||
"to be your real name), your functional email address and a password, in "
|
|
||||||
"order to be able to log in, write articles and comment. The content you "
|
|
||||||
"submit is stored until you delete it."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "When you log in, we store two cookies, one to keep your session open, the second to prevent other people to act on your behalf. We don't store any other cookies."
|
||||||
"When you log in, we store two cookies, one to keep your session open, the "
|
|
||||||
"second to prevent other people to act on your behalf. We don't store any "
|
|
||||||
"other cookies."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisted Emails"
|
msgid "Blocklisted Emails"
|
||||||
@@ -666,10 +642,7 @@ msgstr ""
|
|||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The email address you wish to block. In order to block domains, you can use globbing syntax, for example '*@example.com' blocks all addresses from example.com"
|
||||||
"The email address you wish to block. In order to block domains, you can use "
|
|
||||||
"globbing syntax, for example '*@example.com' blocks all addresses from "
|
|
||||||
"example.com"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
@@ -678,17 +651,13 @@ msgstr ""
|
|||||||
msgid "Notify the user?"
|
msgid "Notify the user?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Optional, shows a message to the user when they attempt to create an account with that address"
|
||||||
"Optional, shows a message to the user when they attempt to create an account "
|
|
||||||
"with that address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blocklisting notification"
|
msgid "Blocklisting notification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "The message to be shown when the user attempts to create an account with this email address"
|
||||||
"The message to be shown when the user attempts to create an account with "
|
|
||||||
"this email address"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add blocklisted address"
|
msgid "Add blocklisted address"
|
||||||
@@ -760,9 +729,7 @@ msgstr ""
|
|||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload media to your gallery, and then copy their Markdown code into your articles to insert them."
|
||||||
"You can upload media to your gallery, and then copy their Markdown code into "
|
|
||||||
"your articles to insert them."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
@@ -820,9 +787,7 @@ msgstr ""
|
|||||||
msgid "Boost"
|
msgid "Boost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"
|
||||||
"{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this "
|
|
||||||
"article"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
@@ -879,9 +844,7 @@ msgstr ""
|
|||||||
msgid "Check your inbox!"
|
msgid "Check your inbox!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
"We sent a mail to the address you gave us, with a link to reset your "
|
|
||||||
"password."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Send password reset link"
|
msgid "Send password reset link"
|
||||||
@@ -890,9 +853,7 @@ msgstr ""
|
|||||||
msgid "This token has expired"
|
msgid "This token has expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Please start the process again by clicking <a href=\"/password-reset\">here</a>."
|
||||||
"Please start the process again by clicking <a href=\"/password-reset\">here</"
|
|
||||||
"a>."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "New Blog"
|
msgid "New Blog"
|
||||||
@@ -907,8 +868,7 @@ msgstr ""
|
|||||||
msgid "Edit \"{}\""
|
msgid "Edit \"{}\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "You can upload images to your gallery, to use them as blog icons, or banners."
|
||||||
"You can upload images to your gallery, to use them as blog icons, or banners."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Upload images"
|
msgid "Upload images"
|
||||||
@@ -970,9 +930,7 @@ msgstr ""
|
|||||||
msgid "Authors can manage multiple blogs, each as its own website."
|
msgid "Authors can manage multiple blogs, each as its own website."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid "Articles are also visible on other Plume instances, and you can interact with them directly from other platforms like Mastodon."
|
||||||
"Articles are also visible on other Plume instances, and you can interact "
|
|
||||||
"with them directly from other platforms like Mastodon."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Read the detailed rules"
|
msgid "Read the detailed rules"
|
||||||
@@ -1052,3 +1010,4 @@ msgstr ""
|
|||||||
|
|
||||||
msgid "Article license"
|
msgid "Article license"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user