mirror of
https://git.joinplu.me/Plume/Plume.git
synced 2024-11-25 13:01:08 +00:00
Add some feedback when performing some actions (#552)
* Add a way to display flash messages * Make the flash messages look nice * Add actual feedback messages * cargo fmt * Move flash messages to PlumeRocket And add trait to convert PlumeRocket to BaseContext * Remove useless lifetime
This commit is contained in:
parent
18ae6e26b3
commit
8f1ab3485e
40 changed files with 3255 additions and 445 deletions
|
@ -6,7 +6,7 @@ mod module {
|
||||||
use crate::search;
|
use crate::search;
|
||||||
use crate::users;
|
use crate::users;
|
||||||
use rocket::{
|
use rocket::{
|
||||||
request::{self, FromRequest, Request},
|
request::{self, FlashMessage, FromRequest, Request},
|
||||||
Outcome, State,
|
Outcome, State,
|
||||||
};
|
};
|
||||||
use scheduled_thread_pool::ScheduledThreadPool;
|
use scheduled_thread_pool::ScheduledThreadPool;
|
||||||
|
@ -19,6 +19,7 @@ mod module {
|
||||||
pub user: Option<users::User>,
|
pub user: Option<users::User>,
|
||||||
pub searcher: Arc<search::Searcher>,
|
pub searcher: Arc<search::Searcher>,
|
||||||
pub worker: Arc<ScheduledThreadPool>,
|
pub worker: Arc<ScheduledThreadPool>,
|
||||||
|
pub flash_msg: Option<(String, String)>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, 'r> FromRequest<'a, 'r> for PlumeRocket {
|
impl<'a, 'r> FromRequest<'a, 'r> for PlumeRocket {
|
||||||
|
@ -30,10 +31,12 @@ mod module {
|
||||||
let user = request.guard::<users::User>().succeeded();
|
let user = request.guard::<users::User>().succeeded();
|
||||||
let worker = request.guard::<State<Arc<ScheduledThreadPool>>>()?;
|
let worker = request.guard::<State<Arc<ScheduledThreadPool>>>()?;
|
||||||
let searcher = request.guard::<State<Arc<search::Searcher>>>()?;
|
let searcher = request.guard::<State<Arc<search::Searcher>>>()?;
|
||||||
|
let flash_msg = request.guard::<FlashMessage>().succeeded();
|
||||||
Outcome::Success(PlumeRocket {
|
Outcome::Success(PlumeRocket {
|
||||||
conn,
|
conn,
|
||||||
intl,
|
intl,
|
||||||
user,
|
user,
|
||||||
|
flash_msg: flash_msg.map(|f| (f.name().into(), f.msg().into())),
|
||||||
worker: worker.clone(),
|
worker: worker.clone(),
|
||||||
searcher: searcher.clone(),
|
searcher: searcher.clone(),
|
||||||
})
|
})
|
||||||
|
|
120
po/plume/ar.po
120
po/plume/ar.po
|
@ -49,6 +49,15 @@ msgstr "لإنشاء مدونة جديدة، تحتاج إلى تسجيل الد
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "تمت إعادة تعيين كلمتك السرية بنجاح."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "لا يسمح لك بحذف هذه المدونة."
|
msgstr "لا يسمح لك بحذف هذه المدونة."
|
||||||
|
@ -65,10 +74,56 @@ msgstr "لا يمكنك استخدام هذه الوسائط كأيقونة لل
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "ليس لديك أية وسائط بعد."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "ليس لديك أية وسائط بعد."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "لا يسمح لك بحذف هذه المدونة."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "لا يسمح لك بتعديل هذه المدونة."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 "يجب عليك تسجيل الدخول أولا لعرض الإشعارات"
|
||||||
|
@ -93,6 +148,34 @@ msgstr "منشور جديد"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "تعديل {0}"
|
msgstr "تعديل {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "لا يسمح لك بتعديل هذه المدونة."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "ليس لديك أية وسائط بعد."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "لا يسمح لك بحذف هذه المدونة."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -103,6 +186,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "ليست لديك التصريحات اللازمة للقيام بذلك."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "ليست لديك التصريحات اللازمة للقيام بذلك."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "إعادة تعيين كلمة المرور"
|
msgstr "إعادة تعيين كلمة المرور"
|
||||||
|
@ -123,6 +214,14 @@ msgstr "عذراً، ولكن انتهت مدة صلاحية الرابط. حا
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -131,6 +230,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "ليس لديك أية وسائط بعد."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
119
po/plume/bg.po
119
po/plume/bg.po
|
@ -48,6 +48,14 @@ msgstr ""
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Вече съществува блог със същото име."
|
msgstr "Вече съществува блог със същото име."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:142
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -64,10 +72,56 @@ msgstr ""
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:140
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Вие не сте автор на този блог."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:140
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Вие не сте автор на този блог."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -92,6 +146,34 @@ msgstr "Нова публикация"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:140
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Вие не сте автор на този блог."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:140
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Вие не сте автор на този блог."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +184,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Не сте упълномощени."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Не сте упълномощени."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -122,6 +212,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -130,6 +228,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Pluma"
|
msgstr "Pluma"
|
||||||
|
|
||||||
|
|
115
po/plume/ca.po
115
po/plume/ca.po
|
@ -48,6 +48,14 @@ msgstr ""
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:142
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -64,10 +72,54 @@ msgstr ""
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:145
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:156
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -92,6 +144,32 @@ msgstr "Apunt nou"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:264
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:565
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +180,14 @@ msgstr ""
|
||||||
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:108
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:124
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Reinicialització de contrasenya"
|
msgstr "Reinicialització de contrasenya"
|
||||||
|
@ -122,6 +208,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -130,6 +224,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
120
po/plume/cs.po
120
po/plume/cs.po
|
@ -48,6 +48,15 @@ msgstr "Pro vytvoření nového blogu musíte být přihlášeni"
|
||||||
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/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "Vaše heslo bylo úspěšně obnoveno."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
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."
|
||||||
|
@ -64,10 +73,56 @@ msgstr "Toto médium nelze použít jako ikonu blogu."
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "Zatím nemáte nahrané žádné média."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "Zatím nemáte nahrané žádné média."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Nemáte oprávnění zmazat tento blog."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Nemáte oprávnění upravovat tento blog."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "Nový příspěvek"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Upravit {0}"
|
msgstr "Upravit {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Nemáte oprávnění upravovat tento blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "Zatím nemáte nahrané žádné média."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Nemáte oprávnění zmazat tento blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -104,6 +187,14 @@ msgstr ""
|
||||||
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"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Nemáte oprávnění."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Nemáte oprávnění."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Obnovit heslo"
|
msgstr "Obnovit heslo"
|
||||||
|
@ -124,6 +215,14 @@ msgstr "Omlouváme se, ale odkaz vypršel. Zkuste to znovu"
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
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"
|
||||||
|
@ -132,6 +231,27 @@ msgstr "Chcete-li někoho odebírat, musíte být přihlášeni"
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "Zatím nemáte nahrané žádné média."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
120
po/plume/de.po
120
po/plume/de.po
|
@ -48,6 +48,15 @@ msgstr "Um einen neuen Blog zu erstellen, müssen Sie angemeldet sein"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "Dein Passwort wurde erfolgreich zurückgesetzt."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Sie dürfen diesen Blog nicht löschen."
|
msgstr "Sie dürfen diesen Blog nicht löschen."
|
||||||
|
@ -64,10 +73,56 @@ msgstr "Sie können dieses Medium nicht als ein Blog-Icon verwenden."
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Sie können dieses Medium nicht als einen Blog-Banner verwenden."
|
msgstr "Sie können dieses Medium nicht als einen Blog-Banner verwenden."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "Du hast noch keine Medien."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "Du hast noch keine Medien."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Sie dürfen diesen Blog nicht löschen."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Ihnen fehlt die Berechtigung, um diesen Blog zu bearbeiten."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 Ihre Benachrichtigungen zu sehen, müssen Sie angemeldet sein"
|
msgstr "Um Ihre Benachrichtigungen zu sehen, müssen Sie angemeldet sein"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "Neuer Beitrag"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Bearbeite {0}"
|
msgstr "Bearbeite {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Ihnen fehlt die Berechtigung, um diesen Blog zu bearbeiten."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "Du hast noch keine Medien."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Sie dürfen diesen Blog nicht löschen."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +185,14 @@ msgstr ""
|
||||||
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 zu wiederholen, musst du angemeldet sein"
|
msgstr "Um einen Beitrag zu wiederholen, musst du angemeldet sein"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Nicht berechtigt."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Nicht berechtigt."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Passwort zurücksetzen"
|
msgstr "Passwort zurücksetzen"
|
||||||
|
@ -122,6 +213,14 @@ msgstr "Entschuldigung, der Link ist abgelaufen. Versuche es erneut"
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
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"
|
||||||
|
@ -130,6 +229,27 @@ msgstr "Um jemanden zu abonnieren, musst du angemeldet sein"
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "Du hast noch keine Medien."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
115
po/plume/en.po
115
po/plume/en.po
|
@ -48,6 +48,14 @@ msgstr ""
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:142
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -64,10 +72,54 @@ msgstr ""
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:145
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:156
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -92,6 +144,32 @@ msgstr ""
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:264
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:565
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +180,14 @@ msgstr ""
|
||||||
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:108
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:124
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -122,6 +208,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -130,6 +224,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
119
po/plume/eo.po
119
po/plume/eo.po
|
@ -48,6 +48,14 @@ msgstr ""
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:142
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -64,10 +72,56 @@ msgstr ""
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Vi ne estas permesita redakti ĉi tiun blogon."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Vi ne estas permesita redakti ĉi tiun blogon."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -92,6 +146,34 @@ msgstr "Nova skribaĵo"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Vi ne estas permesita redakti ĉi tiun blogon."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Vi ne estas permesita redakti ĉi tiun blogon."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +184,14 @@ msgstr ""
|
||||||
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:108
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:124
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -122,6 +212,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -130,6 +228,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
120
po/plume/es.po
120
po/plume/es.po
|
@ -48,6 +48,15 @@ msgstr "Para crear un nuevo blog, necesita estar logueado"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "Su contraseña se ha restablecido correctamente."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
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."
|
||||||
|
@ -64,10 +73,56 @@ msgstr "No puede usar este medio como icono del blog."
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "Todavía no tiene ningún medio."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "Todavía no tiene ningún medio."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "No está autorizado a eliminar este registro."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "No tiene permiso para editar este blog."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "Nueva publicación"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Editar {0}"
|
msgstr "Editar {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "No tiene permiso para editar este blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "Todavía no tiene ningún medio."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "No está autorizado a eliminar este registro."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +185,14 @@ msgstr ""
|
||||||
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"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "No está autorizado."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "No está autorizado."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Reiniciar contraseña"
|
msgstr "Reiniciar contraseña"
|
||||||
|
@ -122,6 +213,14 @@ msgstr "Lo sentimos, pero el enlace expiró. Inténtalo de nuevo"
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
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"
|
||||||
|
@ -130,6 +229,27 @@ msgstr "Para suscribirse a alguien, necesita estar conectado"
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "Todavía no tiene ningún medio."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
120
po/plume/fr.po
120
po/plume/fr.po
|
@ -48,6 +48,15 @@ msgstr "Vous devez vous connecter pour créer un nouveau blog"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Un blog avec le même nom existe déjà."
|
msgstr "Un blog avec le même nom existe déjà."
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "Votre mot de passe a été réinitialisé avec succès."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Vous n'êtes pas autorisé⋅e à supprimer ce blog."
|
msgstr "Vous n'êtes pas autorisé⋅e à supprimer ce blog."
|
||||||
|
@ -64,10 +73,56 @@ msgstr "Vous ne pouvez pas utiliser ce media comme icône de blog."
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Vous ne pouvez pas utiliser ce media comme illustration de blog."
|
msgstr "Vous ne pouvez pas utiliser ce media comme illustration de blog."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "Vous n'avez pas encore de média."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "Vous n'avez pas encore de média."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Vous devez vous connecter pour aimer un article"
|
msgstr "Vous devez vous connecter pour aimer un article"
|
||||||
|
|
||||||
|
# src/routes/medias.rs:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Vous n'êtes pas autorisé⋅e à supprimer ce blog."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Vous n'êtes pas autorisé à éditer ce blog."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 "Vous devez vous connecter pour voir vos notifications"
|
msgstr "Vous devez vous connecter pour voir vos notifications"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "Nouvel article"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Modifier {0}"
|
msgstr "Modifier {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Vous n'êtes pas autorisé à éditer ce blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "Vous n'avez pas encore de média."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Vous n'êtes pas autorisé⋅e à supprimer ce blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +185,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Vous devez vous connecter pour partager un article"
|
msgstr "Vous devez vous connecter pour partager un article"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Vous n’avez pas les droits."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Vous n’avez pas les droits."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Réinitialisation du mot de passe"
|
msgstr "Réinitialisation du mot de passe"
|
||||||
|
@ -122,6 +213,14 @@ msgstr "Désolé, mais le lien a expiré. Réessayez"
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "Vous devez vous connecter pour accéder à votre tableau de bord"
|
msgstr "Vous devez vous connecter pour accéder à votre tableau de bord"
|
||||||
|
|
||||||
|
# src/routes/user.rs:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "Vous devez vous connecter pour vous abonner à quelqu'un"
|
msgstr "Vous devez vous connecter pour vous abonner à quelqu'un"
|
||||||
|
@ -130,6 +229,27 @@ msgstr "Vous devez vous connecter pour vous abonner à quelqu'un"
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "Vous devez vous connecter pour pour modifier votre profil"
|
msgstr "Vous devez vous connecter pour pour modifier votre profil"
|
||||||
|
|
||||||
|
# src/routes/user.rs:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "Vous n'avez pas encore de média."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
120
po/plume/gl.po
120
po/plume/gl.po
|
@ -48,6 +48,15 @@ msgstr "Para crear un novo blog debe estar conectada"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "O contrasinal restableceuse correctamente."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Vostede non ten permiso para eliminar este blog."
|
msgstr "Vostede non ten permiso para eliminar este blog."
|
||||||
|
@ -64,10 +73,56 @@ msgstr "Vostede non pode utilizar este medio como icona do blog."
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Vostede non pode utilizar este medio como banner do blog."
|
msgstr "Vostede non pode utilizar este medio como banner do blog."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "Aínda non subeu ficheiros de medios."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "Aínda non subeu ficheiros de medios."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Para darlle a gústame, debe estar conectada"
|
msgstr "Para darlle a gústame, debe estar conectada"
|
||||||
|
|
||||||
|
# src/routes/medias.rs:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Vostede non ten permiso para eliminar este blog."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Vostede non pode editar este blog."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 as súas notificacións, debe estar conectada"
|
msgstr "Para ver as súas notificacións, debe estar conectada"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "Nova entrada"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Editar {0}"
|
msgstr "Editar {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Vostede non pode editar este blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "Aínda non subeu ficheiros de medios."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Vostede non ten permiso para eliminar este blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +185,14 @@ msgstr ""
|
||||||
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 artigo, debe estar conectada"
|
msgstr "Para compartir un artigo, debe estar conectada"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Non ten permiso."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Non ten permiso."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Restablecer contrasinal"
|
msgstr "Restablecer contrasinal"
|
||||||
|
@ -122,6 +213,14 @@ msgstr "Lamentámolo, a ligazón caducou. Inténteo de novo"
|
||||||
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 ao taboleiro, debe estar conectada"
|
msgstr "Para acceder ao taboleiro, debe estar conectada"
|
||||||
|
|
||||||
|
# src/routes/user.rs:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
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 un blog, debe estar conectada"
|
msgstr "Para suscribirse a un blog, debe estar conectada"
|
||||||
|
@ -130,6 +229,27 @@ msgstr "Para suscribirse a un blog, debe estar conectada"
|
||||||
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 o seu perfil, debe estar conectada"
|
msgstr "Para editar o seu perfil, debe estar conectada"
|
||||||
|
|
||||||
|
# src/routes/user.rs:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "Aínda non subeu ficheiros de medios."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
120
po/plume/hi.po
120
po/plume/hi.po
|
@ -48,6 +48,15 @@ msgstr "नया ब्लॉग बनाने के लिए आपको
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "ये नाम से पहले ही एक ब्लॉग है"
|
msgstr "ये नाम से पहले ही एक ब्लॉग है"
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "आपका पासवर्ड रिसेट कर दिया गया है"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "आपको ये ब्लॉग डिलीट करने की अनुमति नहीं है"
|
msgstr "आपको ये ब्लॉग डिलीट करने की अनुमति नहीं है"
|
||||||
|
@ -64,10 +73,56 @@ msgstr "इस फोटो को ब्लॉग आइकॉन के लि
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "इस media को blog banner के लिए इस्तेमाल नहीं कर सकते"
|
msgstr "इस media को blog banner के लिए इस्तेमाल नहीं कर सकते"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Post को like करने के लिए आपको log in करना होगा"
|
msgstr "Post को like करने के लिए आपको log in करना होगा"
|
||||||
|
|
||||||
|
# src/routes/medias.rs:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "आपको ये ब्लॉग डिलीट करने की अनुमति नहीं है"
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "आपको ये ब्लॉग में बदलाव करने की अनुमति नहीं है"
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 "Notifications देखने के लिए आपको log in करना होगा"
|
msgstr "Notifications देखने के लिए आपको log in करना होगा"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "नया post"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Edit करें {0}"
|
msgstr "Edit करें {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "आपको ये ब्लॉग में बदलाव करने की अनुमति नहीं है"
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "आपको ये ब्लॉग डिलीट करने की अनुमति नहीं है"
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -104,6 +187,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Post reshare करने के लिए आपको log in करना होगा"
|
msgstr "Post reshare करने के लिए आपको log in करना होगा"
|
||||||
|
|
||||||
|
# src/routes/session.rs:108
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:124
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "पासवर्ड रीसेट करें"
|
msgstr "पासवर्ड रीसेट करें"
|
||||||
|
@ -124,6 +215,14 @@ msgstr "क्षमा करें, लेकिन लिंक इस्त
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "सब्सक्राइब करने के लिए, लोग इन करें"
|
msgstr "सब्सक्राइब करने के लिए, लोग इन करें"
|
||||||
|
@ -132,6 +231,27 @@ msgstr "सब्सक्राइब करने के लिए, लोग
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "प्लूम"
|
msgstr "प्लूम"
|
||||||
|
|
||||||
|
|
119
po/plume/hr.po
119
po/plume/hr.po
|
@ -49,6 +49,14 @@ msgstr ""
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:142
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -65,10 +73,56 @@ msgstr ""
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:140
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Ti ne autor ovog bloga."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:140
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Ti ne autor ovog bloga."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -93,6 +147,34 @@ msgstr "Novi članak"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Uredi {0}"
|
msgstr "Uredi {0}"
|
||||||
|
|
||||||
|
# src/routes/posts.rs:140
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Ti ne autor ovog bloga."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:140
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Ti ne autor ovog bloga."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -103,6 +185,14 @@ msgstr ""
|
||||||
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:108
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:124
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Poništavanje zaporke"
|
msgstr "Poništavanje zaporke"
|
||||||
|
@ -123,6 +213,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -131,6 +229,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
120
po/plume/it.po
120
po/plume/it.po
|
@ -48,6 +48,15 @@ msgstr "Per creare un nuovo blog, devi avere effettuato l'accesso"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Un blog con lo stesso nome esiste già."
|
msgstr "Un blog con lo stesso nome esiste già."
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "La tua password è stata reimpostata con successo."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Non ti è consentito di eliminare questo blog."
|
msgstr "Non ti è consentito di eliminare questo blog."
|
||||||
|
@ -64,10 +73,56 @@ msgstr "Non puoi utilizzare questo media come icona del blog."
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Non puoi utilizzare questo media come copertina del blog."
|
msgstr "Non puoi utilizzare questo media come copertina del blog."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "Non hai ancora nessun media."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "Non hai ancora nessun media."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Per mettere mi piace ad un post, devi avere effettuato l'accesso"
|
msgstr "Per mettere mi piace ad un post, devi avere effettuato l'accesso"
|
||||||
|
|
||||||
|
# src/routes/medias.rs:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Non ti è consentito di eliminare questo blog."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Non ti è consentito modificare questo blog."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 vedere le tue notifiche, devi avere effettuato l'accesso"
|
msgstr "Per vedere le tue notifiche, devi avere effettuato l'accesso"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "Nuovo post"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Modifica {0}"
|
msgstr "Modifica {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Non ti è consentito modificare questo blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "Non hai ancora nessun media."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Non ti è consentito di eliminare questo blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +185,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Per ricondividere un post, devi avere effettuato l'accesso"
|
msgstr "Per ricondividere un post, devi avere effettuato l'accesso"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Non sei autorizzato."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Non sei autorizzato."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Reimposta password"
|
msgstr "Reimposta password"
|
||||||
|
@ -122,6 +213,14 @@ msgstr "Spiacente, ma il collegamento è scaduto. Riprova"
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "Per accedere al tuo pannello, devi avere effettuato l'accesso"
|
msgstr "Per accedere al tuo pannello, devi avere effettuato l'accesso"
|
||||||
|
|
||||||
|
# src/routes/user.rs:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "Per iscriverti a qualcuno, devi avere effettuato l'accesso"
|
msgstr "Per iscriverti a qualcuno, devi avere effettuato l'accesso"
|
||||||
|
@ -130,6 +229,27 @@ msgstr "Per iscriverti a qualcuno, devi avere effettuato l'accesso"
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "Per modificare il tuo profilo, devi avere effettuato l'accesso"
|
msgstr "Per modificare il tuo profilo, devi avere effettuato l'accesso"
|
||||||
|
|
||||||
|
# src/routes/user.rs:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "Non hai ancora nessun media."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
120
po/plume/ja.po
120
po/plume/ja.po
|
@ -48,6 +48,15 @@ msgstr "新しいブログを作成するにはログインが必要です"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "パスワードが正常にリセットされました。"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "このブログを削除する権限がありません。"
|
msgstr "このブログを削除する権限がありません。"
|
||||||
|
@ -64,10 +73,56 @@ msgstr "このメディアはブログアイコンに使用できません。"
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "メディアがまだありません。"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "メディアがまだありません。"
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "このブログを削除する権限がありません。"
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "このブログを編集する権限がありません。"
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 "通知を表示するにはログインが必要です"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "新しい投稿"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "{0} を編集"
|
msgstr "{0} を編集"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "このブログを編集する権限がありません。"
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "メディアがまだありません。"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "このブログを削除する権限がありません。"
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +185,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "投稿を再共有するにはログインが必要です"
|
msgstr "投稿を再共有するにはログインが必要です"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "許可されていません。"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "許可されていません。"
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "パスワードのリセット"
|
msgstr "パスワードのリセット"
|
||||||
|
@ -123,6 +214,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "誰かをフォローするにはログインが必要です"
|
msgstr "誰かをフォローするにはログインが必要です"
|
||||||
|
@ -131,6 +230,27 @@ msgstr "誰かをフォローするにはログインが必要です"
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "メディアがまだありません。"
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
123
po/plume/nb.po
123
po/plume/nb.po
|
@ -46,6 +46,14 @@ msgstr ""
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Et innlegg med samme navn finnes allerede."
|
msgstr "Et innlegg med samme navn finnes allerede."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:142
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Du er ikke denne bloggens forfatter."
|
msgstr "Du er ikke denne bloggens forfatter."
|
||||||
|
@ -62,10 +70,54 @@ msgstr "Du er ikke denne bloggens forfatter."
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Du er ikke denne bloggens forfatter."
|
msgstr "Du er ikke denne bloggens forfatter."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:47
|
# src/routes/likes.rs:47
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Du er ikke denne bloggens forfatter."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Du er ikke denne bloggens forfatter."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -89,6 +141,32 @@ msgstr "Nytt innlegg"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Kommentér \"{0}\""
|
msgstr "Kommentér \"{0}\""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Du er ikke denne bloggens forfatter."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Du er ikke denne bloggens forfatter."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr "Ingen innlegg å vise enda."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:222
|
# src/routes/user.rs:222
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -99,6 +177,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Det har du har ikke tilgang til."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Det har du har ikke tilgang til."
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Passord"
|
msgstr "Passord"
|
||||||
|
@ -119,6 +205,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr "{0} har begynt å følge deg"
|
||||||
|
|
||||||
# src/routes/user.rs:187
|
# src/routes/user.rs:187
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -127,6 +221,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
@ -948,10 +1063,6 @@ msgstr ""
|
||||||
#~ msgid "{0}'s followers"
|
#~ msgid "{0}'s followers"
|
||||||
#~ msgstr "Én følger"
|
#~ msgstr "Én følger"
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
#~ msgid "{0} is now following you."
|
|
||||||
#~ msgstr "{0} har begynt å følge deg"
|
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#~ msgid "People {0} follows"
|
#~ msgid "People {0} follows"
|
||||||
#~ msgstr "Én følger"
|
#~ msgstr "Én følger"
|
||||||
|
@ -966,10 +1077,6 @@ msgstr ""
|
||||||
#~ msgid "Unfollow"
|
#~ msgid "Unfollow"
|
||||||
#~ msgstr "Slutt å følge"
|
#~ msgstr "Slutt å følge"
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
#~ msgid "No articles to see here yet."
|
|
||||||
#~ msgstr "Ingen innlegg å vise enda."
|
|
||||||
|
|
||||||
#~ msgid "New blog"
|
#~ msgid "New blog"
|
||||||
#~ msgstr "Ny blogg"
|
#~ msgstr "Ny blogg"
|
||||||
|
|
||||||
|
|
120
po/plume/pl.po
120
po/plume/pl.po
|
@ -50,6 +50,15 @@ msgstr "Aby utworzyć nowy blog, musisz być zalogowany"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Blog o tej samej nazwie już istnieje."
|
msgstr "Blog o tej samej nazwie już istnieje."
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "Twoje hasło zostało pomyślnie zresetowane."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Nie masz uprawnień do usunięcia tego bloga."
|
msgstr "Nie masz uprawnień do usunięcia tego bloga."
|
||||||
|
@ -66,10 +75,56 @@ msgstr "Nie możesz użyć tego nośnika jako ikony blogu."
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Nie możesz użyć tego nośnika jako banner na blogu."
|
msgstr "Nie możesz użyć tego nośnika jako banner na blogu."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "Nie masz żadnej zawartości multimedialnej."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "Nie masz żadnej zawartości multimedialnej."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Aby polubić post, musisz być zalogowany"
|
msgstr "Aby polubić post, musisz być zalogowany"
|
||||||
|
|
||||||
|
# src/routes/medias.rs:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Nie masz uprawnień do usunięcia tego bloga."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Nie masz uprawnień edytować tego bloga."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 "Aby zobaczyć powiadomienia, musisz być zalogowany"
|
msgstr "Aby zobaczyć powiadomienia, musisz być zalogowany"
|
||||||
|
@ -94,6 +149,34 @@ msgstr "Nowy wpis"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Edytuj {0}"
|
msgstr "Edytuj {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Nie masz uprawnień edytować tego bloga."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "Nie masz żadnej zawartości multimedialnej."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Nie masz uprawnień do usunięcia tego bloga."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -104,6 +187,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Aby udostępnić post, musisz być zalogowany"
|
msgstr "Aby udostępnić post, musisz być zalogowany"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Nie jesteś zalogowany."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Nie jesteś zalogowany."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Resetowanie hasła"
|
msgstr "Resetowanie hasła"
|
||||||
|
@ -124,6 +215,14 @@ msgstr "Przepraszam, ale link wygasł. Spróbuj ponownie"
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "Aby uzyskać dostęp do panelu, musisz być zalogowany"
|
msgstr "Aby uzyskać dostęp do panelu, musisz być zalogowany"
|
||||||
|
|
||||||
|
# src/routes/user.rs:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "Aby subskrybować do kogoś, musisz być zalogowany"
|
msgstr "Aby subskrybować do kogoś, musisz być zalogowany"
|
||||||
|
@ -132,6 +231,27 @@ msgstr "Aby subskrybować do kogoś, musisz być zalogowany"
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "Aby edytować swój profil, musisz być zalogowany"
|
msgstr "Aby edytować swój profil, musisz być zalogowany"
|
||||||
|
|
||||||
|
# src/routes/user.rs:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "Nie masz żadnej zawartości multimedialnej."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
|
@ -12,59 +12,111 @@ 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"
|
||||||
|
|
||||||
# src/template_utils.rs:68
|
# src/template_utils.rs:102
|
||||||
msgid "{0} commented on your article."
|
msgid "{0} commented on your article."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:69
|
# src/template_utils.rs:103
|
||||||
msgid "{0} is subscribed to you."
|
msgid "{0} is subscribed to you."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:70
|
# src/template_utils.rs:104
|
||||||
msgid "{0} liked your article."
|
msgid "{0} liked your article."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:71
|
# src/template_utils.rs:105
|
||||||
msgid "{0} mentioned you."
|
msgid "{0} mentioned you."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:72
|
# src/template_utils.rs:106
|
||||||
msgid "{0} boosted your article."
|
msgid "{0} boosted your article."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:108
|
# src/template_utils.rs:142
|
||||||
msgid "{0}'s avatar"
|
msgid "{0}'s avatar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:70
|
# src/routes/blogs.rs:64
|
||||||
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:109
|
# src/routes/blogs.rs:106
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:141
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:163
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:170
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:217
|
# src/routes/blogs.rs:218
|
||||||
msgid "You are not allowed to edit this blog."
|
msgid "You are not allowed to edit this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:262
|
# src/routes/blogs.rs:263
|
||||||
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:280
|
# src/routes/blogs.rs:281
|
||||||
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:314
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:94
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:169
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:134
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:175
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:177
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:221
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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/notifications.rs:29
|
# src/routes/medias.rs:141
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:146
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:163
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:168
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/notifications.rs:28
|
||||||
msgid "To see your notifications, you need to be logged in"
|
msgid "To see your notifications, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -76,19 +128,43 @@ 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:140
|
# src/routes/posts.rs:139
|
||||||
msgid "You are not an author of this blog."
|
msgid "You are not an author of this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:147
|
# src/routes/posts.rs:146
|
||||||
msgid "New post"
|
msgid "New post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:192
|
# src/routes/posts.rs:191
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:260
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:348
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:528
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:568
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:598
|
||||||
|
msgid "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:638
|
||||||
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
msgid "Couldn't obtain enough information about your account. Please make sure your username is correct."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -96,19 +172,27 @@ msgstr ""
|
||||||
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:181
|
# src/routes/session.rs:112
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:131
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:188
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:182
|
# src/routes/session.rs:189
|
||||||
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:259
|
# src/routes/session.rs:264
|
||||||
msgid "Your password was successfully reset."
|
msgid "Your password was successfully reset."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:263
|
# src/routes/session.rs:274
|
||||||
msgid "Sorry, but the link expired. Try again"
|
msgid "Sorry, but the link expired. Try again"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -116,14 +200,42 @@ msgstr ""
|
||||||
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:244
|
# src/routes/user.rs:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:175
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:255
|
||||||
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:344
|
# src/routes/user.rs:357
|
||||||
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:399
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:426
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:432
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:504
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:528
|
||||||
|
msgid "Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -208,11 +320,11 @@ msgstr ""
|
||||||
msgid "Nothing to see here yet. Try subscribing to more people."
|
msgid "Nothing to see here yet. Try subscribing to more people."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:220
|
# src/template_utils.rs:254
|
||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -228,7 +340,7 @@ msgstr ""
|
||||||
msgid "Long description"
|
msgid "Long description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Default article license"
|
msgid "Default article license"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -274,11 +386,11 @@ msgstr ""
|
||||||
msgid "Upload an avatar"
|
msgid "Upload an avatar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Display name"
|
msgid "Display name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -327,15 +439,15 @@ msgstr ""
|
||||||
msgid "Create an account"
|
msgid "Create an account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -426,71 +538,71 @@ msgstr ""
|
||||||
msgid "Advanced search"
|
msgid "Advanced search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "Article title matching these words"
|
msgid "Article title matching these words"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "Subtitle matching these words"
|
msgid "Subtitle matching these words"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Subtitle - byline"
|
msgid "Subtitle - byline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "Content matching these words"
|
msgid "Content matching these words"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Body content"
|
msgid "Body content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "From this date"
|
msgid "From this date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "To this date"
|
msgid "To this date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "Containing these tags"
|
msgid "Containing these tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "Posted on one of these instances"
|
msgid "Posted on one of these instances"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Instance domain"
|
msgid "Instance domain"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "Posted by one of these authors"
|
msgid "Posted by one of these authors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Authors"
|
msgid "Authors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "Posted on one of these blogs"
|
msgid "Posted on one of these blogs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Blog title"
|
msgid "Blog title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "Written in this language"
|
msgid "Written in this language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:305
|
# src/template_utils.rs:339
|
||||||
msgid "Published under this license"
|
msgid "Published under this license"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -512,11 +624,11 @@ msgstr ""
|
||||||
msgid "Reset your password"
|
msgid "Reset your password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "New password"
|
msgid "New password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Confirmation"
|
msgid "Confirmation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -529,7 +641,7 @@ msgstr ""
|
||||||
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -539,7 +651,7 @@ msgstr ""
|
||||||
msgid "Log in"
|
msgid "Log in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Username, or email"
|
msgid "Username, or email"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -558,7 +670,7 @@ msgstr ""
|
||||||
msgid "Classic editor (any changes will be lost)"
|
msgid "Classic editor (any changes will be lost)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Subtitle"
|
msgid "Subtitle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -571,15 +683,15 @@ msgstr ""
|
||||||
msgid "Upload media"
|
msgid "Upload media"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Tags, separated by commas"
|
msgid "Tags, separated by commas"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "License"
|
msgid "License"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:225
|
# src/template_utils.rs:259
|
||||||
msgid "Leave it empty to reserve all rights"
|
msgid "Leave it empty to reserve all rights"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -639,7 +751,7 @@ msgstr ""
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:217
|
# src/template_utils.rs:251
|
||||||
msgid "Content warning"
|
msgid "Content warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -746,7 +858,7 @@ msgstr ""
|
||||||
msgid "I'm from another instance"
|
msgid "I'm from another instance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
# src/template_utils.rs:225
|
# src/template_utils.rs:259
|
||||||
msgid "Example: user@plu.me"
|
msgid "Example: user@plu.me"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
120
po/plume/pt.po
120
po/plume/pt.po
|
@ -48,6 +48,15 @@ msgstr "Para criar um novo blog, você precisa estar logado"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Um blog com o mesmo nome já existe."
|
msgstr "Um blog com o mesmo nome já existe."
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "A sua palavra-passe foi redefinida com sucesso."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Não está autorizado a apagar este blog."
|
msgstr "Não está autorizado a apagar este blog."
|
||||||
|
@ -64,10 +73,56 @@ msgstr "Você não pode usar esta mídia como um ícone do blog."
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Você não pode usar esta mídia como um banner do blog."
|
msgstr "Você não pode usar esta mídia como um banner do blog."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "Você ainda não tem nenhuma mídia."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "Você ainda não tem nenhuma mídia."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Para curtir uma postagem, você precisa estar logado"
|
msgstr "Para curtir uma postagem, você precisa estar logado"
|
||||||
|
|
||||||
|
# src/routes/medias.rs:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Não está autorizado a apagar este blog."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Você não está autorizado a apagar este blog."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 suas notificações, você precisa estar logado"
|
msgstr "Para ver suas notificações, você precisa estar logado"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "Novo artigo"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Mudar {0}"
|
msgstr "Mudar {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Você não está autorizado a apagar este blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "Você ainda não tem nenhuma mídia."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Não está autorizado a apagar este blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -104,6 +187,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Para recompartilhar uma postagem, você precisa estar logado"
|
msgstr "Para recompartilhar uma postagem, você precisa estar logado"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Você não está autorizado."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Você não está autorizado."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Redefinir palavra-passe"
|
msgstr "Redefinir palavra-passe"
|
||||||
|
@ -124,6 +215,14 @@ msgstr "Desculpe, mas a ligação expirou. Tente novamente"
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "Para acessar seu painel, você precisa estar logado"
|
msgstr "Para acessar seu painel, você precisa estar logado"
|
||||||
|
|
||||||
|
# src/routes/user.rs:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "Para se inscrever em alguém, você precisa estar logado"
|
msgstr "Para se inscrever em alguém, você precisa estar logado"
|
||||||
|
@ -132,6 +231,27 @@ msgstr "Para se inscrever em alguém, você precisa estar logado"
|
||||||
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 seu perfil, você precisa estar logado"
|
msgstr "Para editar seu perfil, você precisa estar logado"
|
||||||
|
|
||||||
|
# src/routes/user.rs:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "Você ainda não tem nenhuma mídia."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
120
po/plume/ro.po
120
po/plume/ro.po
|
@ -49,6 +49,15 @@ msgstr "Pentru a crea un nou blog, trebuie sa fii logat"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "Parola dumneavoastră a fost resetată cu succes."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Nu aveți permisiunea de a șterge acest blog."
|
msgstr "Nu aveți permisiunea de a șterge acest blog."
|
||||||
|
@ -65,10 +74,56 @@ msgstr ""
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Nu aveți permisiunea de a șterge acest blog."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Nu aveți permisiunea de a șterge acest blog."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -93,6 +148,34 @@ msgstr "Postare nouă"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Editare {0}"
|
msgstr "Editare {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Nu aveți permisiunea de a șterge acest blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Nu aveți permisiunea de a șterge acest blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -103,6 +186,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Pentru a redistribui un post, trebuie să fii logat"
|
msgstr "Pentru a redistribui un post, trebuie să fii logat"
|
||||||
|
|
||||||
|
# src/routes/session.rs:108
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:124
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Resetare parolă"
|
msgstr "Resetare parolă"
|
||||||
|
@ -123,6 +214,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -131,6 +230,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
115
po/plume/ru.po
115
po/plume/ru.po
|
@ -50,6 +50,14 @@ msgstr ""
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:142
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -66,10 +74,54 @@ msgstr ""
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:145
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Вы не авторизованы."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -94,6 +146,32 @@ msgstr "Новый пост"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Вы не авторизованы."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:565
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -104,6 +182,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Вы не авторизованы."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Вы не авторизованы."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -124,6 +210,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -132,6 +226,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
120
po/plume/sk.po
120
po/plume/sk.po
|
@ -48,6 +48,15 @@ msgstr "Aby si vytvoril/a nový blog, musíš sa prihlásiť"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr "Blog s rovnakým názvom už existuje."
|
msgstr "Blog s rovnakým názvom už existuje."
|
||||||
|
|
||||||
|
# src/routes/session.rs:259
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr "Tvoje heslo bolo úspešne zmenené."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Nemáš povolenie vymazať tento blog."
|
msgstr "Nemáš povolenie vymazať tento blog."
|
||||||
|
@ -64,10 +73,56 @@ msgstr "Tento mediálny súbor nemožno použiť ako ikonku pre blog."
|
||||||
msgid "You can't use this media as a blog banner."
|
msgid "You can't use this media as a blog banner."
|
||||||
msgstr "Tento mediálny súbor nemožno použiť ako záhlavie pre blog."
|
msgstr "Tento mediálny súbor nemožno použiť ako záhlavie pre blog."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr "Ešte nemáš nahrané žiadne multimédiá."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr "Ešte nemáš nahrané žiadne multimédiá."
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
msgid "To like a post, you need to be logged in"
|
msgid "To like a post, you need to be logged in"
|
||||||
msgstr "Aby si si obľúbil/a príspevok, musíš sa prihlásiť"
|
msgstr "Aby si si obľúbil/a príspevok, musíš sa prihlásiť"
|
||||||
|
|
||||||
|
# src/routes/medias.rs:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Nemáš povolenie vymazať tento blog."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Nemáš dovolené upravovať tento blog."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 "Aby si videl/a notifikácie, musíš sa prihlásiť"
|
msgstr "Aby si videl/a notifikácie, musíš sa prihlásiť"
|
||||||
|
@ -92,6 +147,34 @@ msgstr "Nový príspevok"
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Uprav {0}"
|
msgstr "Uprav {0}"
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Nemáš dovolené upravovať tento blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr "Ešte nemáš nahrané žiadne multimédiá."
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Nemáš povolenie vymazať tento blog."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -104,6 +187,14 @@ msgstr ""
|
||||||
msgid "To reshare a post, you need to be logged in"
|
msgid "To reshare a post, you need to be logged in"
|
||||||
msgstr "Na zdieľanie príspevku sa musíš prihlásiť"
|
msgstr "Na zdieľanie príspevku sa musíš prihlásiť"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr "Nemáš oprávnenie."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr "Nemáš oprávnenie."
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Obnovenie hesla"
|
msgstr "Obnovenie hesla"
|
||||||
|
@ -124,6 +215,14 @@ msgstr "Prepáč, ale tento odkaz už vypŕšal. Skús to znova"
|
||||||
msgid "To access your dashboard, you need to be logged in"
|
msgid "To access your dashboard, you need to be logged in"
|
||||||
msgstr "Pre prístup k prehľadovému panelu sa musíš prihlásiť"
|
msgstr "Pre prístup k prehľadovému panelu sa musíš prihlásiť"
|
||||||
|
|
||||||
|
# src/routes/user.rs:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr "Ak chceš niekoho odoberať, musíš sa prihlásiť"
|
msgstr "Ak chceš niekoho odoberať, musíš sa prihlásiť"
|
||||||
|
@ -132,6 +231,27 @@ msgstr "Ak chceš niekoho odoberať, musíš sa prihlásiť"
|
||||||
msgid "To edit your profile, you need to be logged in"
|
msgid "To edit your profile, you need to be logged in"
|
||||||
msgstr "Na upravenie tvojho profilu sa musíš prihlásiť"
|
msgstr "Na upravenie tvojho profilu sa musíš prihlásiť"
|
||||||
|
|
||||||
|
# src/routes/user.rs:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr "Ešte nemáš nahrané žiadne multimédiá."
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr "Plume"
|
msgstr "Plume"
|
||||||
|
|
||||||
|
|
115
po/plume/sr.po
115
po/plume/sr.po
|
@ -49,6 +49,14 @@ msgstr ""
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:142
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -65,10 +73,54 @@ msgstr ""
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:145
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/medias.rs:156
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -93,6 +145,32 @@ msgstr ""
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr "Uredi {0}"
|
msgstr "Uredi {0}"
|
||||||
|
|
||||||
|
# src/routes/posts.rs:264
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:565
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -103,6 +181,14 @@ msgstr ""
|
||||||
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:108
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:124
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Poništavanje lozinke"
|
msgstr "Poništavanje lozinke"
|
||||||
|
@ -123,6 +209,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -131,6 +225,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
119
po/plume/sv.po
119
po/plume/sv.po
|
@ -48,6 +48,14 @@ msgstr "För att skapa en ny blogg måste du vara inloggad"
|
||||||
msgid "A blog with the same name already exists."
|
msgid "A blog with the same name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:142
|
||||||
|
msgid "Your blog was successfully created!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:167
|
||||||
|
msgid "Your blog was deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/blogs.rs:172
|
# src/routes/blogs.rs:172
|
||||||
msgid "You are not allowed to delete this blog."
|
msgid "You are not allowed to delete this blog."
|
||||||
msgstr "Du har inte tillstånd att ta bort den här bloggen."
|
msgstr "Du har inte tillstånd att ta bort den här bloggen."
|
||||||
|
@ -64,10 +72,56 @@ msgstr ""
|
||||||
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:312
|
||||||
|
msgid "Your blog information have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:89
|
||||||
|
msgid "Your comment have been posted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/comments.rs:163
|
||||||
|
msgid "Your comment have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:145
|
||||||
|
msgid "Instance settings have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:182
|
||||||
|
msgid "{} have been unblocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:184
|
||||||
|
msgid "{} have been blocked."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/instance.rs:218
|
||||||
|
msgid "{} have been banned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/likes.rs:51
|
# src/routes/likes.rs:51
|
||||||
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:143
|
||||||
|
msgid "Your media have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this media."
|
||||||
|
msgstr "Du har inte tillstånd att ta bort den här bloggen."
|
||||||
|
|
||||||
|
# src/routes/medias.rs:154
|
||||||
|
msgid "Your avatar have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to use this media."
|
||||||
|
msgstr "Du har inte tillstånd att redigera den här bloggen."
|
||||||
|
|
||||||
# src/routes/notifications.rs:29
|
# 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 ""
|
||||||
|
@ -92,6 +146,34 @@ msgstr ""
|
||||||
msgid "Edit {0}"
|
msgid "Edit {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:217
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to publish on this blog."
|
||||||
|
msgstr "Du har inte tillstånd att redigera den här bloggen."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:351
|
||||||
|
msgid "Your article have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:527
|
||||||
|
msgid "Your post have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/blogs.rs:172
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are not allowed to delete this article."
|
||||||
|
msgstr "Du har inte tillstånd att ta bort den här bloggen."
|
||||||
|
|
||||||
|
# src/routes/posts.rs:589
|
||||||
|
msgid "Your article have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/posts.rs:593
|
||||||
|
msgid ""
|
||||||
|
"It looks like the article you tried to delete doesn't exist. Maybe it is "
|
||||||
|
"already gone?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/posts.rs:630
|
# src/routes/posts.rs:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"Couldn't obtain enough information about your account. Please make sure your "
|
"Couldn't obtain enough information about your account. Please make sure your "
|
||||||
|
@ -102,6 +184,14 @@ msgstr ""
|
||||||
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:108
|
||||||
|
msgid "You are now connected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/session.rs:124
|
||||||
|
msgid "You are now logged off."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/session.rs:181
|
# src/routes/session.rs:181
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -122,6 +212,14 @@ msgstr ""
|
||||||
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:158
|
||||||
|
msgid "You are no longer following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:174
|
||||||
|
msgid "You are now following {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# src/routes/user.rs:244
|
# src/routes/user.rs:244
|
||||||
msgid "To subscribe to someone, you need to be logged in"
|
msgid "To subscribe to someone, you need to be logged in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -130,6 +228,27 @@ msgstr ""
|
||||||
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:390
|
||||||
|
msgid "Your profile have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:409
|
||||||
|
msgid "Your account have been deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:411
|
||||||
|
msgid "You can't delete someone else's account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:473
|
||||||
|
msgid "Registrations are closed on this instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
# src/routes/user.rs:491
|
||||||
|
msgid ""
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plume"
|
msgid "Plume"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,6 @@ use plume_models::{
|
||||||
search::{Searcher as UnmanagedSearcher, SearcherError},
|
search::{Searcher as UnmanagedSearcher, SearcherError},
|
||||||
Connection, Error, CONFIG,
|
Connection, Error, CONFIG,
|
||||||
};
|
};
|
||||||
use rocket::State;
|
|
||||||
use rocket_csrf::CsrfFairingBuilder;
|
use rocket_csrf::CsrfFairingBuilder;
|
||||||
use scheduled_thread_pool::ScheduledThreadPool;
|
use scheduled_thread_pool::ScheduledThreadPool;
|
||||||
use std::process::exit;
|
use std::process::exit;
|
||||||
|
@ -69,8 +68,6 @@ include!(concat!(env!("OUT_DIR"), "/templates.rs"));
|
||||||
|
|
||||||
compile_i18n!();
|
compile_i18n!();
|
||||||
|
|
||||||
type Searcher<'a> = State<'a, Arc<UnmanagedSearcher>>;
|
|
||||||
|
|
||||||
/// Initializes a database pool.
|
/// Initializes a database pool.
|
||||||
fn init_pool() -> Option<DbPool> {
|
fn init_pool() -> Option<DbPool> {
|
||||||
dotenv::dotenv().ok();
|
dotenv::dotenv().ok();
|
||||||
|
|
|
@ -17,21 +17,19 @@ use plume_models::{
|
||||||
users::User, Connection, PlumeRocket,
|
users::User, Connection, PlumeRocket,
|
||||||
};
|
};
|
||||||
use routes::{errors::ErrorPage, Page};
|
use routes::{errors::ErrorPage, Page};
|
||||||
use template_utils::Ructe;
|
use template_utils::{IntoContext, Ructe};
|
||||||
|
|
||||||
#[get("/~/<name>?<page>", rank = 2)]
|
#[get("/~/<name>?<page>", rank = 2)]
|
||||||
pub fn details(name: String, page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
pub fn details(name: String, page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let blog = Blog::find_by_fqn(&rockets, &name)?;
|
let blog = Blog::find_by_fqn(&rockets, &name)?;
|
||||||
let posts = Post::blog_page(&*conn, &blog, page.limits())?;
|
let posts = Post::blog_page(conn, &blog, page.limits())?;
|
||||||
let articles_count = Post::count_for_blog(&*conn, &blog)?;
|
let articles_count = Post::count_for_blog(conn, &blog)?;
|
||||||
let authors = &blog.list_authors(&*conn)?;
|
let authors = &blog.list_authors(conn)?;
|
||||||
let user = rockets.user;
|
|
||||||
let intl = rockets.intl;
|
|
||||||
|
|
||||||
Ok(render!(blogs::details(
|
Ok(render!(blogs::details(
|
||||||
&(&*conn, &intl.catalog, user.clone()),
|
&rockets.to_context(),
|
||||||
blog,
|
blog,
|
||||||
authors,
|
authors,
|
||||||
page.0,
|
page.0,
|
||||||
|
@ -51,13 +49,9 @@ pub fn activity_details(
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/blogs/new")]
|
#[get("/blogs/new")]
|
||||||
pub fn new(rockets: PlumeRocket) -> Ructe {
|
pub fn new(rockets: PlumeRocket, _user: User) -> Ructe {
|
||||||
let user = rockets.user.unwrap();
|
|
||||||
let intl = rockets.intl;
|
|
||||||
let conn = &*rockets.conn;
|
|
||||||
|
|
||||||
render!(blogs::new(
|
render!(blogs::new(
|
||||||
&(&*conn, &intl.catalog, Some(user)),
|
&rockets.to_context(),
|
||||||
&NewBlogForm::default(),
|
&NewBlogForm::default(),
|
||||||
ValidationErrors::default()
|
ValidationErrors::default()
|
||||||
))
|
))
|
||||||
|
@ -90,7 +84,10 @@ fn valid_slug(title: &str) -> Result<(), ValidationError> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/blogs/new", data = "<form>")]
|
#[post("/blogs/new", data = "<form>")]
|
||||||
pub fn create(form: LenientForm<NewBlogForm>, rockets: PlumeRocket) -> Result<Redirect, Ructe> {
|
pub fn create(
|
||||||
|
form: LenientForm<NewBlogForm>,
|
||||||
|
rockets: PlumeRocket,
|
||||||
|
) -> Result<Flash<Redirect>, Ructe> {
|
||||||
let slug = utils::make_actor_id(&form.title);
|
let slug = utils::make_actor_id(&form.title);
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let intl = &rockets.intl.catalog;
|
let intl = &rockets.intl.catalog;
|
||||||
|
@ -139,37 +136,40 @@ pub fn create(form: LenientForm<NewBlogForm>, rockets: PlumeRocket) -> Result<Re
|
||||||
)
|
)
|
||||||
.expect("blog::create: author error");
|
.expect("blog::create: author error");
|
||||||
|
|
||||||
Ok(Redirect::to(uri!(details: name = slug.clone(), page = _)))
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(details: name = slug.clone(), page = _)),
|
||||||
|
&i18n!(intl, "Your blog was successfully created!"),
|
||||||
|
))
|
||||||
} else {
|
} else {
|
||||||
Err(render!(blogs::new(
|
Err(render!(blogs::new(&rockets.to_context(), &*form, errors)))
|
||||||
&(&*conn, intl, Some(user)),
|
|
||||||
&*form,
|
|
||||||
errors
|
|
||||||
)))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/~/<name>/delete")]
|
#[post("/~/<name>/delete")]
|
||||||
pub fn delete(name: String, rockets: PlumeRocket) -> Result<Redirect, Ructe> {
|
pub fn delete(name: String, rockets: PlumeRocket) -> Result<Flash<Redirect>, Ructe> {
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let blog = Blog::find_by_fqn(&rockets, &name).expect("blog::delete: blog not found");
|
let blog = Blog::find_by_fqn(&rockets, &name).expect("blog::delete: blog not found");
|
||||||
let user = rockets.user;
|
|
||||||
let intl = rockets.intl;
|
|
||||||
let searcher = rockets.searcher;
|
|
||||||
|
|
||||||
if user
|
if rockets
|
||||||
|
.user
|
||||||
.clone()
|
.clone()
|
||||||
.and_then(|u| u.is_author_in(&*conn, &blog).ok())
|
.and_then(|u| u.is_author_in(&*conn, &blog).ok())
|
||||||
.unwrap_or(false)
|
.unwrap_or(false)
|
||||||
{
|
{
|
||||||
blog.delete(&conn, &searcher)
|
blog.delete(&conn, &rockets.searcher)
|
||||||
.expect("blog::expect: deletion error");
|
.expect("blog::expect: deletion error");
|
||||||
Ok(Redirect::to(uri!(super::instance::index)))
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(super::instance::index)),
|
||||||
|
i18n!(rockets.intl.catalog, "Your blog was deleted."),
|
||||||
|
))
|
||||||
} else {
|
} else {
|
||||||
// TODO actually return 403 error code
|
// TODO actually return 403 error code
|
||||||
Err(render!(errors::not_authorized(
|
Err(render!(errors::not_authorized(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
i18n!(intl.catalog, "You are not allowed to delete this blog.")
|
i18n!(
|
||||||
|
rockets.intl.catalog,
|
||||||
|
"You are not allowed to delete this blog."
|
||||||
|
)
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -190,15 +190,16 @@ pub fn edit(name: String, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
if rockets
|
if rockets
|
||||||
.user
|
.user
|
||||||
.clone()
|
.clone()
|
||||||
.and_then(|u| u.is_author_in(&*conn, &blog).ok())
|
.and_then(|u| u.is_author_in(conn, &blog).ok())
|
||||||
.unwrap_or(false)
|
.unwrap_or(false)
|
||||||
{
|
{
|
||||||
let user = rockets
|
let user = rockets
|
||||||
.user
|
.user
|
||||||
|
.clone()
|
||||||
.expect("blogs::edit: User was None while it shouldn't");
|
.expect("blogs::edit: User was None while it shouldn't");
|
||||||
let medias = Media::for_user(&*conn, user.id).expect("Couldn't list media");
|
let medias = Media::for_user(conn, user.id).expect("Couldn't list media");
|
||||||
Ok(render!(blogs::edit(
|
Ok(render!(blogs::edit(
|
||||||
&(&*conn, &rockets.intl.catalog, Some(user)),
|
&rockets.to_context(),
|
||||||
&blog,
|
&blog,
|
||||||
medias,
|
medias,
|
||||||
&EditForm {
|
&EditForm {
|
||||||
|
@ -212,7 +213,7 @@ pub fn edit(name: String, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
} else {
|
} else {
|
||||||
// TODO actually return 403 error code
|
// TODO actually return 403 error code
|
||||||
Ok(render!(errors::not_authorized(
|
Ok(render!(errors::not_authorized(
|
||||||
&(&*conn, &rockets.intl.catalog, rockets.user),
|
&rockets.to_context(),
|
||||||
i18n!(
|
i18n!(
|
||||||
rockets.intl.catalog,
|
rockets.intl.catalog,
|
||||||
"You are not allowed to edit this blog."
|
"You are not allowed to edit this blog."
|
||||||
|
@ -235,7 +236,7 @@ pub fn update(
|
||||||
name: String,
|
name: String,
|
||||||
form: LenientForm<EditForm>,
|
form: LenientForm<EditForm>,
|
||||||
rockets: PlumeRocket,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Redirect, Ructe> {
|
) -> Result<Flash<Redirect>, Ructe> {
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let intl = &rockets.intl.catalog;
|
let intl = &rockets.intl.catalog;
|
||||||
let mut blog = Blog::find_by_fqn(&rockets, &name).expect("blog::update: blog not found");
|
let mut blog = Blog::find_by_fqn(&rockets, &name).expect("blog::update: blog not found");
|
||||||
|
@ -308,12 +309,15 @@ pub fn update(
|
||||||
blog.banner_id = form.banner;
|
blog.banner_id = form.banner;
|
||||||
blog.save_changes::<Blog>(&*conn)
|
blog.save_changes::<Blog>(&*conn)
|
||||||
.expect("Couldn't save blog changes");
|
.expect("Couldn't save blog changes");
|
||||||
Ok(Redirect::to(uri!(details: name = name, page = _)))
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(details: name = name, page = _)),
|
||||||
|
i18n!(intl, "Your blog information have been updated."),
|
||||||
|
))
|
||||||
})
|
})
|
||||||
.map_err(|err| {
|
.map_err(|err| {
|
||||||
let medias = Media::for_user(&*conn, user.id).expect("Couldn't list media");
|
let medias = Media::for_user(&*conn, user.id).expect("Couldn't list media");
|
||||||
render!(blogs::edit(
|
render!(blogs::edit(
|
||||||
&(&*conn, intl, Some(user)),
|
&rockets.to_context(),
|
||||||
&blog,
|
&blog,
|
||||||
medias,
|
medias,
|
||||||
&*form,
|
&*form,
|
||||||
|
@ -323,7 +327,7 @@ pub fn update(
|
||||||
} else {
|
} else {
|
||||||
// TODO actually return 403 error code
|
// TODO actually return 403 error code
|
||||||
Err(render!(errors::not_authorized(
|
Err(render!(errors::not_authorized(
|
||||||
&(&*conn, &rockets.intl.catalog, rockets.user),
|
&rockets.to_context(),
|
||||||
i18n!(
|
i18n!(
|
||||||
rockets.intl.catalog,
|
rockets.intl.catalog,
|
||||||
"You are not allowed to edit this blog."
|
"You are not allowed to edit this blog."
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
use activitypub::object::Note;
|
use activitypub::object::Note;
|
||||||
use rocket::{request::LenientForm, response::Redirect};
|
use rocket::{
|
||||||
|
request::LenientForm,
|
||||||
|
response::{Flash, Redirect},
|
||||||
|
};
|
||||||
use template_utils::Ructe;
|
use template_utils::Ructe;
|
||||||
use validator::Validate;
|
use validator::Validate;
|
||||||
|
|
||||||
|
@ -14,6 +17,7 @@ use plume_models::{
|
||||||
posts::Post, safe_string::SafeString, tags::Tag, users::User, Error, PlumeRocket,
|
posts::Post, safe_string::SafeString, tags::Tag, users::User, Error, PlumeRocket,
|
||||||
};
|
};
|
||||||
use routes::errors::ErrorPage;
|
use routes::errors::ErrorPage;
|
||||||
|
use template_utils::IntoContext;
|
||||||
|
|
||||||
#[derive(Default, FromForm, Debug, Validate)]
|
#[derive(Default, FromForm, Debug, Validate)]
|
||||||
pub struct NewCommentForm {
|
pub struct NewCommentForm {
|
||||||
|
@ -30,7 +34,7 @@ pub fn create(
|
||||||
form: LenientForm<NewCommentForm>,
|
form: LenientForm<NewCommentForm>,
|
||||||
user: User,
|
user: User,
|
||||||
rockets: PlumeRocket,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Redirect, Ructe> {
|
) -> Result<Flash<Redirect>, Ructe> {
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let blog = Blog::find_by_fqn(&rockets, &blog_name).expect("comments::create: blog error");
|
let blog = Blog::find_by_fqn(&rockets, &blog_name).expect("comments::create: blog error");
|
||||||
let post = Post::find_by_slug(&*conn, &slug, blog.id).expect("comments::create: post error");
|
let post = Post::find_by_slug(&*conn, &slug, blog.id).expect("comments::create: post error");
|
||||||
|
@ -83,8 +87,11 @@ pub fn create(
|
||||||
.worker
|
.worker
|
||||||
.execute(move || broadcast(&user_clone, new_comment, dest));
|
.execute(move || broadcast(&user_clone, new_comment, dest));
|
||||||
|
|
||||||
Redirect::to(
|
Flash::success(
|
||||||
uri!(super::posts::details: blog = blog_name, slug = slug, responding_to = _),
|
Redirect::to(
|
||||||
|
uri!(super::posts::details: blog = blog_name, slug = slug, responding_to = _),
|
||||||
|
),
|
||||||
|
i18n!(&rockets.intl.catalog, "Your comment have been posted."),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.map_err(|errors| {
|
.map_err(|errors| {
|
||||||
|
@ -97,7 +104,7 @@ pub fn create(
|
||||||
.and_then(|r| Comment::get(&*conn, r).ok());
|
.and_then(|r| Comment::get(&*conn, r).ok());
|
||||||
|
|
||||||
render!(posts::details(
|
render!(posts::details(
|
||||||
&(&*conn, &rockets.intl.catalog, Some(user.clone())),
|
&rockets.to_context(),
|
||||||
post.clone(),
|
post.clone(),
|
||||||
blog,
|
blog,
|
||||||
&*form,
|
&*form,
|
||||||
|
@ -134,7 +141,7 @@ pub fn delete(
|
||||||
id: i32,
|
id: i32,
|
||||||
user: User,
|
user: User,
|
||||||
rockets: PlumeRocket,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Redirect, ErrorPage> {
|
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||||
if let Ok(comment) = Comment::get(&*rockets.conn, id) {
|
if let Ok(comment) = Comment::get(&*rockets.conn, id) {
|
||||||
if comment.author_id == user.id {
|
if comment.author_id == user.id {
|
||||||
let dest = User::one_by_instance(&*rockets.conn)?;
|
let dest = User::one_by_instance(&*rockets.conn)?;
|
||||||
|
@ -157,8 +164,9 @@ pub fn delete(
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ok(Redirect::to(
|
Ok(Flash::success(
|
||||||
uri!(super::posts::details: blog = blog, slug = slug, responding_to = _),
|
Redirect::to(uri!(super::posts::details: blog = blog, slug = slug, responding_to = _)),
|
||||||
|
i18n!(&rockets.intl.catalog, "Your comment have been deleted."),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
use plume_models::users::User;
|
use plume_models::{Error, PlumeRocket};
|
||||||
use plume_models::{db_conn::DbConn, Error};
|
|
||||||
use rocket::{
|
use rocket::{
|
||||||
request::FromRequest,
|
|
||||||
response::{self, Responder},
|
response::{self, Responder},
|
||||||
Request,
|
Request,
|
||||||
};
|
};
|
||||||
use rocket_i18n::I18n;
|
use template_utils::{IntoContext, Ructe};
|
||||||
use template_utils::Ructe;
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct ErrorPage(Error);
|
pub struct ErrorPage(Error);
|
||||||
|
@ -19,78 +16,40 @@ impl From<Error> for ErrorPage {
|
||||||
|
|
||||||
impl<'r> Responder<'r> for ErrorPage {
|
impl<'r> Responder<'r> for ErrorPage {
|
||||||
fn respond_to(self, req: &Request) -> response::Result<'r> {
|
fn respond_to(self, req: &Request) -> response::Result<'r> {
|
||||||
let conn = req.guard::<DbConn>().succeeded();
|
let rockets = req.guard::<PlumeRocket>().unwrap();
|
||||||
let intl = req.guard::<I18n>().succeeded();
|
|
||||||
let user = User::from_request(req).succeeded();
|
|
||||||
|
|
||||||
match self.0 {
|
match self.0 {
|
||||||
Error::NotFound => render!(errors::not_found(&(
|
Error::NotFound => render!(errors::not_found(&rockets.to_context())).respond_to(req),
|
||||||
&*conn.unwrap(),
|
Error::Unauthorized => {
|
||||||
&intl.unwrap().catalog,
|
render!(errors::not_found(&rockets.to_context())).respond_to(req)
|
||||||
user
|
}
|
||||||
)))
|
_ => render!(errors::not_found(&rockets.to_context())).respond_to(req),
|
||||||
.respond_to(req),
|
|
||||||
Error::Unauthorized => render!(errors::not_found(&(
|
|
||||||
&*conn.unwrap(),
|
|
||||||
&intl.unwrap().catalog,
|
|
||||||
user
|
|
||||||
)))
|
|
||||||
.respond_to(req),
|
|
||||||
_ => render!(errors::not_found(&(
|
|
||||||
&*conn.unwrap(),
|
|
||||||
&intl.unwrap().catalog,
|
|
||||||
user
|
|
||||||
)))
|
|
||||||
.respond_to(req),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[catch(404)]
|
#[catch(404)]
|
||||||
pub fn not_found(req: &Request) -> Ructe {
|
pub fn not_found(req: &Request) -> Ructe {
|
||||||
let conn = req.guard::<DbConn>().succeeded();
|
let rockets = req.guard::<PlumeRocket>().unwrap();
|
||||||
let intl = req.guard::<I18n>().succeeded();
|
render!(errors::not_found(&rockets.to_context()))
|
||||||
let user = User::from_request(req).succeeded();
|
|
||||||
render!(errors::not_found(&(
|
|
||||||
&*conn.unwrap(),
|
|
||||||
&intl.unwrap().catalog,
|
|
||||||
user
|
|
||||||
)))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[catch(422)]
|
#[catch(422)]
|
||||||
pub fn unprocessable_entity(req: &Request) -> Ructe {
|
pub fn unprocessable_entity(req: &Request) -> Ructe {
|
||||||
let conn = req.guard::<DbConn>().succeeded();
|
let rockets = req.guard::<PlumeRocket>().unwrap();
|
||||||
let intl = req.guard::<I18n>().succeeded();
|
render!(errors::unprocessable_entity(&rockets.to_context()))
|
||||||
let user = User::from_request(req).succeeded();
|
|
||||||
render!(errors::unprocessable_entity(&(
|
|
||||||
&*conn.unwrap(),
|
|
||||||
&intl.unwrap().catalog,
|
|
||||||
user
|
|
||||||
)))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[catch(500)]
|
#[catch(500)]
|
||||||
pub fn server_error(req: &Request) -> Ructe {
|
pub fn server_error(req: &Request) -> Ructe {
|
||||||
let conn = req.guard::<DbConn>().succeeded();
|
let rockets = req.guard::<PlumeRocket>().unwrap();
|
||||||
let intl = req.guard::<I18n>().succeeded();
|
render!(errors::server_error(&rockets.to_context()))
|
||||||
let user = User::from_request(req).succeeded();
|
|
||||||
render!(errors::server_error(&(
|
|
||||||
&*conn.unwrap(),
|
|
||||||
&intl.unwrap().catalog,
|
|
||||||
user
|
|
||||||
)))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/csrf-violation?<target>")]
|
#[post("/csrf-violation?<target>")]
|
||||||
pub fn csrf_violation(
|
pub fn csrf_violation(target: Option<String>, rockets: PlumeRocket) -> Ructe {
|
||||||
target: Option<String>,
|
|
||||||
conn: DbConn,
|
|
||||||
intl: I18n,
|
|
||||||
user: Option<User>,
|
|
||||||
) -> Ructe {
|
|
||||||
if let Some(uri) = target {
|
if let Some(uri) = target {
|
||||||
eprintln!("Csrf violation while acceding \"{}\"", uri)
|
eprintln!("Csrf violation while acceding \"{}\"", uri)
|
||||||
}
|
}
|
||||||
render!(errors::csrf(&(&*conn, &intl.catalog, user)))
|
render!(errors::csrf(&rockets.to_context()))
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use rocket::{
|
use rocket::{
|
||||||
request::LenientForm,
|
request::LenientForm,
|
||||||
response::{status, Redirect},
|
response::{status, Flash, Redirect},
|
||||||
};
|
};
|
||||||
use rocket_contrib::json::Json;
|
use rocket_contrib::json::Json;
|
||||||
use rocket_i18n::I18n;
|
use rocket_i18n::I18n;
|
||||||
|
@ -14,25 +14,26 @@ use plume_models::{
|
||||||
safe_string::SafeString, users::User, Error, PlumeRocket, CONFIG,
|
safe_string::SafeString, users::User, Error, PlumeRocket, CONFIG,
|
||||||
};
|
};
|
||||||
use routes::{errors::ErrorPage, rocket_uri_macro_static_files, Page};
|
use routes::{errors::ErrorPage, rocket_uri_macro_static_files, Page};
|
||||||
use template_utils::Ructe;
|
use template_utils::{IntoContext, Ructe};
|
||||||
|
|
||||||
#[get("/")]
|
#[get("/")]
|
||||||
pub fn index(conn: DbConn, user: Option<User>, intl: I18n) -> Result<Ructe, ErrorPage> {
|
pub fn index(rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
let inst = Instance::get_local(&*conn)?;
|
let conn = &*rockets.conn;
|
||||||
let federated = Post::get_recents_page(&*conn, Page::default().limits())?;
|
let inst = Instance::get_local(conn)?;
|
||||||
let local = Post::get_instance_page(&*conn, inst.id, Page::default().limits())?;
|
let federated = Post::get_recents_page(conn, Page::default().limits())?;
|
||||||
let user_feed = user.clone().and_then(|user| {
|
let local = Post::get_instance_page(conn, inst.id, Page::default().limits())?;
|
||||||
let followed = user.get_followed(&*conn).ok()?;
|
let user_feed = rockets.user.clone().and_then(|user| {
|
||||||
|
let followed = user.get_followed(conn).ok()?;
|
||||||
let mut in_feed = followed.into_iter().map(|u| u.id).collect::<Vec<i32>>();
|
let mut in_feed = followed.into_iter().map(|u| u.id).collect::<Vec<i32>>();
|
||||||
in_feed.push(user.id);
|
in_feed.push(user.id);
|
||||||
Post::user_feed_page(&*conn, in_feed, Page::default().limits()).ok()
|
Post::user_feed_page(conn, in_feed, Page::default().limits()).ok()
|
||||||
});
|
});
|
||||||
|
|
||||||
Ok(render!(instance::index(
|
Ok(render!(instance::index(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
inst,
|
inst,
|
||||||
User::count_local(&*conn)?,
|
User::count_local(conn)?,
|
||||||
Post::count_local(&*conn)?,
|
Post::count_local(conn)?,
|
||||||
local,
|
local,
|
||||||
federated,
|
federated,
|
||||||
user_feed
|
user_feed
|
||||||
|
@ -40,61 +41,51 @@ pub fn index(conn: DbConn, user: Option<User>, intl: I18n) -> Result<Ructe, Erro
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/local?<page>")]
|
#[get("/local?<page>")]
|
||||||
pub fn local(
|
pub fn local(page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
conn: DbConn,
|
|
||||||
user: Option<User>,
|
|
||||||
page: Option<Page>,
|
|
||||||
intl: I18n,
|
|
||||||
) -> Result<Ructe, ErrorPage> {
|
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
let instance = Instance::get_local(&*conn)?;
|
let instance = Instance::get_local(&*rockets.conn)?;
|
||||||
let articles = Post::get_instance_page(&*conn, instance.id, page.limits())?;
|
let articles = Post::get_instance_page(&*rockets.conn, instance.id, page.limits())?;
|
||||||
Ok(render!(instance::local(
|
Ok(render!(instance::local(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
instance,
|
instance,
|
||||||
articles,
|
articles,
|
||||||
page.0,
|
page.0,
|
||||||
Page::total(Post::count_local(&*conn)? as i32)
|
Page::total(Post::count_local(&*rockets.conn)? as i32)
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/feed?<page>")]
|
#[get("/feed?<page>")]
|
||||||
pub fn feed(conn: DbConn, user: User, page: Option<Page>, intl: I18n) -> Result<Ructe, ErrorPage> {
|
pub fn feed(user: User, page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
let followed = user.get_followed(&*conn)?;
|
let followed = user.get_followed(&*rockets.conn)?;
|
||||||
let mut in_feed = followed.into_iter().map(|u| u.id).collect::<Vec<i32>>();
|
let mut in_feed = followed.into_iter().map(|u| u.id).collect::<Vec<i32>>();
|
||||||
in_feed.push(user.id);
|
in_feed.push(user.id);
|
||||||
let articles = Post::user_feed_page(&*conn, in_feed, page.limits())?;
|
let articles = Post::user_feed_page(&*rockets.conn, in_feed, page.limits())?;
|
||||||
Ok(render!(instance::feed(
|
Ok(render!(instance::feed(
|
||||||
&(&*conn, &intl.catalog, Some(user)),
|
&rockets.to_context(),
|
||||||
articles,
|
articles,
|
||||||
page.0,
|
page.0,
|
||||||
Page::total(Post::count_local(&*conn)? as i32)
|
Page::total(Post::count_local(&*rockets.conn)? as i32)
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/federated?<page>")]
|
#[get("/federated?<page>")]
|
||||||
pub fn federated(
|
pub fn federated(page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
conn: DbConn,
|
|
||||||
user: Option<User>,
|
|
||||||
page: Option<Page>,
|
|
||||||
intl: I18n,
|
|
||||||
) -> Result<Ructe, ErrorPage> {
|
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
let articles = Post::get_recents_page(&*conn, page.limits())?;
|
let articles = Post::get_recents_page(&*rockets.conn, page.limits())?;
|
||||||
Ok(render!(instance::federated(
|
Ok(render!(instance::federated(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
articles,
|
articles,
|
||||||
page.0,
|
page.0,
|
||||||
Page::total(Post::count_local(&*conn)? as i32)
|
Page::total(Post::count_local(&*rockets.conn)? as i32)
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/admin")]
|
#[get("/admin")]
|
||||||
pub fn admin(conn: DbConn, admin: Admin, intl: I18n) -> Result<Ructe, ErrorPage> {
|
pub fn admin(_admin: Admin, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
let local_inst = Instance::get_local(&*conn)?;
|
let local_inst = Instance::get_local(&*rockets.conn)?;
|
||||||
Ok(render!(instance::admin(
|
Ok(render!(instance::admin(
|
||||||
&(&*conn, &intl.catalog, Some(admin.0)),
|
&rockets.to_context(),
|
||||||
local_inst.clone(),
|
local_inst.clone(),
|
||||||
InstanceSettingsForm {
|
InstanceSettingsForm {
|
||||||
name: local_inst.name.clone(),
|
name: local_inst.name.clone(),
|
||||||
|
@ -120,31 +111,34 @@ pub struct InstanceSettingsForm {
|
||||||
|
|
||||||
#[post("/admin", data = "<form>")]
|
#[post("/admin", data = "<form>")]
|
||||||
pub fn update_settings(
|
pub fn update_settings(
|
||||||
conn: DbConn,
|
_admin: Admin,
|
||||||
admin: Admin,
|
|
||||||
form: LenientForm<InstanceSettingsForm>,
|
form: LenientForm<InstanceSettingsForm>,
|
||||||
intl: I18n,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Redirect, Ructe> {
|
) -> Result<Flash<Redirect>, Ructe> {
|
||||||
|
let conn = &*rockets.conn;
|
||||||
form.validate()
|
form.validate()
|
||||||
.and_then(|_| {
|
.and_then(|_| {
|
||||||
let instance = Instance::get_local(&*conn)
|
let instance =
|
||||||
.expect("instance::update_settings: local instance error");
|
Instance::get_local(conn).expect("instance::update_settings: local instance error");
|
||||||
instance
|
instance
|
||||||
.update(
|
.update(
|
||||||
&*conn,
|
conn,
|
||||||
form.name.clone(),
|
form.name.clone(),
|
||||||
form.open_registrations,
|
form.open_registrations,
|
||||||
form.short_description.clone(),
|
form.short_description.clone(),
|
||||||
form.long_description.clone(),
|
form.long_description.clone(),
|
||||||
)
|
)
|
||||||
.expect("instance::update_settings: save error");
|
.expect("instance::update_settings: save error");
|
||||||
Ok(Redirect::to(uri!(admin)))
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(admin)),
|
||||||
|
i18n!(rockets.intl.catalog, "Instance settings have been saved."),
|
||||||
|
))
|
||||||
})
|
})
|
||||||
.or_else(|e| {
|
.or_else(|e| {
|
||||||
let local_inst = Instance::get_local(&*conn)
|
let local_inst =
|
||||||
.expect("instance::update_settings: local instance error");
|
Instance::get_local(conn).expect("instance::update_settings: local instance error");
|
||||||
Err(render!(instance::admin(
|
Err(render!(instance::admin(
|
||||||
&(&*conn, &intl.catalog, Some(admin.0)),
|
&rockets.to_context(),
|
||||||
local_inst,
|
local_inst,
|
||||||
form.clone(),
|
form.clone(),
|
||||||
e
|
e
|
||||||
|
@ -154,64 +148,78 @@ pub fn update_settings(
|
||||||
|
|
||||||
#[get("/admin/instances?<page>")]
|
#[get("/admin/instances?<page>")]
|
||||||
pub fn admin_instances(
|
pub fn admin_instances(
|
||||||
admin: Admin,
|
_admin: Admin,
|
||||||
conn: DbConn,
|
|
||||||
page: Option<Page>,
|
page: Option<Page>,
|
||||||
intl: I18n,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Ructe, ErrorPage> {
|
) -> Result<Ructe, ErrorPage> {
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
let instances = Instance::page(&*conn, page.limits())?;
|
let instances = Instance::page(&*rockets.conn, page.limits())?;
|
||||||
Ok(render!(instance::list(
|
Ok(render!(instance::list(
|
||||||
&(&*conn, &intl.catalog, Some(admin.0)),
|
&rockets.to_context(),
|
||||||
Instance::get_local(&*conn)?,
|
Instance::get_local(&*rockets.conn)?,
|
||||||
instances,
|
instances,
|
||||||
page.0,
|
page.0,
|
||||||
Page::total(Instance::count(&*conn)? as i32)
|
Page::total(Instance::count(&*rockets.conn)? as i32)
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/admin/instances/<id>/block")]
|
#[post("/admin/instances/<id>/block")]
|
||||||
pub fn toggle_block(_admin: Admin, conn: DbConn, id: i32) -> Result<Redirect, ErrorPage> {
|
pub fn toggle_block(
|
||||||
if let Ok(inst) = Instance::get(&*conn, id) {
|
_admin: Admin,
|
||||||
inst.toggle_block(&*conn)?;
|
conn: DbConn,
|
||||||
}
|
id: i32,
|
||||||
|
intl: I18n,
|
||||||
|
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||||
|
let inst = Instance::get(&*conn, id)?;
|
||||||
|
let message = if inst.blocked {
|
||||||
|
i18n!(intl.catalog, "{} have been unblocked."; &inst.name)
|
||||||
|
} else {
|
||||||
|
i18n!(intl.catalog, "{} have been blocked."; &inst.name)
|
||||||
|
};
|
||||||
|
|
||||||
Ok(Redirect::to(uri!(admin_instances: page = _)))
|
inst.toggle_block(&*conn)?;
|
||||||
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(admin_instances: page = _)),
|
||||||
|
message,
|
||||||
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/admin/users?<page>")]
|
#[get("/admin/users?<page>")]
|
||||||
pub fn admin_users(
|
pub fn admin_users(
|
||||||
admin: Admin,
|
_admin: Admin,
|
||||||
conn: DbConn,
|
|
||||||
page: Option<Page>,
|
page: Option<Page>,
|
||||||
intl: I18n,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Ructe, ErrorPage> {
|
) -> Result<Ructe, ErrorPage> {
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
Ok(render!(instance::users(
|
Ok(render!(instance::users(
|
||||||
&(&*conn, &intl.catalog, Some(admin.0)),
|
&rockets.to_context(),
|
||||||
User::get_local_page(&*conn, page.limits())?,
|
User::get_local_page(&*rockets.conn, page.limits())?,
|
||||||
page.0,
|
page.0,
|
||||||
Page::total(User::count_local(&*conn)? as i32)
|
Page::total(User::count_local(&*rockets.conn)? as i32)
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/admin/users/<id>/ban")]
|
#[post("/admin/users/<id>/ban")]
|
||||||
pub fn ban(_admin: Admin, id: i32, rockets: PlumeRocket) -> Result<Redirect, ErrorPage> {
|
pub fn ban(_admin: Admin, id: i32, rockets: PlumeRocket) -> Result<Flash<Redirect>, ErrorPage> {
|
||||||
if let Ok(u) = User::get(&*rockets.conn, id) {
|
let u = User::get(&*rockets.conn, id)?;
|
||||||
u.delete(&*rockets.conn, &rockets.searcher)?;
|
u.delete(&*rockets.conn, &rockets.searcher)?;
|
||||||
|
|
||||||
if Instance::get_local(&*rockets.conn)
|
if Instance::get_local(&*rockets.conn)
|
||||||
.map(|i| u.instance_id == i.id)
|
.map(|i| u.instance_id == i.id)
|
||||||
.unwrap_or(false)
|
.unwrap_or(false)
|
||||||
{
|
{
|
||||||
let target = User::one_by_instance(&*rockets.conn)?;
|
let target = User::one_by_instance(&*rockets.conn)?;
|
||||||
let delete_act = u.delete_activity(&*rockets.conn)?;
|
let delete_act = u.delete_activity(&*rockets.conn)?;
|
||||||
rockets
|
let u_clone = u.clone();
|
||||||
.worker
|
rockets
|
||||||
.execute(move || broadcast(&u, delete_act, target));
|
.worker
|
||||||
}
|
.execute(move || broadcast(&u_clone, delete_act, target));
|
||||||
}
|
}
|
||||||
Ok(Redirect::to(uri!(admin_users: page = _)))
|
|
||||||
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(admin_users: page = _)),
|
||||||
|
i18n!(rockets.intl.catalog, "{} have been banned."; u.name()),
|
||||||
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/inbox", data = "<data>")]
|
#[post("/inbox", data = "<data>")]
|
||||||
|
@ -293,14 +301,15 @@ pub fn nodeinfo(conn: DbConn, version: String) -> Result<Json<serde_json::Value>
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/about")]
|
#[get("/about")]
|
||||||
pub fn about(user: Option<User>, conn: DbConn, intl: I18n) -> Result<Ructe, ErrorPage> {
|
pub fn about(rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
|
let conn = &*rockets.conn;
|
||||||
Ok(render!(instance::about(
|
Ok(render!(instance::about(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
Instance::get_local(&*conn)?,
|
Instance::get_local(conn)?,
|
||||||
Instance::get_local(&*conn)?.main_admin(&*conn)?,
|
Instance::get_local(conn)?.main_admin(conn)?,
|
||||||
User::count_local(&*conn)?,
|
User::count_local(conn)?,
|
||||||
Post::count_local(&*conn)?,
|
Post::count_local(conn)?,
|
||||||
Instance::count(&*conn)? - 1
|
Instance::count(conn)? - 1
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,32 +3,32 @@ use multipart::server::{
|
||||||
save::{SaveResult, SavedData},
|
save::{SaveResult, SavedData},
|
||||||
Multipart,
|
Multipart,
|
||||||
};
|
};
|
||||||
use plume_models::{db_conn::DbConn, medias::*, users::User, Error};
|
use plume_models::{db_conn::DbConn, medias::*, users::User, Error, PlumeRocket};
|
||||||
use rocket::{
|
use rocket::{
|
||||||
http::ContentType,
|
http::ContentType,
|
||||||
response::{status, Redirect},
|
response::{status, Flash, Redirect},
|
||||||
Data,
|
Data,
|
||||||
};
|
};
|
||||||
use rocket_i18n::I18n;
|
use rocket_i18n::I18n;
|
||||||
use routes::{errors::ErrorPage, Page};
|
use routes::{errors::ErrorPage, Page};
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use template_utils::Ructe;
|
use template_utils::{IntoContext, Ructe};
|
||||||
|
|
||||||
#[get("/medias?<page>")]
|
#[get("/medias?<page>")]
|
||||||
pub fn list(user: User, conn: DbConn, intl: I18n, page: Option<Page>) -> Result<Ructe, ErrorPage> {
|
pub fn list(user: User, page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
let medias = Media::page_for_user(&*conn, &user, page.limits())?;
|
let medias = Media::page_for_user(&*rockets.conn, &user, page.limits())?;
|
||||||
Ok(render!(medias::index(
|
Ok(render!(medias::index(
|
||||||
&(&*conn, &intl.catalog, Some(user.clone())),
|
&rockets.to_context(),
|
||||||
medias,
|
medias,
|
||||||
page.0,
|
page.0,
|
||||||
Page::total(Media::count_for_user(&*conn, &user)? as i32)
|
Page::total(Media::count_for_user(&*rockets.conn, &user)? as i32)
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/medias/new")]
|
#[get("/medias/new")]
|
||||||
pub fn new(user: User, conn: DbConn, intl: I18n) -> Ructe {
|
pub fn new(_user: User, rockets: PlumeRocket) -> Ructe {
|
||||||
render!(medias::new(&(&*conn, &intl.catalog, Some(user))))
|
render!(medias::new(&rockets.to_context()))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/medias/new", data = "<data>")]
|
#[post("/medias/new", data = "<data>")]
|
||||||
|
@ -122,32 +122,50 @@ fn read(data: &SavedData) -> Result<String, status::BadRequest<&'static str>> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/medias/<id>")]
|
#[get("/medias/<id>")]
|
||||||
pub fn details(id: i32, user: User, conn: DbConn, intl: I18n) -> Result<Ructe, ErrorPage> {
|
pub fn details(id: i32, user: User, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
let media = Media::get(&*conn, id)?;
|
let media = Media::get(&*rockets.conn, id)?;
|
||||||
if media.owner_id == user.id {
|
if media.owner_id == user.id {
|
||||||
Ok(render!(medias::details(
|
Ok(render!(medias::details(&rockets.to_context(), media)))
|
||||||
&(&*conn, &intl.catalog, Some(user)),
|
|
||||||
media
|
|
||||||
)))
|
|
||||||
} else {
|
} else {
|
||||||
Err(Error::Unauthorized.into())
|
Err(Error::Unauthorized.into())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/medias/<id>/delete")]
|
#[post("/medias/<id>/delete")]
|
||||||
pub fn delete(id: i32, user: User, conn: DbConn) -> Result<Redirect, ErrorPage> {
|
pub fn delete(id: i32, user: User, conn: DbConn, intl: I18n) -> Result<Flash<Redirect>, ErrorPage> {
|
||||||
let media = Media::get(&*conn, id)?;
|
let media = Media::get(&*conn, id)?;
|
||||||
if media.owner_id == user.id {
|
if media.owner_id == user.id {
|
||||||
media.delete(&*conn)?;
|
media.delete(&*conn)?;
|
||||||
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(list: page = _)),
|
||||||
|
i18n!(intl.catalog, "Your media have been deleted."),
|
||||||
|
))
|
||||||
|
} else {
|
||||||
|
Ok(Flash::error(
|
||||||
|
Redirect::to(uri!(list: page = _)),
|
||||||
|
i18n!(intl.catalog, "You are not allowed to delete this media."),
|
||||||
|
))
|
||||||
}
|
}
|
||||||
Ok(Redirect::to(uri!(list: page = _)))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/medias/<id>/avatar")]
|
#[post("/medias/<id>/avatar")]
|
||||||
pub fn set_avatar(id: i32, user: User, conn: DbConn) -> Result<Redirect, ErrorPage> {
|
pub fn set_avatar(
|
||||||
|
id: i32,
|
||||||
|
user: User,
|
||||||
|
conn: DbConn,
|
||||||
|
intl: I18n,
|
||||||
|
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||||
let media = Media::get(&*conn, id)?;
|
let media = Media::get(&*conn, id)?;
|
||||||
if media.owner_id == user.id {
|
if media.owner_id == user.id {
|
||||||
user.set_avatar(&*conn, media.id)?;
|
user.set_avatar(&*conn, media.id)?;
|
||||||
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(details: id = id)),
|
||||||
|
i18n!(intl.catalog, "Your avatar have been updated."),
|
||||||
|
))
|
||||||
|
} else {
|
||||||
|
Ok(Flash::error(
|
||||||
|
Redirect::to(uri!(details: id = id)),
|
||||||
|
i18n!(intl.catalog, "You are not allowed to use this media."),
|
||||||
|
))
|
||||||
}
|
}
|
||||||
Ok(Redirect::to(uri!(details: id = id)))
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,23 +2,22 @@ use rocket::response::{Flash, Redirect};
|
||||||
use rocket_i18n::I18n;
|
use rocket_i18n::I18n;
|
||||||
|
|
||||||
use plume_common::utils;
|
use plume_common::utils;
|
||||||
use plume_models::{db_conn::DbConn, notifications::Notification, users::User};
|
use plume_models::{notifications::Notification, users::User, PlumeRocket};
|
||||||
use routes::{errors::ErrorPage, Page};
|
use routes::{errors::ErrorPage, Page};
|
||||||
use template_utils::Ructe;
|
use template_utils::{IntoContext, Ructe};
|
||||||
|
|
||||||
#[get("/notifications?<page>")]
|
#[get("/notifications?<page>")]
|
||||||
pub fn notifications(
|
pub fn notifications(
|
||||||
conn: DbConn,
|
|
||||||
user: User,
|
user: User,
|
||||||
page: Option<Page>,
|
page: Option<Page>,
|
||||||
intl: I18n,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Ructe, ErrorPage> {
|
) -> Result<Ructe, ErrorPage> {
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
Ok(render!(notifications::index(
|
Ok(render!(notifications::index(
|
||||||
&(&*conn, &intl.catalog, Some(user.clone())),
|
&rockets.to_context(),
|
||||||
Notification::page_for_user(&*conn, &user, page.limits())?,
|
Notification::page_for_user(&*rockets.conn, &user, page.limits())?,
|
||||||
page.0,
|
page.0,
|
||||||
Page::total(Notification::count_for_user(&*conn, &user)? as i32)
|
Page::total(Notification::count_for_user(&*rockets.conn, &user)? as i32)
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ use plume_models::{
|
||||||
Error, PlumeRocket,
|
Error, PlumeRocket,
|
||||||
};
|
};
|
||||||
use routes::{comments::NewCommentForm, errors::ErrorPage, ContentLen, RemoteForm};
|
use routes::{comments::NewCommentForm, errors::ErrorPage, ContentLen, RemoteForm};
|
||||||
use template_utils::Ructe;
|
use template_utils::{IntoContext, Ructe};
|
||||||
|
|
||||||
#[get("/~/<blog>/<slug>?<responding_to>", rank = 4)]
|
#[get("/~/<blog>/<slug>?<responding_to>", rank = 4)]
|
||||||
pub fn details(
|
pub fn details(
|
||||||
|
@ -51,7 +51,7 @@ pub fn details(
|
||||||
let previous = responding_to.and_then(|r| Comment::get(&*conn, r).ok());
|
let previous = responding_to.and_then(|r| Comment::get(&*conn, r).ok());
|
||||||
|
|
||||||
Ok(render!(posts::details(
|
Ok(render!(posts::details(
|
||||||
&(&*conn, &rockets.intl.catalog, user.clone()),
|
&rockets.to_context(),
|
||||||
post.clone(),
|
post.clone(),
|
||||||
blog,
|
blog,
|
||||||
&NewCommentForm {
|
&NewCommentForm {
|
||||||
|
@ -89,7 +89,7 @@ pub fn details(
|
||||||
)))
|
)))
|
||||||
} else {
|
} else {
|
||||||
Ok(render!(errors::not_authorized(
|
Ok(render!(errors::not_authorized(
|
||||||
&(&*conn, &rockets.intl.catalog, user.clone()),
|
&rockets.to_context(),
|
||||||
i18n!(rockets.intl.catalog, "This post isn't published yet.")
|
i18n!(rockets.intl.catalog, "This post isn't published yet.")
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
@ -130,21 +130,20 @@ pub fn new_auth(blog: String, i18n: I18n) -> Flash<Redirect> {
|
||||||
pub fn new(blog: String, cl: ContentLen, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
pub fn new(blog: String, cl: ContentLen, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let b = Blog::find_by_fqn(&rockets, &blog)?;
|
let b = Blog::find_by_fqn(&rockets, &blog)?;
|
||||||
let user = rockets.user.unwrap();
|
let user = rockets.user.clone().unwrap();
|
||||||
let intl = rockets.intl;
|
|
||||||
|
|
||||||
if !user.is_author_in(&*conn, &b)? {
|
if !user.is_author_in(&*conn, &b)? {
|
||||||
// TODO actually return 403 error code
|
// TODO actually return 403 error code
|
||||||
return Ok(render!(errors::not_authorized(
|
return Ok(render!(errors::not_authorized(
|
||||||
&(&*conn, &intl.catalog, Some(user)),
|
&rockets.to_context(),
|
||||||
i18n!(intl.catalog, "You are not an author of this blog.")
|
i18n!(rockets.intl.catalog, "You are not an author of this blog.")
|
||||||
)));
|
)));
|
||||||
}
|
}
|
||||||
|
|
||||||
let medias = Media::for_user(&*conn, user.id)?;
|
let medias = Media::for_user(&*conn, user.id)?;
|
||||||
Ok(render!(posts::new(
|
Ok(render!(posts::new(
|
||||||
&(&*conn, &intl.catalog, Some(user)),
|
&rockets.to_context(),
|
||||||
i18n!(intl.catalog, "New post"),
|
i18n!(rockets.intl.catalog, "New post"),
|
||||||
b,
|
b,
|
||||||
false,
|
false,
|
||||||
&NewPostForm {
|
&NewPostForm {
|
||||||
|
@ -170,11 +169,11 @@ pub fn edit(
|
||||||
let intl = &rockets.intl.catalog;
|
let intl = &rockets.intl.catalog;
|
||||||
let b = Blog::find_by_fqn(&rockets, &blog)?;
|
let b = Blog::find_by_fqn(&rockets, &blog)?;
|
||||||
let post = Post::find_by_slug(&*conn, &slug, b.id)?;
|
let post = Post::find_by_slug(&*conn, &slug, b.id)?;
|
||||||
let user = rockets.user.unwrap();
|
let user = rockets.user.clone().unwrap();
|
||||||
|
|
||||||
if !user.is_author_in(&*conn, &b)? {
|
if !user.is_author_in(&*conn, &b)? {
|
||||||
return Ok(render!(errors::not_authorized(
|
return Ok(render!(errors::not_authorized(
|
||||||
&(&*conn, intl, Some(user)),
|
&rockets.to_context(),
|
||||||
i18n!(intl, "You are not an author of this blog.")
|
i18n!(intl, "You are not an author of this blog.")
|
||||||
)));
|
)));
|
||||||
}
|
}
|
||||||
|
@ -188,7 +187,7 @@ pub fn edit(
|
||||||
let medias = Media::for_user(&*conn, user.id)?;
|
let medias = Media::for_user(&*conn, user.id)?;
|
||||||
let title = post.title.clone();
|
let title = post.title.clone();
|
||||||
Ok(render!(posts::new(
|
Ok(render!(posts::new(
|
||||||
&(&*conn, intl, Some(user)),
|
&rockets.to_context(),
|
||||||
i18n!(intl, "Edit {0}"; &title),
|
i18n!(intl, "Edit {0}"; &title),
|
||||||
b,
|
b,
|
||||||
true,
|
true,
|
||||||
|
@ -220,7 +219,7 @@ pub fn update(
|
||||||
cl: ContentLen,
|
cl: ContentLen,
|
||||||
form: LenientForm<NewPostForm>,
|
form: LenientForm<NewPostForm>,
|
||||||
rockets: PlumeRocket,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Redirect, Ructe> {
|
) -> Result<Flash<Redirect>, Ructe> {
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let b = Blog::find_by_fqn(&rockets, &blog).expect("post::update: blog error");
|
let b = Blog::find_by_fqn(&rockets, &blog).expect("post::update: blog error");
|
||||||
let mut post =
|
let mut post =
|
||||||
|
@ -256,8 +255,9 @@ pub fn update(
|
||||||
.expect("posts::update: is author in error")
|
.expect("posts::update: is author in error")
|
||||||
{
|
{
|
||||||
// actually it's not "Ok"…
|
// actually it's not "Ok"…
|
||||||
Ok(Redirect::to(
|
Ok(Flash::error(
|
||||||
uri!(super::blogs::details: name = blog, page = _),
|
Redirect::to(uri!(super::blogs::details: name = blog, page = _)),
|
||||||
|
i18n!(&intl, "You are not allowed to publish on this blog."),
|
||||||
))
|
))
|
||||||
} else {
|
} else {
|
||||||
let (content, mentions, hashtags) = utils::md_to_html(
|
let (content, mentions, hashtags) = utils::md_to_html(
|
||||||
|
@ -343,14 +343,15 @@ pub fn update(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(Redirect::to(
|
Ok(Flash::success(
|
||||||
uri!(details: blog = blog, slug = new_slug, responding_to = _),
|
Redirect::to(uri!(details: blog = blog, slug = new_slug, responding_to = _)),
|
||||||
|
i18n!(intl, "Your article have been updated."),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let medias = Media::for_user(&*conn, user.id).expect("posts:update: medias error");
|
let medias = Media::for_user(&*conn, user.id).expect("posts:update: medias error");
|
||||||
Err(render!(posts::new(
|
Err(render!(posts::new(
|
||||||
&(&*conn, intl, Some(user)),
|
&rockets.to_context(),
|
||||||
i18n!(intl, "Edit {0}"; &form.title),
|
i18n!(intl, "Edit {0}"; &form.title),
|
||||||
b,
|
b,
|
||||||
true,
|
true,
|
||||||
|
@ -393,7 +394,7 @@ pub fn create(
|
||||||
form: LenientForm<NewPostForm>,
|
form: LenientForm<NewPostForm>,
|
||||||
cl: ContentLen,
|
cl: ContentLen,
|
||||||
rockets: PlumeRocket,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Redirect, Result<Ructe, ErrorPage>> {
|
) -> Result<Flash<Redirect>, Result<Ructe, ErrorPage>> {
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let blog = Blog::find_by_fqn(&rockets, &blog_name).expect("post::create: blog error");;
|
let blog = Blog::find_by_fqn(&rockets, &blog_name).expect("post::create: blog error");;
|
||||||
let slug = form.title.to_string().to_kebab_case();
|
let slug = form.title.to_string().to_kebab_case();
|
||||||
|
@ -420,8 +421,12 @@ pub fn create(
|
||||||
.expect("post::create: is author in error")
|
.expect("post::create: is author in error")
|
||||||
{
|
{
|
||||||
// actually it's not "Ok"…
|
// actually it's not "Ok"…
|
||||||
return Ok(Redirect::to(
|
return Ok(Flash::error(
|
||||||
uri!(super::blogs::details: name = blog_name, page = _),
|
Redirect::to(uri!(super::blogs::details: name = blog_name, page = _)),
|
||||||
|
i18n!(
|
||||||
|
&rockets.intl.catalog,
|
||||||
|
"You are not allowed to publish on this blog."
|
||||||
|
),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -518,15 +523,15 @@ pub fn create(
|
||||||
worker.execute(move || broadcast(&user, act, dest));
|
worker.execute(move || broadcast(&user, act, dest));
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(Redirect::to(
|
Ok(Flash::success(
|
||||||
uri!(details: blog = blog_name, slug = slug, responding_to = _),
|
Redirect::to(uri!(details: blog = blog_name, slug = slug, responding_to = _)),
|
||||||
|
i18n!(&rockets.intl.catalog, "Your post have been saved."),
|
||||||
))
|
))
|
||||||
} else {
|
} else {
|
||||||
let medias = Media::for_user(&*conn, user.id).expect("posts::create: medias error");
|
let medias = Media::for_user(&*conn, user.id).expect("posts::create: medias error");
|
||||||
let intl = rockets.intl;
|
|
||||||
Err(Ok(render!(posts::new(
|
Err(Ok(render!(posts::new(
|
||||||
&(&*conn, &intl.catalog, Some(user)),
|
&rockets.to_context(),
|
||||||
i18n!(intl.catalog, "New post"),
|
i18n!(rockets.intl.catalog, "New post"),
|
||||||
blog,
|
blog,
|
||||||
false,
|
false,
|
||||||
&*form,
|
&*form,
|
||||||
|
@ -544,7 +549,8 @@ pub fn delete(
|
||||||
blog_name: String,
|
blog_name: String,
|
||||||
slug: String,
|
slug: String,
|
||||||
rockets: PlumeRocket,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Redirect, ErrorPage> {
|
intl: I18n,
|
||||||
|
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||||
let user = rockets.user.clone().unwrap();
|
let user = rockets.user.clone().unwrap();
|
||||||
let post = Blog::find_by_fqn(&rockets, &blog_name)
|
let post = Blog::find_by_fqn(&rockets, &blog_name)
|
||||||
.and_then(|blog| Post::find_by_slug(&*rockets.conn, &slug, blog.id));
|
.and_then(|blog| Post::find_by_slug(&*rockets.conn, &slug, blog.id));
|
||||||
|
@ -555,8 +561,11 @@ pub fn delete(
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.any(|a| a.id == user.id)
|
.any(|a| a.id == user.id)
|
||||||
{
|
{
|
||||||
return Ok(Redirect::to(
|
return Ok(Flash::error(
|
||||||
uri!(details: blog = blog_name.clone(), slug = slug.clone(), responding_to = _),
|
Redirect::to(
|
||||||
|
uri!(details: blog = blog_name.clone(), slug = slug.clone(), responding_to = _),
|
||||||
|
),
|
||||||
|
i18n!(intl.catalog, "You are not allowed to delete this article."),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -579,13 +588,14 @@ pub fn delete(
|
||||||
.expect("Failed to rotate keypair");
|
.expect("Failed to rotate keypair");
|
||||||
});
|
});
|
||||||
|
|
||||||
Ok(Redirect::to(
|
Ok(Flash::success(
|
||||||
uri!(super::blogs::details: name = blog_name, page = _),
|
Redirect::to(uri!(super::blogs::details: name = blog_name, page = _)),
|
||||||
|
i18n!(intl.catalog, "Your article have been deleted."),
|
||||||
))
|
))
|
||||||
} else {
|
} else {
|
||||||
Ok(Redirect::to(
|
Ok(Flash::error(Redirect::to(
|
||||||
uri!(super::blogs::details: name = blog_name, page = _),
|
uri!(super::blogs::details: name = blog_name, page = _),
|
||||||
))
|
), i18n!(intl.catalog, "It looks like the article you tried to delete doesn't exist. Maybe it is already gone?")))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -594,12 +604,11 @@ pub fn remote_interact(
|
||||||
rockets: PlumeRocket,
|
rockets: PlumeRocket,
|
||||||
blog_name: String,
|
blog_name: String,
|
||||||
slug: String,
|
slug: String,
|
||||||
i18n: I18n,
|
|
||||||
) -> Result<Ructe, ErrorPage> {
|
) -> Result<Ructe, ErrorPage> {
|
||||||
let target = Blog::find_by_fqn(&rockets, &blog_name)
|
let target = Blog::find_by_fqn(&rockets, &blog_name)
|
||||||
.and_then(|blog| Post::find_by_slug(&rockets.conn, &slug, blog.id))?;
|
.and_then(|blog| Post::find_by_slug(&rockets.conn, &slug, blog.id))?;
|
||||||
Ok(render!(posts::remote_interact(
|
Ok(render!(posts::remote_interact(
|
||||||
&(&rockets.conn, &i18n.catalog, None),
|
&rockets.to_context(),
|
||||||
target,
|
target,
|
||||||
super::session::LoginForm::default(),
|
super::session::LoginForm::default(),
|
||||||
ValidationErrors::default(),
|
ValidationErrors::default(),
|
||||||
|
@ -614,7 +623,6 @@ pub fn remote_interact_post(
|
||||||
blog_name: String,
|
blog_name: String,
|
||||||
slug: String,
|
slug: String,
|
||||||
remote: LenientForm<RemoteForm>,
|
remote: LenientForm<RemoteForm>,
|
||||||
i18n: I18n,
|
|
||||||
) -> Result<Result<Ructe, Redirect>, ErrorPage> {
|
) -> Result<Result<Ructe, Redirect>, ErrorPage> {
|
||||||
let target = Blog::find_by_fqn(&rockets, &blog_name)
|
let target = Blog::find_by_fqn(&rockets, &blog_name)
|
||||||
.and_then(|blog| Post::find_by_slug(&rockets.conn, &slug, blog.id))?;
|
.and_then(|blog| Post::find_by_slug(&rockets.conn, &slug, blog.id))?;
|
||||||
|
@ -627,12 +635,12 @@ pub fn remote_interact_post(
|
||||||
let mut errs = ValidationErrors::new();
|
let mut errs = ValidationErrors::new();
|
||||||
errs.add("remote", ValidationError {
|
errs.add("remote", ValidationError {
|
||||||
code: Cow::from("invalid_remote"),
|
code: Cow::from("invalid_remote"),
|
||||||
message: Some(Cow::from(i18n!(&i18n.catalog, "Couldn't obtain enough information about your account. Please make sure your username is correct."))),
|
message: Some(Cow::from(i18n!(rockets.intl.catalog, "Couldn't obtain enough information about your account. Please make sure your username is correct."))),
|
||||||
params: HashMap::new(),
|
params: HashMap::new(),
|
||||||
});
|
});
|
||||||
//could not get your remote url?
|
//could not get your remote url?
|
||||||
Ok(Ok(render!(posts::remote_interact(
|
Ok(Ok(render!(posts::remote_interact(
|
||||||
&(&rockets.conn, &i18n.catalog, None),
|
&rockets.to_context(),
|
||||||
target,
|
target,
|
||||||
super::session::LoginForm::default(),
|
super::session::LoginForm::default(),
|
||||||
ValidationErrors::default(),
|
ValidationErrors::default(),
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
use chrono::offset::Utc;
|
use chrono::offset::Utc;
|
||||||
use rocket::request::Form;
|
use rocket::request::Form;
|
||||||
use rocket_i18n::I18n;
|
|
||||||
|
|
||||||
use plume_models::{db_conn::DbConn, search::Query, users::User};
|
use plume_models::{search::Query, PlumeRocket};
|
||||||
use routes::Page;
|
use routes::Page;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use template_utils::Ructe;
|
use template_utils::{IntoContext, Ructe};
|
||||||
use Searcher;
|
|
||||||
|
|
||||||
#[derive(Default, FromForm)]
|
#[derive(Default, FromForm)]
|
||||||
pub struct SearchQuery {
|
pub struct SearchQuery {
|
||||||
|
@ -52,13 +50,8 @@ macro_rules! param_to_query {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/search?<query..>")]
|
#[get("/search?<query..>")]
|
||||||
pub fn search(
|
pub fn search(query: Option<Form<SearchQuery>>, rockets: PlumeRocket) -> Ructe {
|
||||||
query: Option<Form<SearchQuery>>,
|
let conn = &*rockets.conn;
|
||||||
conn: DbConn,
|
|
||||||
searcher: Searcher,
|
|
||||||
user: Option<User>,
|
|
||||||
intl: I18n,
|
|
||||||
) -> Ructe {
|
|
||||||
let query = query.map(Form::into_inner).unwrap_or_default();
|
let query = query.map(Form::into_inner).unwrap_or_default();
|
||||||
let page = query.page.unwrap_or_default();
|
let page = query.page.unwrap_or_default();
|
||||||
let mut parsed_query =
|
let mut parsed_query =
|
||||||
|
@ -73,14 +66,16 @@ pub fn search(
|
||||||
|
|
||||||
if str_query.is_empty() {
|
if str_query.is_empty() {
|
||||||
render!(search::index(
|
render!(search::index(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
&format!("{}", Utc::today().format("%Y-%m-d"))
|
&format!("{}", Utc::today().format("%Y-%m-d"))
|
||||||
))
|
))
|
||||||
} else {
|
} else {
|
||||||
let res = searcher.search_document(&conn, parsed_query, page.limits());
|
let res = rockets
|
||||||
|
.searcher
|
||||||
|
.search_document(&conn, parsed_query, page.limits());
|
||||||
let next_page = if res.is_empty() { 0 } else { page.0 + 1 };
|
let next_page = if res.is_empty() { 0 } else { page.0 + 1 };
|
||||||
render!(search::result(
|
render!(search::result(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
&str_query,
|
&str_query,
|
||||||
res,
|
res,
|
||||||
page.0,
|
page.0,
|
||||||
|
|
|
@ -2,8 +2,8 @@ use lettre::Transport;
|
||||||
use rocket::http::ext::IntoOwned;
|
use rocket::http::ext::IntoOwned;
|
||||||
use rocket::{
|
use rocket::{
|
||||||
http::{uri::Uri, Cookie, Cookies, SameSite},
|
http::{uri::Uri, Cookie, Cookies, SameSite},
|
||||||
request::{FlashMessage, Form, LenientForm},
|
request::{Form, LenientForm},
|
||||||
response::Redirect,
|
response::{Flash, Redirect},
|
||||||
State,
|
State,
|
||||||
};
|
};
|
||||||
use rocket_i18n::I18n;
|
use rocket_i18n::I18n;
|
||||||
|
@ -12,21 +12,20 @@ use std::{
|
||||||
sync::{Arc, Mutex},
|
sync::{Arc, Mutex},
|
||||||
time::Instant,
|
time::Instant,
|
||||||
};
|
};
|
||||||
use template_utils::Ructe;
|
|
||||||
use validator::{Validate, ValidationError, ValidationErrors};
|
use validator::{Validate, ValidationError, ValidationErrors};
|
||||||
|
|
||||||
use mail::{build_mail, Mailer};
|
use mail::{build_mail, Mailer};
|
||||||
use plume_models::{
|
use plume_models::{
|
||||||
db_conn::DbConn,
|
|
||||||
users::{User, AUTH_COOKIE},
|
users::{User, AUTH_COOKIE},
|
||||||
Error, PlumeRocket, CONFIG,
|
Error, PlumeRocket, CONFIG,
|
||||||
};
|
};
|
||||||
use routes::errors::ErrorPage;
|
use routes::errors::ErrorPage;
|
||||||
|
use template_utils::{IntoContext, Ructe};
|
||||||
|
|
||||||
#[get("/login?<m>")]
|
#[get("/login?<m>")]
|
||||||
pub fn new(user: Option<User>, conn: DbConn, m: Option<String>, intl: I18n) -> Ructe {
|
pub fn new(m: Option<String>, rockets: PlumeRocket) -> Ructe {
|
||||||
render!(session::login(
|
render!(session::login(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
m,
|
m,
|
||||||
&LoginForm::default(),
|
&LoginForm::default(),
|
||||||
ValidationErrors::default()
|
ValidationErrors::default()
|
||||||
|
@ -44,10 +43,9 @@ pub struct LoginForm {
|
||||||
#[post("/login", data = "<form>")]
|
#[post("/login", data = "<form>")]
|
||||||
pub fn create(
|
pub fn create(
|
||||||
form: LenientForm<LoginForm>,
|
form: LenientForm<LoginForm>,
|
||||||
flash: Option<FlashMessage>,
|
|
||||||
mut cookies: Cookies,
|
mut cookies: Cookies,
|
||||||
rockets: PlumeRocket,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Redirect, Ructe> {
|
) -> Result<Flash<Redirect>, Ructe> {
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let user = User::find_by_email(&*conn, &form.email_or_name)
|
let user = User::find_by_email(&*conn, &form.email_or_name)
|
||||||
.or_else(|_| User::find_by_fqn(&rockets, &form.email_or_name));
|
.or_else(|_| User::find_by_fqn(&rockets, &form.email_or_name));
|
||||||
|
@ -84,31 +82,38 @@ pub fn create(
|
||||||
.same_site(SameSite::Lax)
|
.same_site(SameSite::Lax)
|
||||||
.finish(),
|
.finish(),
|
||||||
);
|
);
|
||||||
let destination = flash
|
let destination = rockets
|
||||||
.and_then(|f| {
|
.flash_msg
|
||||||
if f.name() == "callback" {
|
.clone()
|
||||||
Some(f.msg().to_owned())
|
.and_then(
|
||||||
} else {
|
|(name, msg)| {
|
||||||
None
|
if name == "callback" {
|
||||||
}
|
Some(msg)
|
||||||
})
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
},
|
||||||
|
)
|
||||||
.unwrap_or_else(|| "/".to_owned());
|
.unwrap_or_else(|| "/".to_owned());
|
||||||
|
|
||||||
let uri = Uri::parse(&destination)
|
let uri = Uri::parse(&destination)
|
||||||
.map(IntoOwned::into_owned)
|
.map(IntoOwned::into_owned)
|
||||||
.map_err(|_| {
|
.map_err(|_| {
|
||||||
render!(session::login(
|
render!(session::login(
|
||||||
&(&*conn, &rockets.intl.catalog, None),
|
&(conn, &rockets.intl.catalog, None, None),
|
||||||
None,
|
None,
|
||||||
&*form,
|
&*form,
|
||||||
errors
|
errors
|
||||||
))
|
))
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
Ok(Redirect::to(uri))
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri),
|
||||||
|
i18n!(&rockets.intl.catalog, "You are now connected."),
|
||||||
|
))
|
||||||
} else {
|
} else {
|
||||||
Err(render!(session::login(
|
Err(render!(session::login(
|
||||||
&(&*conn, &rockets.intl.catalog, None),
|
&rockets.to_context(),
|
||||||
None,
|
None,
|
||||||
&*form,
|
&*form,
|
||||||
errors
|
errors
|
||||||
|
@ -117,11 +122,14 @@ pub fn create(
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/logout")]
|
#[get("/logout")]
|
||||||
pub fn delete(mut cookies: Cookies) -> Redirect {
|
pub fn delete(mut cookies: Cookies, intl: I18n) -> Flash<Redirect> {
|
||||||
if let Some(cookie) = cookies.get_private(AUTH_COOKIE) {
|
if let Some(cookie) = cookies.get_private(AUTH_COOKIE) {
|
||||||
cookies.remove_private(cookie);
|
cookies.remove_private(cookie);
|
||||||
}
|
}
|
||||||
Redirect::to("/")
|
Flash::success(
|
||||||
|
Redirect::to("/"),
|
||||||
|
i18n!(intl.catalog, "You are now logged off."),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
@ -138,9 +146,9 @@ impl PartialEq for ResetRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/password-reset")]
|
#[get("/password-reset")]
|
||||||
pub fn password_reset_request_form(conn: DbConn, intl: I18n) -> Ructe {
|
pub fn password_reset_request_form(rockets: PlumeRocket) -> Ructe {
|
||||||
render!(session::password_reset_request(
|
render!(session::password_reset_request(
|
||||||
&(&*conn, &intl.catalog, None),
|
&rockets.to_context(),
|
||||||
&ResetForm::default(),
|
&ResetForm::default(),
|
||||||
ValidationErrors::default()
|
ValidationErrors::default()
|
||||||
))
|
))
|
||||||
|
@ -154,17 +162,16 @@ pub struct ResetForm {
|
||||||
|
|
||||||
#[post("/password-reset", data = "<form>")]
|
#[post("/password-reset", data = "<form>")]
|
||||||
pub fn password_reset_request(
|
pub fn password_reset_request(
|
||||||
conn: DbConn,
|
|
||||||
intl: I18n,
|
|
||||||
mail: State<Arc<Mutex<Mailer>>>,
|
mail: State<Arc<Mutex<Mailer>>>,
|
||||||
form: Form<ResetForm>,
|
form: Form<ResetForm>,
|
||||||
requests: State<Arc<Mutex<Vec<ResetRequest>>>>,
|
requests: State<Arc<Mutex<Vec<ResetRequest>>>>,
|
||||||
|
rockets: PlumeRocket,
|
||||||
) -> Ructe {
|
) -> Ructe {
|
||||||
let mut requests = requests.lock().unwrap();
|
let mut requests = requests.lock().unwrap();
|
||||||
// Remove outdated requests (more than 1 day old) to avoid the list to grow too much
|
// Remove outdated requests (more than 1 day old) to avoid the list to grow too much
|
||||||
requests.retain(|r| r.creation_date.elapsed().as_secs() < 24 * 60 * 60);
|
requests.retain(|r| r.creation_date.elapsed().as_secs() < 24 * 60 * 60);
|
||||||
|
|
||||||
if User::find_by_email(&*conn, &form.email).is_ok()
|
if User::find_by_email(&*rockets.conn, &form.email).is_ok()
|
||||||
&& !requests.iter().any(|x| x.mail == form.email.clone())
|
&& !requests.iter().any(|x| x.mail == form.email.clone())
|
||||||
{
|
{
|
||||||
let id = plume_common::utils::random_hex();
|
let id = plume_common::utils::random_hex();
|
||||||
|
@ -178,8 +185,8 @@ pub fn password_reset_request(
|
||||||
let link = format!("https://{}/password-reset/{}", CONFIG.base_url, id);
|
let link = format!("https://{}/password-reset/{}", CONFIG.base_url, id);
|
||||||
if let Some(message) = build_mail(
|
if let Some(message) = build_mail(
|
||||||
form.email.clone(),
|
form.email.clone(),
|
||||||
i18n!(intl.catalog, "Password reset"),
|
i18n!(rockets.intl.catalog, "Password reset"),
|
||||||
i18n!(intl.catalog, "Here is the link to reset your password: {0}"; link),
|
i18n!(rockets.intl.catalog, "Here is the link to reset your password: {0}"; link),
|
||||||
) {
|
) {
|
||||||
if let Some(ref mut mail) = *mail.lock().unwrap() {
|
if let Some(ref mut mail) = *mail.lock().unwrap() {
|
||||||
mail.send(message.into())
|
mail.send(message.into())
|
||||||
|
@ -188,19 +195,14 @@ pub fn password_reset_request(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
render!(session::password_reset_request_ok(&(
|
render!(session::password_reset_request_ok(&rockets.to_context()))
|
||||||
&*conn,
|
|
||||||
&intl.catalog,
|
|
||||||
None
|
|
||||||
)))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/password-reset/<token>")]
|
#[get("/password-reset/<token>")]
|
||||||
pub fn password_reset_form(
|
pub fn password_reset_form(
|
||||||
conn: DbConn,
|
|
||||||
intl: I18n,
|
|
||||||
token: String,
|
token: String,
|
||||||
requests: State<Arc<Mutex<Vec<ResetRequest>>>>,
|
requests: State<Arc<Mutex<Vec<ResetRequest>>>>,
|
||||||
|
rockets: PlumeRocket,
|
||||||
) -> Result<Ructe, ErrorPage> {
|
) -> Result<Ructe, ErrorPage> {
|
||||||
requests
|
requests
|
||||||
.lock()
|
.lock()
|
||||||
|
@ -209,7 +211,7 @@ pub fn password_reset_form(
|
||||||
.find(|x| x.id == token.clone())
|
.find(|x| x.id == token.clone())
|
||||||
.ok_or(Error::NotFound)?;
|
.ok_or(Error::NotFound)?;
|
||||||
Ok(render!(session::password_reset(
|
Ok(render!(session::password_reset(
|
||||||
&(&*conn, &intl.catalog, None),
|
&rockets.to_context(),
|
||||||
&NewPasswordForm::default(),
|
&NewPasswordForm::default(),
|
||||||
ValidationErrors::default()
|
ValidationErrors::default()
|
||||||
)))
|
)))
|
||||||
|
@ -236,12 +238,11 @@ fn passwords_match(form: &NewPasswordForm) -> Result<(), ValidationError> {
|
||||||
|
|
||||||
#[post("/password-reset/<token>", data = "<form>")]
|
#[post("/password-reset/<token>", data = "<form>")]
|
||||||
pub fn password_reset(
|
pub fn password_reset(
|
||||||
conn: DbConn,
|
|
||||||
intl: I18n,
|
|
||||||
token: String,
|
token: String,
|
||||||
requests: State<Arc<Mutex<Vec<ResetRequest>>>>,
|
requests: State<Arc<Mutex<Vec<ResetRequest>>>>,
|
||||||
form: Form<NewPasswordForm>,
|
form: Form<NewPasswordForm>,
|
||||||
) -> Result<Redirect, Ructe> {
|
rockets: PlumeRocket,
|
||||||
|
) -> Result<Flash<Redirect>, Ructe> {
|
||||||
form.validate()
|
form.validate()
|
||||||
.and_then(|_| {
|
.and_then(|_| {
|
||||||
let mut requests = requests.lock().unwrap();
|
let mut requests = requests.lock().unwrap();
|
||||||
|
@ -253,24 +254,30 @@ pub fn password_reset(
|
||||||
if req.creation_date.elapsed().as_secs() < 60 * 60 * 2 {
|
if req.creation_date.elapsed().as_secs() < 60 * 60 * 2 {
|
||||||
// Reset link is only valid for 2 hours
|
// Reset link is only valid for 2 hours
|
||||||
requests.retain(|r| *r != req);
|
requests.retain(|r| *r != req);
|
||||||
let user = User::find_by_email(&*conn, &req.mail).map_err(to_validation)?;
|
let user = User::find_by_email(&*rockets.conn, &req.mail).map_err(to_validation)?;
|
||||||
user.reset_password(&*conn, &form.password).ok();
|
user.reset_password(&*rockets.conn, &form.password).ok();
|
||||||
Ok(Redirect::to(uri!(
|
Ok(Flash::success(
|
||||||
new: m = i18n!(intl.catalog, "Your password was successfully reset.")
|
Redirect::to(uri!(
|
||||||
)))
|
new: m = _
|
||||||
|
)),
|
||||||
|
i18n!(
|
||||||
|
rockets.intl.catalog,
|
||||||
|
"Your password was successfully reset."
|
||||||
|
),
|
||||||
|
))
|
||||||
} else {
|
} else {
|
||||||
Ok(Redirect::to(uri!(
|
Ok(Flash::error(
|
||||||
new: m = i18n!(intl.catalog, "Sorry, but the link expired. Try again")
|
Redirect::to(uri!(
|
||||||
)))
|
new: m = _
|
||||||
|
)),
|
||||||
|
i18n!(
|
||||||
|
rockets.intl.catalog,
|
||||||
|
"Sorry, but the link expired. Try again"
|
||||||
|
),
|
||||||
|
))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.map_err(|err| {
|
.map_err(|err| render!(session::password_reset(&rockets.to_context(), &form, err)))
|
||||||
render!(session::password_reset(
|
|
||||||
&(&*conn, &intl.catalog, None),
|
|
||||||
&form,
|
|
||||||
err
|
|
||||||
))
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn to_validation<T>(_: T) -> ValidationErrors {
|
fn to_validation<T>(_: T) -> ValidationErrors {
|
||||||
|
|
|
@ -1,24 +1,16 @@
|
||||||
use rocket_i18n::I18n;
|
use plume_models::{posts::Post, PlumeRocket};
|
||||||
|
|
||||||
use plume_models::{db_conn::DbConn, posts::Post, users::User};
|
|
||||||
use routes::{errors::ErrorPage, Page};
|
use routes::{errors::ErrorPage, Page};
|
||||||
use template_utils::Ructe;
|
use template_utils::{IntoContext, Ructe};
|
||||||
|
|
||||||
#[get("/tag/<name>?<page>")]
|
#[get("/tag/<name>?<page>")]
|
||||||
pub fn tag(
|
pub fn tag(name: String, page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
user: Option<User>,
|
|
||||||
conn: DbConn,
|
|
||||||
name: String,
|
|
||||||
page: Option<Page>,
|
|
||||||
intl: I18n,
|
|
||||||
) -> Result<Ructe, ErrorPage> {
|
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
let posts = Post::list_by_tag(&*conn, name.clone(), page.limits())?;
|
let posts = Post::list_by_tag(&*rockets.conn, name.clone(), page.limits())?;
|
||||||
Ok(render!(tags::index(
|
Ok(render!(tags::index(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
name.clone(),
|
name.clone(),
|
||||||
posts,
|
posts,
|
||||||
page.0,
|
page.0,
|
||||||
Page::total(Post::count_for_tag(&*conn, name)? as i32)
|
Page::total(Post::count_for_tag(&*rockets.conn, name)? as i32)
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ use plume_models::{
|
||||||
Error, PlumeRocket,
|
Error, PlumeRocket,
|
||||||
};
|
};
|
||||||
use routes::{errors::ErrorPage, Page, RemoteForm};
|
use routes::{errors::ErrorPage, Page, RemoteForm};
|
||||||
use template_utils::Ructe;
|
use template_utils::{IntoContext, Ructe};
|
||||||
|
|
||||||
#[get("/me")]
|
#[get("/me")]
|
||||||
pub fn me(user: Option<User>) -> Result<Redirect, Flash<Redirect>> {
|
pub fn me(user: Option<User>) -> Result<Redirect, Flash<Redirect>> {
|
||||||
|
@ -48,7 +48,7 @@ pub fn details(
|
||||||
let user = User::find_by_fqn(&rockets, &name)?;
|
let user = User::find_by_fqn(&rockets, &name)?;
|
||||||
let recents = Post::get_recents_for_author(&*conn, &user, 6)?;
|
let recents = Post::get_recents_for_author(&*conn, &user, 6)?;
|
||||||
let reshares = Reshare::get_recents_for_author(&*conn, &user, 6)?;
|
let reshares = Reshare::get_recents_for_author(&*conn, &user, 6)?;
|
||||||
let worker = rockets.worker;
|
let worker = &rockets.worker;
|
||||||
|
|
||||||
if !user.get_instance(&*conn)?.local {
|
if !user.get_instance(&*conn)?.local {
|
||||||
// Fetch new articles
|
// Fetch new articles
|
||||||
|
@ -101,12 +101,12 @@ pub fn details(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let account = rockets.user;
|
|
||||||
let intl = rockets.intl;
|
|
||||||
Ok(render!(users::details(
|
Ok(render!(users::details(
|
||||||
&(&*conn, &intl.catalog, account.clone()),
|
&rockets.to_context(),
|
||||||
user.clone(),
|
user.clone(),
|
||||||
account
|
rockets
|
||||||
|
.user
|
||||||
|
.clone()
|
||||||
.and_then(|x| x.is_following(&*conn, user.id).ok())
|
.and_then(|x| x.is_following(&*conn, user.id).ok())
|
||||||
.unwrap_or(false),
|
.unwrap_or(false),
|
||||||
user.instance_id != Instance::get_local(&*conn)?.id,
|
user.instance_id != Instance::get_local(&*conn)?.id,
|
||||||
|
@ -120,12 +120,12 @@ pub fn details(
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/dashboard")]
|
#[get("/dashboard")]
|
||||||
pub fn dashboard(user: User, conn: DbConn, intl: I18n) -> Result<Ructe, ErrorPage> {
|
pub fn dashboard(user: User, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
let blogs = Blog::find_for_author(&*conn, &user)?;
|
let blogs = Blog::find_for_author(&*rockets.conn, &user)?;
|
||||||
Ok(render!(users::dashboard(
|
Ok(render!(users::dashboard(
|
||||||
&(&*conn, &intl.catalog, Some(user.clone())),
|
&rockets.to_context(),
|
||||||
blogs,
|
blogs,
|
||||||
Post::drafts_by_author(&*conn, &user)?
|
Post::drafts_by_author(&*rockets.conn, &user)?
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,19 +141,25 @@ pub fn dashboard_auth(i18n: I18n) -> Flash<Redirect> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/@/<name>/follow")]
|
#[post("/@/<name>/follow")]
|
||||||
pub fn follow(name: String, user: User, rockets: PlumeRocket) -> Result<Redirect, ErrorPage> {
|
pub fn follow(
|
||||||
|
name: String,
|
||||||
|
user: User,
|
||||||
|
rockets: PlumeRocket,
|
||||||
|
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let target = User::find_by_fqn(&rockets, &name)?;
|
let target = User::find_by_fqn(&rockets, &name)?;
|
||||||
if let Ok(follow) = follows::Follow::find(&*conn, user.id, target.id) {
|
let message = if let Ok(follow) = follows::Follow::find(&*conn, user.id, target.id) {
|
||||||
let delete_act = follow.build_undo(&*conn)?;
|
let delete_act = follow.build_undo(&*conn)?;
|
||||||
local_inbox(
|
local_inbox(
|
||||||
&rockets,
|
&rockets,
|
||||||
serde_json::to_value(&delete_act).map_err(Error::from)?,
|
serde_json::to_value(&delete_act).map_err(Error::from)?,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
|
let msg = i18n!(rockets.intl.catalog, "You are no longer following {}."; target.name());
|
||||||
rockets
|
rockets
|
||||||
.worker
|
.worker
|
||||||
.execute(move || broadcast(&user, delete_act, vec![target]));
|
.execute(move || broadcast(&user, delete_act, vec![target]));
|
||||||
|
msg
|
||||||
} else {
|
} else {
|
||||||
let f = follows::Follow::insert(
|
let f = follows::Follow::insert(
|
||||||
&*conn,
|
&*conn,
|
||||||
|
@ -166,11 +172,16 @@ pub fn follow(name: String, user: User, rockets: PlumeRocket) -> Result<Redirect
|
||||||
f.notify(&*conn)?;
|
f.notify(&*conn)?;
|
||||||
|
|
||||||
let act = f.to_activity(&*conn)?;
|
let act = f.to_activity(&*conn)?;
|
||||||
|
let msg = i18n!(rockets.intl.catalog, "You are now following {}."; target.name());
|
||||||
rockets
|
rockets
|
||||||
.worker
|
.worker
|
||||||
.execute(move || broadcast(&user, act, vec![target]));
|
.execute(move || broadcast(&user, act, vec![target]));
|
||||||
}
|
msg
|
||||||
Ok(Redirect::to(uri!(details: name = name)))
|
};
|
||||||
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(details: name = name)),
|
||||||
|
message,
|
||||||
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/@/<name>/follow", data = "<remote_form>", rank = 2)]
|
#[post("/@/<name>/follow", data = "<remote_form>", rank = 2)]
|
||||||
|
@ -209,7 +220,7 @@ pub fn follow_not_connected(
|
||||||
);
|
);
|
||||||
Ok(Ok(Flash::new(
|
Ok(Ok(Flash::new(
|
||||||
render!(users::follow_remote(
|
render!(users::follow_remote(
|
||||||
&(&rockets.conn, &i18n.catalog, None),
|
&rockets.to_context(),
|
||||||
target,
|
target,
|
||||||
super::session::LoginForm::default(),
|
super::session::LoginForm::default(),
|
||||||
ValidationErrors::default(),
|
ValidationErrors::default(),
|
||||||
|
@ -223,7 +234,7 @@ pub fn follow_not_connected(
|
||||||
} else {
|
} else {
|
||||||
Ok(Ok(Flash::new(
|
Ok(Ok(Flash::new(
|
||||||
render!(users::follow_remote(
|
render!(users::follow_remote(
|
||||||
&(&rockets.conn, &i18n.catalog, None),
|
&rockets.to_context(),
|
||||||
target,
|
target,
|
||||||
super::session::LoginForm::default(),
|
super::session::LoginForm::default(),
|
||||||
ValidationErrors::default(),
|
ValidationErrors::default(),
|
||||||
|
@ -260,10 +271,11 @@ pub fn followers(
|
||||||
let followers_count = user.count_followers(&*conn)?;
|
let followers_count = user.count_followers(&*conn)?;
|
||||||
|
|
||||||
Ok(render!(users::followers(
|
Ok(render!(users::followers(
|
||||||
&(&*conn, &rockets.intl.catalog, rockets.user.clone()),
|
&rockets.to_context(),
|
||||||
user.clone(),
|
user.clone(),
|
||||||
rockets
|
rockets
|
||||||
.user
|
.user
|
||||||
|
.clone()
|
||||||
.and_then(|x| x.is_following(&*conn, user.id).ok())
|
.and_then(|x| x.is_following(&*conn, user.id).ok())
|
||||||
.unwrap_or(false),
|
.unwrap_or(false),
|
||||||
user.instance_id != Instance::get_local(&*conn)?.id,
|
user.instance_id != Instance::get_local(&*conn)?.id,
|
||||||
|
@ -283,18 +295,19 @@ pub fn followed(
|
||||||
let conn = &*rockets.conn;
|
let conn = &*rockets.conn;
|
||||||
let page = page.unwrap_or_default();
|
let page = page.unwrap_or_default();
|
||||||
let user = User::find_by_fqn(&rockets, &name)?;
|
let user = User::find_by_fqn(&rockets, &name)?;
|
||||||
let followed_count = user.count_followed(&*conn)?;
|
let followed_count = user.count_followed(conn)?;
|
||||||
|
|
||||||
Ok(render!(users::followed(
|
Ok(render!(users::followed(
|
||||||
&(&*conn, &rockets.intl.catalog, rockets.user.clone()),
|
&rockets.to_context(),
|
||||||
user.clone(),
|
user.clone(),
|
||||||
rockets
|
rockets
|
||||||
.user
|
.user
|
||||||
.and_then(|x| x.is_following(&*conn, user.id).ok())
|
.clone()
|
||||||
|
.and_then(|x| x.is_following(conn, user.id).ok())
|
||||||
.unwrap_or(false),
|
.unwrap_or(false),
|
||||||
user.instance_id != Instance::get_local(&*conn)?.id,
|
user.instance_id != Instance::get_local(conn)?.id,
|
||||||
user.get_instance(&*conn)?.public_domain,
|
user.get_instance(conn)?.public_domain,
|
||||||
user.get_followed_page(&*conn, page.limits())?,
|
user.get_followed_page(conn, page.limits())?,
|
||||||
page.0,
|
page.0,
|
||||||
Page::total(followed_count as i32)
|
Page::total(followed_count as i32)
|
||||||
)))
|
)))
|
||||||
|
@ -311,20 +324,20 @@ pub fn activity_details(
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/users/new")]
|
#[get("/users/new")]
|
||||||
pub fn new(user: Option<User>, conn: DbConn, intl: I18n) -> Result<Ructe, ErrorPage> {
|
pub fn new(rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
Ok(render!(users::new(
|
Ok(render!(users::new(
|
||||||
&(&*conn, &intl.catalog, user),
|
&rockets.to_context(),
|
||||||
Instance::get_local(&*conn)?.open_registrations,
|
Instance::get_local(&*rockets.conn)?.open_registrations,
|
||||||
&NewUserForm::default(),
|
&NewUserForm::default(),
|
||||||
ValidationErrors::default()
|
ValidationErrors::default()
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/@/<name>/edit")]
|
#[get("/@/<name>/edit")]
|
||||||
pub fn edit(name: String, user: User, conn: DbConn, intl: I18n) -> Result<Ructe, ErrorPage> {
|
pub fn edit(name: String, user: User, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||||
if user.username == name && !name.contains('@') {
|
if user.username == name && !name.contains('@') {
|
||||||
Ok(render!(users::edit(
|
Ok(render!(users::edit(
|
||||||
&(&*conn, &intl.catalog, Some(user.clone())),
|
&rockets.to_context(),
|
||||||
UpdateUserForm {
|
UpdateUserForm {
|
||||||
display_name: user.display_name.clone(),
|
display_name: user.display_name.clone(),
|
||||||
email: user.email.clone().unwrap_or_default(),
|
email: user.email.clone().unwrap_or_default(),
|
||||||
|
@ -361,7 +374,8 @@ pub fn update(
|
||||||
conn: DbConn,
|
conn: DbConn,
|
||||||
user: User,
|
user: User,
|
||||||
form: LenientForm<UpdateUserForm>,
|
form: LenientForm<UpdateUserForm>,
|
||||||
) -> Result<Redirect, ErrorPage> {
|
intl: I18n,
|
||||||
|
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||||
user.update(
|
user.update(
|
||||||
&*conn,
|
&*conn,
|
||||||
if !form.display_name.is_empty() {
|
if !form.display_name.is_empty() {
|
||||||
|
@ -380,7 +394,10 @@ pub fn update(
|
||||||
user.summary.to_string()
|
user.summary.to_string()
|
||||||
},
|
},
|
||||||
)?;
|
)?;
|
||||||
Ok(Redirect::to(uri!(me)))
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(me)),
|
||||||
|
i18n!(intl.catalog, "Your profile have been updated."),
|
||||||
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/@/<name>/delete")]
|
#[post("/@/<name>/delete")]
|
||||||
|
@ -389,7 +406,7 @@ pub fn delete(
|
||||||
user: User,
|
user: User,
|
||||||
mut cookies: Cookies,
|
mut cookies: Cookies,
|
||||||
rockets: PlumeRocket,
|
rockets: PlumeRocket,
|
||||||
) -> Result<Redirect, ErrorPage> {
|
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||||
let account = User::find_by_fqn(&rockets, &name)?;
|
let account = User::find_by_fqn(&rockets, &name)?;
|
||||||
if user.id == account.id {
|
if user.id == account.id {
|
||||||
account.delete(&*rockets.conn, &rockets.searcher)?;
|
account.delete(&*rockets.conn, &rockets.searcher)?;
|
||||||
|
@ -404,9 +421,18 @@ pub fn delete(
|
||||||
cookies.remove_private(cookie);
|
cookies.remove_private(cookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(Redirect::to(uri!(super::instance::index)))
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(super::instance::index)),
|
||||||
|
i18n!(rockets.intl.catalog, "Your account have been deleted."),
|
||||||
|
))
|
||||||
} else {
|
} else {
|
||||||
Ok(Redirect::to(uri!(edit: name = name)))
|
Ok(Flash::error(
|
||||||
|
Redirect::to(uri!(edit: name = name)),
|
||||||
|
i18n!(
|
||||||
|
rockets.intl.catalog,
|
||||||
|
"You can't delete someone else's account."
|
||||||
|
),
|
||||||
|
))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -463,12 +489,22 @@ fn to_validation(_: Error) -> ValidationErrors {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/users/new", data = "<form>")]
|
#[post("/users/new", data = "<form>")]
|
||||||
pub fn create(conn: DbConn, form: LenientForm<NewUserForm>, intl: I18n) -> Result<Redirect, Ructe> {
|
pub fn create(
|
||||||
if !Instance::get_local(&*conn)
|
form: LenientForm<NewUserForm>,
|
||||||
|
rockets: PlumeRocket,
|
||||||
|
) -> Result<Flash<Redirect>, Ructe> {
|
||||||
|
let conn = &*rockets.conn;
|
||||||
|
if !Instance::get_local(conn)
|
||||||
.map(|i| i.open_registrations)
|
.map(|i| i.open_registrations)
|
||||||
.unwrap_or(true)
|
.unwrap_or(true)
|
||||||
{
|
{
|
||||||
return Ok(Redirect::to(uri!(new))); // Actually, it is an error
|
return Ok(Flash::error(
|
||||||
|
Redirect::to(uri!(new)),
|
||||||
|
i18n!(
|
||||||
|
rockets.intl.catalog,
|
||||||
|
"Registrations are closed on this instance."
|
||||||
|
),
|
||||||
|
)); // Actually, it is an error
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut form = form.into_inner();
|
let mut form = form.into_inner();
|
||||||
|
@ -477,7 +513,7 @@ pub fn create(conn: DbConn, form: LenientForm<NewUserForm>, intl: I18n) -> Resul
|
||||||
form.validate()
|
form.validate()
|
||||||
.and_then(|_| {
|
.and_then(|_| {
|
||||||
NewUser::new_local(
|
NewUser::new_local(
|
||||||
&*conn,
|
conn,
|
||||||
form.username.to_string(),
|
form.username.to_string(),
|
||||||
form.username.to_string(),
|
form.username.to_string(),
|
||||||
false,
|
false,
|
||||||
|
@ -486,12 +522,18 @@ pub fn create(conn: DbConn, form: LenientForm<NewUserForm>, intl: I18n) -> Resul
|
||||||
User::hash_pass(&form.password).map_err(to_validation)?,
|
User::hash_pass(&form.password).map_err(to_validation)?,
|
||||||
)
|
)
|
||||||
.map_err(to_validation)?;
|
.map_err(to_validation)?;
|
||||||
Ok(Redirect::to(uri!(super::session::new: m = _)))
|
Ok(Flash::success(
|
||||||
|
Redirect::to(uri!(super::session::new: m = _)),
|
||||||
|
i18n!(
|
||||||
|
rockets.intl.catalog,
|
||||||
|
"Your account have been created. You just need to login before you can use it."
|
||||||
|
),
|
||||||
|
))
|
||||||
})
|
})
|
||||||
.map_err(|err| {
|
.map_err(|err| {
|
||||||
render!(users::new(
|
render!(users::new(
|
||||||
&(&*conn, &intl.catalog, None),
|
&rockets.to_context(),
|
||||||
Instance::get_local(&*conn)
|
Instance::get_local(conn)
|
||||||
.map(|i| i.open_registrations)
|
.map(|i| i.open_registrations)
|
||||||
.unwrap_or(true),
|
.unwrap_or(true),
|
||||||
&form,
|
&form,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use plume_models::{notifications::*, users::User, Connection};
|
use plume_models::{notifications::*, users::User, Connection, PlumeRocket};
|
||||||
|
|
||||||
use rocket::http::hyper::header::{ETag, EntityTag};
|
use rocket::http::hyper::header::{ETag, EntityTag};
|
||||||
use rocket::http::{Method, Status};
|
use rocket::http::{Method, Status};
|
||||||
|
@ -13,7 +13,41 @@ pub use askama_escape::escape;
|
||||||
|
|
||||||
pub static CACHE_NAME: &str = env!("CACHE_ID");
|
pub static CACHE_NAME: &str = env!("CACHE_ID");
|
||||||
|
|
||||||
pub type BaseContext<'a> = &'a (&'a Connection, &'a Catalog, Option<User>);
|
pub type BaseContext<'a> = &'a (
|
||||||
|
&'a Connection,
|
||||||
|
&'a Catalog,
|
||||||
|
Option<User>,
|
||||||
|
Option<(String, String)>,
|
||||||
|
);
|
||||||
|
|
||||||
|
pub trait IntoContext {
|
||||||
|
fn to_context(
|
||||||
|
&self,
|
||||||
|
) -> (
|
||||||
|
&Connection,
|
||||||
|
&Catalog,
|
||||||
|
Option<User>,
|
||||||
|
Option<(String, String)>,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
impl IntoContext for PlumeRocket {
|
||||||
|
fn to_context(
|
||||||
|
&self,
|
||||||
|
) -> (
|
||||||
|
&Connection,
|
||||||
|
&Catalog,
|
||||||
|
Option<User>,
|
||||||
|
Option<(String, String)>,
|
||||||
|
) {
|
||||||
|
(
|
||||||
|
&*self.conn,
|
||||||
|
&self.intl.catalog,
|
||||||
|
self.user.clone(),
|
||||||
|
self.flash_msg.clone(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct Ructe(pub Vec<u8>);
|
pub struct Ructe(pub Vec<u8>);
|
||||||
|
|
|
@ -76,15 +76,28 @@ header {
|
||||||
|
|
||||||
.messages {
|
.messages {
|
||||||
& > * {
|
& > * {
|
||||||
padding: 1em 20%;
|
padding: 1em 20%;
|
||||||
|
margin: 0;
|
||||||
|
max-width: initial;
|
||||||
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
p.error {
|
p.error {
|
||||||
color: $red;
|
color: darken($red, 20%);
|
||||||
background: lighten($red, 40%);
|
background: lighten($red, 40%);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
max-width: initial;
|
max-width: initial;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p.warning {
|
||||||
|
color: darken($yellow, 20%);
|
||||||
|
background: lighten($yellow, 40%);
|
||||||
|
}
|
||||||
|
|
||||||
|
p.success {
|
||||||
|
color: darken($green, 20%);
|
||||||
|
background: lighten($green, 40%);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only enable label animations on normal screens
|
// Only enable label animations on normal screens
|
||||||
|
|
|
@ -8,6 +8,8 @@ $white: #F4F4F4;
|
||||||
$purple: #7765E3;
|
$purple: #7765E3;
|
||||||
$lightpurple: #c2bbee;
|
$lightpurple: #c2bbee;
|
||||||
$red: #E92F2F;
|
$red: #E92F2F;
|
||||||
|
$yellow: #ffe347;
|
||||||
|
$green: #23f0c7;
|
||||||
|
|
||||||
// Fonts
|
// Fonts
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,11 @@
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
<div class="messages">
|
||||||
|
@if let Some(ref message) = ctx.3 {
|
||||||
|
<p class="flash-message @message.0">@message.1</p>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
<main>
|
<main>
|
||||||
@:content()
|
@:content()
|
||||||
</main>
|
</main>
|
||||||
|
|
Loading…
Reference in a new issue