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
@ -6,7 +6,7 @@ mod module {
|
||||
use crate::search;
|
||||
use crate::users;
|
||||
use rocket::{
|
||||
request::{self, FromRequest, Request},
|
||||
request::{self, FlashMessage, FromRequest, Request},
|
||||
Outcome, State,
|
||||
};
|
||||
use scheduled_thread_pool::ScheduledThreadPool;
|
||||
@ -19,6 +19,7 @@ mod module {
|
||||
pub user: Option<users::User>,
|
||||
pub searcher: Arc<search::Searcher>,
|
||||
pub worker: Arc<ScheduledThreadPool>,
|
||||
pub flash_msg: Option<(String, String)>,
|
||||
}
|
||||
|
||||
impl<'a, 'r> FromRequest<'a, 'r> for PlumeRocket {
|
||||
@ -30,10 +31,12 @@ mod module {
|
||||
let user = request.guard::<users::User>().succeeded();
|
||||
let worker = request.guard::<State<Arc<ScheduledThreadPool>>>()?;
|
||||
let searcher = request.guard::<State<Arc<search::Searcher>>>()?;
|
||||
let flash_msg = request.guard::<FlashMessage>().succeeded();
|
||||
Outcome::Success(PlumeRocket {
|
||||
conn,
|
||||
intl,
|
||||
user,
|
||||
flash_msg: flash_msg.map(|f| (f.name().into(), f.msg().into())),
|
||||
worker: worker.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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr "لا يسمح لك بحذف هذه المدونة."
|
||||
@ -65,10 +74,56 @@ msgstr "لا يمكنك استخدام هذه الوسائط كأيقونة لل
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "يجب عليك تسجيل الدخول أولا لعرض الإشعارات"
|
||||
@ -93,6 +148,34 @@ msgstr "منشور جديد"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "You are now connected."
|
||||
msgstr "ليست لديك التصريحات اللازمة للقيام بذلك."
|
||||
|
||||
#, fuzzy
|
||||
msgid "You are now logged off."
|
||||
msgstr "ليست لديك التصريحات اللازمة للقيام بذلك."
|
||||
|
||||
# src/routes/session.rs:181
|
||||
msgid "Password reset"
|
||||
msgstr "إعادة تعيين كلمة المرور"
|
||||
@ -123,6 +214,14 @@ msgstr "عذراً، ولكن انتهت مدة صلاحية الرابط. حا
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -131,6 +230,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr ""
|
||||
@ -64,10 +72,56 @@ msgstr ""
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -92,6 +146,34 @@ msgstr "Нова публикация"
|
||||
msgid "Edit {0}"
|
||||
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
|
||||
msgid ""
|
||||
"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"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "You are now connected."
|
||||
msgstr "Не сте упълномощени."
|
||||
|
||||
#, fuzzy
|
||||
msgid "You are now logged off."
|
||||
msgstr "Не сте упълномощени."
|
||||
|
||||
# src/routes/session.rs:181
|
||||
msgid "Password reset"
|
||||
msgstr ""
|
||||
@ -122,6 +212,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -130,6 +228,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr ""
|
||||
@ -64,10 +72,54 @@ msgstr ""
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -92,6 +144,32 @@ msgstr "Apunt nou"
|
||||
msgid "Edit {0}"
|
||||
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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
msgstr "Reinicialització de contrasenya"
|
||||
@ -122,6 +208,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -130,6 +224,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this 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."
|
||||
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
|
||||
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"
|
||||
|
||||
# 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
|
||||
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"
|
||||
@ -92,6 +147,34 @@ msgstr "Nový příspěvek"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
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"
|
||||
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
|
||||
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"
|
||||
@ -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"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "Um Ihre Benachrichtigungen zu sehen, müssen Sie angemeldet sein"
|
||||
@ -92,6 +147,34 @@ msgstr "Neuer Beitrag"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
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"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
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"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr ""
|
||||
@ -64,10 +72,54 @@ msgstr ""
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -92,6 +144,32 @@ msgstr ""
|
||||
msgid "Edit {0}"
|
||||
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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
msgstr ""
|
||||
@ -122,6 +208,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -130,6 +224,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr ""
|
||||
@ -64,10 +72,56 @@ msgstr ""
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -92,6 +146,34 @@ msgstr "Nova skribaĵo"
|
||||
msgid "Edit {0}"
|
||||
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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
msgstr ""
|
||||
@ -122,6 +212,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -130,6 +228,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "Para ver tus notificaciones, necesitas estar conectado"
|
||||
@ -92,6 +147,34 @@ msgstr "Nueva publicación"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
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"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
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"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this 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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "Vous devez vous connecter pour voir vos notifications"
|
||||
@ -92,6 +147,34 @@ msgstr "Nouvel article"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
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"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
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"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this 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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "Para ver as súas notificacións, debe estar conectada"
|
||||
@ -92,6 +147,34 @@ msgstr "Nova entrada"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
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"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
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"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr "आपको ये ब्लॉग डिलीट करने की अनुमति नहीं है"
|
||||
@ -64,10 +73,56 @@ msgstr "इस फोटो को ब्लॉग आइकॉन के लि
|
||||
msgid "You can't use this media as a 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
|
||||
msgid "To like a post, you need to be logged 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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "Notifications देखने के लिए आपको log in करना होगा"
|
||||
@ -92,6 +147,34 @@ msgstr "नया post"
|
||||
msgid "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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
msgstr "पासवर्ड रीसेट करें"
|
||||
@ -124,6 +215,14 @@ msgstr "क्षमा करें, लेकिन लिंक इस्त
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr "सब्सक्राइब करने के लिए, लोग इन करें"
|
||||
@ -132,6 +231,27 @@ msgstr "सब्सक्राइब करने के लिए, लोग
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr ""
|
||||
@ -65,10 +73,56 @@ msgstr ""
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -93,6 +147,34 @@ msgstr "Novi članak"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
msgstr "Poništavanje zaporke"
|
||||
@ -123,6 +213,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -131,6 +229,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this 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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "Per vedere le tue notifiche, devi avere effettuato l'accesso"
|
||||
@ -92,6 +147,34 @@ msgstr "Nuovo post"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
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"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
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"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr "このブログを削除する権限がありません。"
|
||||
@ -64,10 +73,56 @@ msgstr "このメディアはブログアイコンに使用できません。"
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "通知を表示するにはログインが必要です"
|
||||
@ -92,6 +147,34 @@ msgstr "新しい投稿"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
msgstr "投稿を再共有するにはログインが必要です"
|
||||
|
||||
#, fuzzy
|
||||
msgid "You are now connected."
|
||||
msgstr "許可されていません。"
|
||||
|
||||
#, fuzzy
|
||||
msgid "You are now logged off."
|
||||
msgstr "許可されていません。"
|
||||
|
||||
# src/routes/session.rs:181
|
||||
msgid "Password reset"
|
||||
msgstr "パスワードのリセット"
|
||||
@ -123,6 +214,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr "誰かをフォローするにはログインが必要です"
|
||||
@ -131,6 +230,27 @@ msgstr "誰かをフォローするにはログインが必要です"
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -89,6 +141,32 @@ msgstr "Nytt innlegg"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
msgstr "Passord"
|
||||
@ -119,6 +205,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -127,6 +221,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
msgstr "Plume"
|
||||
|
||||
@ -948,10 +1063,6 @@ msgstr ""
|
||||
#~ msgid "{0}'s followers"
|
||||
#~ msgstr "Én følger"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "{0} is now following you."
|
||||
#~ msgstr "{0} har begynt å følge deg"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "People {0} follows"
|
||||
#~ msgstr "Én følger"
|
||||
@ -966,10 +1077,6 @@ msgstr ""
|
||||
#~ msgid "Unfollow"
|
||||
#~ msgstr "Slutt å følge"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "No articles to see here yet."
|
||||
#~ msgstr "Ingen innlegg å vise enda."
|
||||
|
||||
#~ msgid "New blog"
|
||||
#~ 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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "Aby zobaczyć powiadomienia, musisz być zalogowany"
|
||||
@ -94,6 +149,34 @@ msgstr "Nowy wpis"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
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"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
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"
|
||||
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"
|
||||
msgstr "Plume"
|
||||
|
||||
|
@ -12,59 +12,111 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
||||
|
||||
# src/template_utils.rs:68
|
||||
# src/template_utils.rs:102
|
||||
msgid "{0} commented on your article."
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:69
|
||||
# src/template_utils.rs:103
|
||||
msgid "{0} is subscribed to you."
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:70
|
||||
# src/template_utils.rs:104
|
||||
msgid "{0} liked your article."
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:71
|
||||
# src/template_utils.rs:105
|
||||
msgid "{0} mentioned you."
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:72
|
||||
# src/template_utils.rs:106
|
||||
msgid "{0} boosted your article."
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:108
|
||||
# src/template_utils.rs:142
|
||||
msgid "{0}'s avatar"
|
||||
msgstr ""
|
||||
|
||||
# src/routes/blogs.rs:70
|
||||
# src/routes/blogs.rs:64
|
||||
msgid "To create a new blog, you need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
# src/routes/blogs.rs:109
|
||||
# src/routes/blogs.rs:106
|
||||
msgid "A blog with the same name already exists."
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
# src/routes/blogs.rs:217
|
||||
# src/routes/blogs.rs:218
|
||||
msgid "You are not allowed to edit this blog."
|
||||
msgstr ""
|
||||
|
||||
# src/routes/blogs.rs:262
|
||||
# src/routes/blogs.rs:263
|
||||
msgid "You can't use this media as a blog icon."
|
||||
msgstr ""
|
||||
|
||||
# src/routes/blogs.rs:280
|
||||
# src/routes/blogs.rs:281
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
@ -76,19 +128,43 @@ msgstr ""
|
||||
msgid "To write a new post, you need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
# src/routes/posts.rs:140
|
||||
# src/routes/posts.rs:139
|
||||
msgid "You are not an author of this blog."
|
||||
msgstr ""
|
||||
|
||||
# src/routes/posts.rs:147
|
||||
# src/routes/posts.rs:146
|
||||
msgid "New post"
|
||||
msgstr ""
|
||||
|
||||
# src/routes/posts.rs:192
|
||||
# src/routes/posts.rs:191
|
||||
msgid "Edit {0}"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
@ -96,19 +172,27 @@ msgstr ""
|
||||
msgid "To reshare a post, you need to be logged in"
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
# src/routes/session.rs:182
|
||||
# src/routes/session.rs:189
|
||||
msgid "Here is the link to reset your password: {0}"
|
||||
msgstr ""
|
||||
|
||||
# src/routes/session.rs:259
|
||||
# src/routes/session.rs:264
|
||||
msgid "Your password was successfully reset."
|
||||
msgstr ""
|
||||
|
||||
# src/routes/session.rs:263
|
||||
# src/routes/session.rs:274
|
||||
msgid "Sorry, but the link expired. Try again"
|
||||
msgstr ""
|
||||
|
||||
@ -116,14 +200,42 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
# src/routes/user.rs:344
|
||||
# src/routes/user.rs:357
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
@ -208,11 +320,11 @@ msgstr ""
|
||||
msgid "Nothing to see here yet. Try subscribing to more people."
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:220
|
||||
# src/template_utils.rs:254
|
||||
msgid "Optional"
|
||||
msgstr ""
|
||||
|
||||
@ -228,7 +340,7 @@ msgstr ""
|
||||
msgid "Long description"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Default article license"
|
||||
msgstr ""
|
||||
|
||||
@ -274,11 +386,11 @@ msgstr ""
|
||||
msgid "Upload an avatar"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Display name"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
@ -327,15 +439,15 @@ msgstr ""
|
||||
msgid "Create an account"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Password confirmation"
|
||||
msgstr ""
|
||||
|
||||
@ -426,71 +538,71 @@ msgstr ""
|
||||
msgid "Advanced search"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "Article title matching these words"
|
||||
msgstr ""
|
||||
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "Subtitle matching these words"
|
||||
msgstr ""
|
||||
|
||||
msgid "Subtitle - byline"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "Content matching these words"
|
||||
msgstr ""
|
||||
|
||||
msgid "Body content"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "From this date"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "To this date"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "Containing these tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Tags"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "Posted on one of these instances"
|
||||
msgstr ""
|
||||
|
||||
msgid "Instance domain"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "Posted by one of these authors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Authors"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "Posted on one of these blogs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Blog title"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "Written in this language"
|
||||
msgstr ""
|
||||
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:305
|
||||
# src/template_utils.rs:339
|
||||
msgid "Published under this license"
|
||||
msgstr ""
|
||||
|
||||
@ -512,11 +624,11 @@ msgstr ""
|
||||
msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Confirmation"
|
||||
msgstr ""
|
||||
|
||||
@ -529,7 +641,7 @@ msgstr ""
|
||||
msgid "We sent a mail to the address you gave us, with a link to reset your password."
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "E-mail"
|
||||
msgstr ""
|
||||
|
||||
@ -539,7 +651,7 @@ msgstr ""
|
||||
msgid "Log in"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Username, or email"
|
||||
msgstr ""
|
||||
|
||||
@ -558,7 +670,7 @@ msgstr ""
|
||||
msgid "Classic editor (any changes will be lost)"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Subtitle"
|
||||
msgstr ""
|
||||
|
||||
@ -571,15 +683,15 @@ msgstr ""
|
||||
msgid "Upload media"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Tags, separated by commas"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "License"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:225
|
||||
# src/template_utils.rs:259
|
||||
msgid "Leave it empty to reserve all rights"
|
||||
msgstr ""
|
||||
|
||||
@ -639,7 +751,7 @@ msgstr ""
|
||||
msgid "Comments"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:217
|
||||
# src/template_utils.rs:251
|
||||
msgid "Content warning"
|
||||
msgstr ""
|
||||
|
||||
@ -746,7 +858,7 @@ msgstr ""
|
||||
msgid "I'm from another instance"
|
||||
msgstr ""
|
||||
|
||||
# src/template_utils.rs:225
|
||||
# src/template_utils.rs:259
|
||||
msgid "Example: user@plu.me"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this 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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "Para ver suas notificações, você precisa estar logado"
|
||||
@ -92,6 +147,34 @@ msgstr "Novo artigo"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
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"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
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"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this 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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -93,6 +148,34 @@ msgstr "Postare nouă"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
msgstr "Resetare parolă"
|
||||
@ -123,6 +214,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -131,6 +230,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr ""
|
||||
@ -66,10 +74,54 @@ msgstr ""
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -94,6 +146,32 @@ msgstr "Новый пост"
|
||||
msgid "Edit {0}"
|
||||
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
|
||||
msgid ""
|
||||
"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"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "You are now connected."
|
||||
msgstr "Вы не авторизованы."
|
||||
|
||||
#, fuzzy
|
||||
msgid "You are now logged off."
|
||||
msgstr "Вы не авторизованы."
|
||||
|
||||
# src/routes/session.rs:181
|
||||
msgid "Password reset"
|
||||
msgstr ""
|
||||
@ -124,6 +210,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -132,6 +226,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this 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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr "Aby si videl/a notifikácie, musíš sa prihlásiť"
|
||||
@ -92,6 +147,34 @@ msgstr "Nový príspevok"
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
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"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
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"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
msgstr ""
|
||||
@ -65,10 +73,54 @@ msgstr ""
|
||||
msgid "You can't use this media as a blog banner."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -93,6 +145,32 @@ msgstr ""
|
||||
msgid "Edit {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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
msgstr "Poništavanje lozinke"
|
||||
@ -123,6 +209,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -131,6 +225,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
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."
|
||||
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
|
||||
msgid "You are not allowed to delete this blog."
|
||||
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."
|
||||
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
|
||||
msgid "To like a post, you need to be logged in"
|
||||
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
|
||||
msgid "To see your notifications, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -92,6 +146,34 @@ msgstr ""
|
||||
msgid "Edit {0}"
|
||||
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
|
||||
msgid ""
|
||||
"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"
|
||||
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
|
||||
msgid "Password reset"
|
||||
msgstr ""
|
||||
@ -122,6 +212,14 @@ msgstr ""
|
||||
msgid "To access your dashboard, you need to be logged in"
|
||||
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
|
||||
msgid "To subscribe to someone, you need to be logged in"
|
||||
msgstr ""
|
||||
@ -130,6 +228,27 @@ msgstr ""
|
||||
msgid "To edit your profile, you need to be logged in"
|
||||
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"
|
||||
msgstr ""
|
||||
|
||||
|
@ -45,7 +45,6 @@ use plume_models::{
|
||||
search::{Searcher as UnmanagedSearcher, SearcherError},
|
||||
Connection, Error, CONFIG,
|
||||
};
|
||||
use rocket::State;
|
||||
use rocket_csrf::CsrfFairingBuilder;
|
||||
use scheduled_thread_pool::ScheduledThreadPool;
|
||||
use std::process::exit;
|
||||
@ -69,8 +68,6 @@ include!(concat!(env!("OUT_DIR"), "/templates.rs"));
|
||||
|
||||
compile_i18n!();
|
||||
|
||||
type Searcher<'a> = State<'a, Arc<UnmanagedSearcher>>;
|
||||
|
||||
/// Initializes a database pool.
|
||||
fn init_pool() -> Option<DbPool> {
|
||||
dotenv::dotenv().ok();
|
||||
|
@ -17,21 +17,19 @@ use plume_models::{
|
||||
users::User, Connection, PlumeRocket,
|
||||
};
|
||||
use routes::{errors::ErrorPage, Page};
|
||||
use template_utils::Ructe;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[get("/~/<name>?<page>", rank = 2)]
|
||||
pub fn details(name: String, page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||
let page = page.unwrap_or_default();
|
||||
let conn = &*rockets.conn;
|
||||
let blog = Blog::find_by_fqn(&rockets, &name)?;
|
||||
let posts = Post::blog_page(&*conn, &blog, page.limits())?;
|
||||
let articles_count = Post::count_for_blog(&*conn, &blog)?;
|
||||
let authors = &blog.list_authors(&*conn)?;
|
||||
let user = rockets.user;
|
||||
let intl = rockets.intl;
|
||||
let posts = Post::blog_page(conn, &blog, page.limits())?;
|
||||
let articles_count = Post::count_for_blog(conn, &blog)?;
|
||||
let authors = &blog.list_authors(conn)?;
|
||||
|
||||
Ok(render!(blogs::details(
|
||||
&(&*conn, &intl.catalog, user.clone()),
|
||||
&rockets.to_context(),
|
||||
blog,
|
||||
authors,
|
||||
page.0,
|
||||
@ -51,13 +49,9 @@ pub fn activity_details(
|
||||
}
|
||||
|
||||
#[get("/blogs/new")]
|
||||
pub fn new(rockets: PlumeRocket) -> Ructe {
|
||||
let user = rockets.user.unwrap();
|
||||
let intl = rockets.intl;
|
||||
let conn = &*rockets.conn;
|
||||
|
||||
pub fn new(rockets: PlumeRocket, _user: User) -> Ructe {
|
||||
render!(blogs::new(
|
||||
&(&*conn, &intl.catalog, Some(user)),
|
||||
&rockets.to_context(),
|
||||
&NewBlogForm::default(),
|
||||
ValidationErrors::default()
|
||||
))
|
||||
@ -90,7 +84,10 @@ fn valid_slug(title: &str) -> Result<(), ValidationError> {
|
||||
}
|
||||
|
||||
#[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 conn = &*rockets.conn;
|
||||
let intl = &rockets.intl.catalog;
|
||||
@ -139,37 +136,40 @@ pub fn create(form: LenientForm<NewBlogForm>, rockets: PlumeRocket) -> Result<Re
|
||||
)
|
||||
.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 {
|
||||
Err(render!(blogs::new(
|
||||
&(&*conn, intl, Some(user)),
|
||||
&*form,
|
||||
errors
|
||||
)))
|
||||
Err(render!(blogs::new(&rockets.to_context(), &*form, errors)))
|
||||
}
|
||||
}
|
||||
|
||||
#[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 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()
|
||||
.and_then(|u| u.is_author_in(&*conn, &blog).ok())
|
||||
.unwrap_or(false)
|
||||
{
|
||||
blog.delete(&conn, &searcher)
|
||||
blog.delete(&conn, &rockets.searcher)
|
||||
.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 {
|
||||
// TODO actually return 403 error code
|
||||
Err(render!(errors::not_authorized(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
i18n!(intl.catalog, "You are not allowed to delete this blog.")
|
||||
&rockets.to_context(),
|
||||
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
|
||||
.user
|
||||
.clone()
|
||||
.and_then(|u| u.is_author_in(&*conn, &blog).ok())
|
||||
.and_then(|u| u.is_author_in(conn, &blog).ok())
|
||||
.unwrap_or(false)
|
||||
{
|
||||
let user = rockets
|
||||
.user
|
||||
.clone()
|
||||
.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(
|
||||
&(&*conn, &rockets.intl.catalog, Some(user)),
|
||||
&rockets.to_context(),
|
||||
&blog,
|
||||
medias,
|
||||
&EditForm {
|
||||
@ -212,7 +213,7 @@ pub fn edit(name: String, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||
} else {
|
||||
// TODO actually return 403 error code
|
||||
Ok(render!(errors::not_authorized(
|
||||
&(&*conn, &rockets.intl.catalog, rockets.user),
|
||||
&rockets.to_context(),
|
||||
i18n!(
|
||||
rockets.intl.catalog,
|
||||
"You are not allowed to edit this blog."
|
||||
@ -235,7 +236,7 @@ pub fn update(
|
||||
name: String,
|
||||
form: LenientForm<EditForm>,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Redirect, Ructe> {
|
||||
) -> Result<Flash<Redirect>, Ructe> {
|
||||
let conn = &*rockets.conn;
|
||||
let intl = &rockets.intl.catalog;
|
||||
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.save_changes::<Blog>(&*conn)
|
||||
.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| {
|
||||
let medias = Media::for_user(&*conn, user.id).expect("Couldn't list media");
|
||||
render!(blogs::edit(
|
||||
&(&*conn, intl, Some(user)),
|
||||
&rockets.to_context(),
|
||||
&blog,
|
||||
medias,
|
||||
&*form,
|
||||
@ -323,7 +327,7 @@ pub fn update(
|
||||
} else {
|
||||
// TODO actually return 403 error code
|
||||
Err(render!(errors::not_authorized(
|
||||
&(&*conn, &rockets.intl.catalog, rockets.user),
|
||||
&rockets.to_context(),
|
||||
i18n!(
|
||||
rockets.intl.catalog,
|
||||
"You are not allowed to edit this blog."
|
||||
|
@ -1,5 +1,8 @@
|
||||
use activitypub::object::Note;
|
||||
use rocket::{request::LenientForm, response::Redirect};
|
||||
use rocket::{
|
||||
request::LenientForm,
|
||||
response::{Flash, Redirect},
|
||||
};
|
||||
use template_utils::Ructe;
|
||||
use validator::Validate;
|
||||
|
||||
@ -14,6 +17,7 @@ use plume_models::{
|
||||
posts::Post, safe_string::SafeString, tags::Tag, users::User, Error, PlumeRocket,
|
||||
};
|
||||
use routes::errors::ErrorPage;
|
||||
use template_utils::IntoContext;
|
||||
|
||||
#[derive(Default, FromForm, Debug, Validate)]
|
||||
pub struct NewCommentForm {
|
||||
@ -30,7 +34,7 @@ pub fn create(
|
||||
form: LenientForm<NewCommentForm>,
|
||||
user: User,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Redirect, Ructe> {
|
||||
) -> Result<Flash<Redirect>, Ructe> {
|
||||
let conn = &*rockets.conn;
|
||||
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");
|
||||
@ -83,8 +87,11 @@ pub fn create(
|
||||
.worker
|
||||
.execute(move || broadcast(&user_clone, new_comment, dest));
|
||||
|
||||
Redirect::to(
|
||||
uri!(super::posts::details: blog = blog_name, slug = slug, responding_to = _),
|
||||
Flash::success(
|
||||
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| {
|
||||
@ -97,7 +104,7 @@ pub fn create(
|
||||
.and_then(|r| Comment::get(&*conn, r).ok());
|
||||
|
||||
render!(posts::details(
|
||||
&(&*conn, &rockets.intl.catalog, Some(user.clone())),
|
||||
&rockets.to_context(),
|
||||
post.clone(),
|
||||
blog,
|
||||
&*form,
|
||||
@ -134,7 +141,7 @@ pub fn delete(
|
||||
id: i32,
|
||||
user: User,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Redirect, ErrorPage> {
|
||||
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||
if let Ok(comment) = Comment::get(&*rockets.conn, id) {
|
||||
if comment.author_id == user.id {
|
||||
let dest = User::one_by_instance(&*rockets.conn)?;
|
||||
@ -157,8 +164,9 @@ pub fn delete(
|
||||
});
|
||||
}
|
||||
}
|
||||
Ok(Redirect::to(
|
||||
uri!(super::posts::details: blog = blog, slug = slug, responding_to = _),
|
||||
Ok(Flash::success(
|
||||
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::{db_conn::DbConn, Error};
|
||||
use plume_models::{Error, PlumeRocket};
|
||||
use rocket::{
|
||||
request::FromRequest,
|
||||
response::{self, Responder},
|
||||
Request,
|
||||
};
|
||||
use rocket_i18n::I18n;
|
||||
use template_utils::Ructe;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct ErrorPage(Error);
|
||||
@ -19,78 +16,40 @@ impl From<Error> for ErrorPage {
|
||||
|
||||
impl<'r> Responder<'r> for ErrorPage {
|
||||
fn respond_to(self, req: &Request) -> response::Result<'r> {
|
||||
let conn = req.guard::<DbConn>().succeeded();
|
||||
let intl = req.guard::<I18n>().succeeded();
|
||||
let user = User::from_request(req).succeeded();
|
||||
let rockets = req.guard::<PlumeRocket>().unwrap();
|
||||
|
||||
match self.0 {
|
||||
Error::NotFound => render!(errors::not_found(&(
|
||||
&*conn.unwrap(),
|
||||
&intl.unwrap().catalog,
|
||||
user
|
||||
)))
|
||||
.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),
|
||||
Error::NotFound => render!(errors::not_found(&rockets.to_context())).respond_to(req),
|
||||
Error::Unauthorized => {
|
||||
render!(errors::not_found(&rockets.to_context())).respond_to(req)
|
||||
}
|
||||
_ => render!(errors::not_found(&rockets.to_context())).respond_to(req),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[catch(404)]
|
||||
pub fn not_found(req: &Request) -> Ructe {
|
||||
let conn = req.guard::<DbConn>().succeeded();
|
||||
let intl = req.guard::<I18n>().succeeded();
|
||||
let user = User::from_request(req).succeeded();
|
||||
render!(errors::not_found(&(
|
||||
&*conn.unwrap(),
|
||||
&intl.unwrap().catalog,
|
||||
user
|
||||
)))
|
||||
let rockets = req.guard::<PlumeRocket>().unwrap();
|
||||
render!(errors::not_found(&rockets.to_context()))
|
||||
}
|
||||
|
||||
#[catch(422)]
|
||||
pub fn unprocessable_entity(req: &Request) -> Ructe {
|
||||
let conn = req.guard::<DbConn>().succeeded();
|
||||
let intl = req.guard::<I18n>().succeeded();
|
||||
let user = User::from_request(req).succeeded();
|
||||
render!(errors::unprocessable_entity(&(
|
||||
&*conn.unwrap(),
|
||||
&intl.unwrap().catalog,
|
||||
user
|
||||
)))
|
||||
let rockets = req.guard::<PlumeRocket>().unwrap();
|
||||
render!(errors::unprocessable_entity(&rockets.to_context()))
|
||||
}
|
||||
|
||||
#[catch(500)]
|
||||
pub fn server_error(req: &Request) -> Ructe {
|
||||
let conn = req.guard::<DbConn>().succeeded();
|
||||
let intl = req.guard::<I18n>().succeeded();
|
||||
let user = User::from_request(req).succeeded();
|
||||
render!(errors::server_error(&(
|
||||
&*conn.unwrap(),
|
||||
&intl.unwrap().catalog,
|
||||
user
|
||||
)))
|
||||
let rockets = req.guard::<PlumeRocket>().unwrap();
|
||||
render!(errors::server_error(&rockets.to_context()))
|
||||
}
|
||||
|
||||
#[post("/csrf-violation?<target>")]
|
||||
pub fn csrf_violation(
|
||||
target: Option<String>,
|
||||
conn: DbConn,
|
||||
intl: I18n,
|
||||
user: Option<User>,
|
||||
) -> Ructe {
|
||||
pub fn csrf_violation(target: Option<String>, rockets: PlumeRocket) -> Ructe {
|
||||
if let Some(uri) = target {
|
||||
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::{
|
||||
request::LenientForm,
|
||||
response::{status, Redirect},
|
||||
response::{status, Flash, Redirect},
|
||||
};
|
||||
use rocket_contrib::json::Json;
|
||||
use rocket_i18n::I18n;
|
||||
@ -14,25 +14,26 @@ use plume_models::{
|
||||
safe_string::SafeString, users::User, Error, PlumeRocket, CONFIG,
|
||||
};
|
||||
use routes::{errors::ErrorPage, rocket_uri_macro_static_files, Page};
|
||||
use template_utils::Ructe;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[get("/")]
|
||||
pub fn index(conn: DbConn, user: Option<User>, intl: I18n) -> Result<Ructe, ErrorPage> {
|
||||
let inst = Instance::get_local(&*conn)?;
|
||||
let federated = Post::get_recents_page(&*conn, Page::default().limits())?;
|
||||
let local = Post::get_instance_page(&*conn, inst.id, Page::default().limits())?;
|
||||
let user_feed = user.clone().and_then(|user| {
|
||||
let followed = user.get_followed(&*conn).ok()?;
|
||||
pub fn index(rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||
let conn = &*rockets.conn;
|
||||
let inst = Instance::get_local(conn)?;
|
||||
let federated = Post::get_recents_page(conn, Page::default().limits())?;
|
||||
let local = Post::get_instance_page(conn, inst.id, Page::default().limits())?;
|
||||
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>>();
|
||||
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(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
&rockets.to_context(),
|
||||
inst,
|
||||
User::count_local(&*conn)?,
|
||||
Post::count_local(&*conn)?,
|
||||
User::count_local(conn)?,
|
||||
Post::count_local(conn)?,
|
||||
local,
|
||||
federated,
|
||||
user_feed
|
||||
@ -40,61 +41,51 @@ pub fn index(conn: DbConn, user: Option<User>, intl: I18n) -> Result<Ructe, Erro
|
||||
}
|
||||
|
||||
#[get("/local?<page>")]
|
||||
pub fn local(
|
||||
conn: DbConn,
|
||||
user: Option<User>,
|
||||
page: Option<Page>,
|
||||
intl: I18n,
|
||||
) -> Result<Ructe, ErrorPage> {
|
||||
pub fn local(page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||
let page = page.unwrap_or_default();
|
||||
let instance = Instance::get_local(&*conn)?;
|
||||
let articles = Post::get_instance_page(&*conn, instance.id, page.limits())?;
|
||||
let instance = Instance::get_local(&*rockets.conn)?;
|
||||
let articles = Post::get_instance_page(&*rockets.conn, instance.id, page.limits())?;
|
||||
Ok(render!(instance::local(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
&rockets.to_context(),
|
||||
instance,
|
||||
articles,
|
||||
page.0,
|
||||
Page::total(Post::count_local(&*conn)? as i32)
|
||||
Page::total(Post::count_local(&*rockets.conn)? as i32)
|
||||
)))
|
||||
}
|
||||
|
||||
#[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 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>>();
|
||||
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(
|
||||
&(&*conn, &intl.catalog, Some(user)),
|
||||
&rockets.to_context(),
|
||||
articles,
|
||||
page.0,
|
||||
Page::total(Post::count_local(&*conn)? as i32)
|
||||
Page::total(Post::count_local(&*rockets.conn)? as i32)
|
||||
)))
|
||||
}
|
||||
|
||||
#[get("/federated?<page>")]
|
||||
pub fn federated(
|
||||
conn: DbConn,
|
||||
user: Option<User>,
|
||||
page: Option<Page>,
|
||||
intl: I18n,
|
||||
) -> Result<Ructe, ErrorPage> {
|
||||
pub fn federated(page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||
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(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
&rockets.to_context(),
|
||||
articles,
|
||||
page.0,
|
||||
Page::total(Post::count_local(&*conn)? as i32)
|
||||
Page::total(Post::count_local(&*rockets.conn)? as i32)
|
||||
)))
|
||||
}
|
||||
|
||||
#[get("/admin")]
|
||||
pub fn admin(conn: DbConn, admin: Admin, intl: I18n) -> Result<Ructe, ErrorPage> {
|
||||
let local_inst = Instance::get_local(&*conn)?;
|
||||
pub fn admin(_admin: Admin, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||
let local_inst = Instance::get_local(&*rockets.conn)?;
|
||||
Ok(render!(instance::admin(
|
||||
&(&*conn, &intl.catalog, Some(admin.0)),
|
||||
&rockets.to_context(),
|
||||
local_inst.clone(),
|
||||
InstanceSettingsForm {
|
||||
name: local_inst.name.clone(),
|
||||
@ -120,31 +111,34 @@ pub struct InstanceSettingsForm {
|
||||
|
||||
#[post("/admin", data = "<form>")]
|
||||
pub fn update_settings(
|
||||
conn: DbConn,
|
||||
admin: Admin,
|
||||
_admin: Admin,
|
||||
form: LenientForm<InstanceSettingsForm>,
|
||||
intl: I18n,
|
||||
) -> Result<Redirect, Ructe> {
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Flash<Redirect>, Ructe> {
|
||||
let conn = &*rockets.conn;
|
||||
form.validate()
|
||||
.and_then(|_| {
|
||||
let instance = Instance::get_local(&*conn)
|
||||
.expect("instance::update_settings: local instance error");
|
||||
let instance =
|
||||
Instance::get_local(conn).expect("instance::update_settings: local instance error");
|
||||
instance
|
||||
.update(
|
||||
&*conn,
|
||||
conn,
|
||||
form.name.clone(),
|
||||
form.open_registrations,
|
||||
form.short_description.clone(),
|
||||
form.long_description.clone(),
|
||||
)
|
||||
.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| {
|
||||
let local_inst = Instance::get_local(&*conn)
|
||||
.expect("instance::update_settings: local instance error");
|
||||
let local_inst =
|
||||
Instance::get_local(conn).expect("instance::update_settings: local instance error");
|
||||
Err(render!(instance::admin(
|
||||
&(&*conn, &intl.catalog, Some(admin.0)),
|
||||
&rockets.to_context(),
|
||||
local_inst,
|
||||
form.clone(),
|
||||
e
|
||||
@ -154,64 +148,78 @@ pub fn update_settings(
|
||||
|
||||
#[get("/admin/instances?<page>")]
|
||||
pub fn admin_instances(
|
||||
admin: Admin,
|
||||
conn: DbConn,
|
||||
_admin: Admin,
|
||||
page: Option<Page>,
|
||||
intl: I18n,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Ructe, ErrorPage> {
|
||||
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(
|
||||
&(&*conn, &intl.catalog, Some(admin.0)),
|
||||
Instance::get_local(&*conn)?,
|
||||
&rockets.to_context(),
|
||||
Instance::get_local(&*rockets.conn)?,
|
||||
instances,
|
||||
page.0,
|
||||
Page::total(Instance::count(&*conn)? as i32)
|
||||
Page::total(Instance::count(&*rockets.conn)? as i32)
|
||||
)))
|
||||
}
|
||||
|
||||
#[post("/admin/instances/<id>/block")]
|
||||
pub fn toggle_block(_admin: Admin, conn: DbConn, id: i32) -> Result<Redirect, ErrorPage> {
|
||||
if let Ok(inst) = Instance::get(&*conn, id) {
|
||||
inst.toggle_block(&*conn)?;
|
||||
}
|
||||
pub fn toggle_block(
|
||||
_admin: Admin,
|
||||
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>")]
|
||||
pub fn admin_users(
|
||||
admin: Admin,
|
||||
conn: DbConn,
|
||||
_admin: Admin,
|
||||
page: Option<Page>,
|
||||
intl: I18n,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Ructe, ErrorPage> {
|
||||
let page = page.unwrap_or_default();
|
||||
Ok(render!(instance::users(
|
||||
&(&*conn, &intl.catalog, Some(admin.0)),
|
||||
User::get_local_page(&*conn, page.limits())?,
|
||||
&rockets.to_context(),
|
||||
User::get_local_page(&*rockets.conn, page.limits())?,
|
||||
page.0,
|
||||
Page::total(User::count_local(&*conn)? as i32)
|
||||
Page::total(User::count_local(&*rockets.conn)? as i32)
|
||||
)))
|
||||
}
|
||||
|
||||
#[post("/admin/users/<id>/ban")]
|
||||
pub fn ban(_admin: Admin, id: i32, rockets: PlumeRocket) -> Result<Redirect, ErrorPage> {
|
||||
if let Ok(u) = User::get(&*rockets.conn, id) {
|
||||
u.delete(&*rockets.conn, &rockets.searcher)?;
|
||||
pub fn ban(_admin: Admin, id: i32, rockets: PlumeRocket) -> Result<Flash<Redirect>, ErrorPage> {
|
||||
let u = User::get(&*rockets.conn, id)?;
|
||||
u.delete(&*rockets.conn, &rockets.searcher)?;
|
||||
|
||||
if Instance::get_local(&*rockets.conn)
|
||||
.map(|i| u.instance_id == i.id)
|
||||
.unwrap_or(false)
|
||||
{
|
||||
let target = User::one_by_instance(&*rockets.conn)?;
|
||||
let delete_act = u.delete_activity(&*rockets.conn)?;
|
||||
rockets
|
||||
.worker
|
||||
.execute(move || broadcast(&u, delete_act, target));
|
||||
}
|
||||
if Instance::get_local(&*rockets.conn)
|
||||
.map(|i| u.instance_id == i.id)
|
||||
.unwrap_or(false)
|
||||
{
|
||||
let target = User::one_by_instance(&*rockets.conn)?;
|
||||
let delete_act = u.delete_activity(&*rockets.conn)?;
|
||||
let u_clone = u.clone();
|
||||
rockets
|
||||
.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>")]
|
||||
@ -293,14 +301,15 @@ pub fn nodeinfo(conn: DbConn, version: String) -> Result<Json<serde_json::Value>
|
||||
}
|
||||
|
||||
#[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(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
Instance::get_local(&*conn)?,
|
||||
Instance::get_local(&*conn)?.main_admin(&*conn)?,
|
||||
User::count_local(&*conn)?,
|
||||
Post::count_local(&*conn)?,
|
||||
Instance::count(&*conn)? - 1
|
||||
&rockets.to_context(),
|
||||
Instance::get_local(conn)?,
|
||||
Instance::get_local(conn)?.main_admin(conn)?,
|
||||
User::count_local(conn)?,
|
||||
Post::count_local(conn)?,
|
||||
Instance::count(conn)? - 1
|
||||
)))
|
||||
}
|
||||
|
||||
|
@ -3,32 +3,32 @@ use multipart::server::{
|
||||
save::{SaveResult, SavedData},
|
||||
Multipart,
|
||||
};
|
||||
use plume_models::{db_conn::DbConn, medias::*, users::User, Error};
|
||||
use plume_models::{db_conn::DbConn, medias::*, users::User, Error, PlumeRocket};
|
||||
use rocket::{
|
||||
http::ContentType,
|
||||
response::{status, Redirect},
|
||||
response::{status, Flash, Redirect},
|
||||
Data,
|
||||
};
|
||||
use rocket_i18n::I18n;
|
||||
use routes::{errors::ErrorPage, Page};
|
||||
use std::fs;
|
||||
use template_utils::Ructe;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[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 medias = Media::page_for_user(&*conn, &user, page.limits())?;
|
||||
let medias = Media::page_for_user(&*rockets.conn, &user, page.limits())?;
|
||||
Ok(render!(medias::index(
|
||||
&(&*conn, &intl.catalog, Some(user.clone())),
|
||||
&rockets.to_context(),
|
||||
medias,
|
||||
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")]
|
||||
pub fn new(user: User, conn: DbConn, intl: I18n) -> Ructe {
|
||||
render!(medias::new(&(&*conn, &intl.catalog, Some(user))))
|
||||
pub fn new(_user: User, rockets: PlumeRocket) -> Ructe {
|
||||
render!(medias::new(&rockets.to_context()))
|
||||
}
|
||||
|
||||
#[post("/medias/new", data = "<data>")]
|
||||
@ -122,32 +122,50 @@ fn read(data: &SavedData) -> Result<String, status::BadRequest<&'static str>> {
|
||||
}
|
||||
|
||||
#[get("/medias/<id>")]
|
||||
pub fn details(id: i32, user: User, conn: DbConn, intl: I18n) -> Result<Ructe, ErrorPage> {
|
||||
let media = Media::get(&*conn, id)?;
|
||||
pub fn details(id: i32, user: User, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||
let media = Media::get(&*rockets.conn, id)?;
|
||||
if media.owner_id == user.id {
|
||||
Ok(render!(medias::details(
|
||||
&(&*conn, &intl.catalog, Some(user)),
|
||||
media
|
||||
)))
|
||||
Ok(render!(medias::details(&rockets.to_context(), media)))
|
||||
} else {
|
||||
Err(Error::Unauthorized.into())
|
||||
}
|
||||
}
|
||||
|
||||
#[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)?;
|
||||
if media.owner_id == user.id {
|
||||
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")]
|
||||
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)?;
|
||||
if media.owner_id == user.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 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 template_utils::Ructe;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[get("/notifications?<page>")]
|
||||
pub fn notifications(
|
||||
conn: DbConn,
|
||||
user: User,
|
||||
page: Option<Page>,
|
||||
intl: I18n,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Ructe, ErrorPage> {
|
||||
let page = page.unwrap_or_default();
|
||||
Ok(render!(notifications::index(
|
||||
&(&*conn, &intl.catalog, Some(user.clone())),
|
||||
Notification::page_for_user(&*conn, &user, page.limits())?,
|
||||
&rockets.to_context(),
|
||||
Notification::page_for_user(&*rockets.conn, &user, page.limits())?,
|
||||
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,
|
||||
};
|
||||
use routes::{comments::NewCommentForm, errors::ErrorPage, ContentLen, RemoteForm};
|
||||
use template_utils::Ructe;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[get("/~/<blog>/<slug>?<responding_to>", rank = 4)]
|
||||
pub fn details(
|
||||
@ -51,7 +51,7 @@ pub fn details(
|
||||
let previous = responding_to.and_then(|r| Comment::get(&*conn, r).ok());
|
||||
|
||||
Ok(render!(posts::details(
|
||||
&(&*conn, &rockets.intl.catalog, user.clone()),
|
||||
&rockets.to_context(),
|
||||
post.clone(),
|
||||
blog,
|
||||
&NewCommentForm {
|
||||
@ -89,7 +89,7 @@ pub fn details(
|
||||
)))
|
||||
} else {
|
||||
Ok(render!(errors::not_authorized(
|
||||
&(&*conn, &rockets.intl.catalog, user.clone()),
|
||||
&rockets.to_context(),
|
||||
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> {
|
||||
let conn = &*rockets.conn;
|
||||
let b = Blog::find_by_fqn(&rockets, &blog)?;
|
||||
let user = rockets.user.unwrap();
|
||||
let intl = rockets.intl;
|
||||
let user = rockets.user.clone().unwrap();
|
||||
|
||||
if !user.is_author_in(&*conn, &b)? {
|
||||
// TODO actually return 403 error code
|
||||
return Ok(render!(errors::not_authorized(
|
||||
&(&*conn, &intl.catalog, Some(user)),
|
||||
i18n!(intl.catalog, "You are not an author of this blog.")
|
||||
&rockets.to_context(),
|
||||
i18n!(rockets.intl.catalog, "You are not an author of this blog.")
|
||||
)));
|
||||
}
|
||||
|
||||
let medias = Media::for_user(&*conn, user.id)?;
|
||||
Ok(render!(posts::new(
|
||||
&(&*conn, &intl.catalog, Some(user)),
|
||||
i18n!(intl.catalog, "New post"),
|
||||
&rockets.to_context(),
|
||||
i18n!(rockets.intl.catalog, "New post"),
|
||||
b,
|
||||
false,
|
||||
&NewPostForm {
|
||||
@ -170,11 +169,11 @@ pub fn edit(
|
||||
let intl = &rockets.intl.catalog;
|
||||
let b = Blog::find_by_fqn(&rockets, &blog)?;
|
||||
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)? {
|
||||
return Ok(render!(errors::not_authorized(
|
||||
&(&*conn, intl, Some(user)),
|
||||
&rockets.to_context(),
|
||||
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 title = post.title.clone();
|
||||
Ok(render!(posts::new(
|
||||
&(&*conn, intl, Some(user)),
|
||||
&rockets.to_context(),
|
||||
i18n!(intl, "Edit {0}"; &title),
|
||||
b,
|
||||
true,
|
||||
@ -220,7 +219,7 @@ pub fn update(
|
||||
cl: ContentLen,
|
||||
form: LenientForm<NewPostForm>,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Redirect, Ructe> {
|
||||
) -> Result<Flash<Redirect>, Ructe> {
|
||||
let conn = &*rockets.conn;
|
||||
let b = Blog::find_by_fqn(&rockets, &blog).expect("post::update: blog error");
|
||||
let mut post =
|
||||
@ -256,8 +255,9 @@ pub fn update(
|
||||
.expect("posts::update: is author in error")
|
||||
{
|
||||
// actually it's not "Ok"…
|
||||
Ok(Redirect::to(
|
||||
uri!(super::blogs::details: name = blog, page = _),
|
||||
Ok(Flash::error(
|
||||
Redirect::to(uri!(super::blogs::details: name = blog, page = _)),
|
||||
i18n!(&intl, "You are not allowed to publish on this blog."),
|
||||
))
|
||||
} else {
|
||||
let (content, mentions, hashtags) = utils::md_to_html(
|
||||
@ -343,14 +343,15 @@ pub fn update(
|
||||
}
|
||||
}
|
||||
|
||||
Ok(Redirect::to(
|
||||
uri!(details: blog = blog, slug = new_slug, responding_to = _),
|
||||
Ok(Flash::success(
|
||||
Redirect::to(uri!(details: blog = blog, slug = new_slug, responding_to = _)),
|
||||
i18n!(intl, "Your article have been updated."),
|
||||
))
|
||||
}
|
||||
} else {
|
||||
let medias = Media::for_user(&*conn, user.id).expect("posts:update: medias error");
|
||||
Err(render!(posts::new(
|
||||
&(&*conn, intl, Some(user)),
|
||||
&rockets.to_context(),
|
||||
i18n!(intl, "Edit {0}"; &form.title),
|
||||
b,
|
||||
true,
|
||||
@ -393,7 +394,7 @@ pub fn create(
|
||||
form: LenientForm<NewPostForm>,
|
||||
cl: ContentLen,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Redirect, Result<Ructe, ErrorPage>> {
|
||||
) -> Result<Flash<Redirect>, Result<Ructe, ErrorPage>> {
|
||||
let conn = &*rockets.conn;
|
||||
let blog = Blog::find_by_fqn(&rockets, &blog_name).expect("post::create: blog error");;
|
||||
let slug = form.title.to_string().to_kebab_case();
|
||||
@ -420,8 +421,12 @@ pub fn create(
|
||||
.expect("post::create: is author in error")
|
||||
{
|
||||
// actually it's not "Ok"…
|
||||
return Ok(Redirect::to(
|
||||
uri!(super::blogs::details: name = blog_name, page = _),
|
||||
return Ok(Flash::error(
|
||||
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));
|
||||
}
|
||||
|
||||
Ok(Redirect::to(
|
||||
uri!(details: blog = blog_name, slug = slug, responding_to = _),
|
||||
Ok(Flash::success(
|
||||
Redirect::to(uri!(details: blog = blog_name, slug = slug, responding_to = _)),
|
||||
i18n!(&rockets.intl.catalog, "Your post have been saved."),
|
||||
))
|
||||
} else {
|
||||
let medias = Media::for_user(&*conn, user.id).expect("posts::create: medias error");
|
||||
let intl = rockets.intl;
|
||||
Err(Ok(render!(posts::new(
|
||||
&(&*conn, &intl.catalog, Some(user)),
|
||||
i18n!(intl.catalog, "New post"),
|
||||
&rockets.to_context(),
|
||||
i18n!(rockets.intl.catalog, "New post"),
|
||||
blog,
|
||||
false,
|
||||
&*form,
|
||||
@ -544,7 +549,8 @@ pub fn delete(
|
||||
blog_name: String,
|
||||
slug: String,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Redirect, ErrorPage> {
|
||||
intl: I18n,
|
||||
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||
let user = rockets.user.clone().unwrap();
|
||||
let post = Blog::find_by_fqn(&rockets, &blog_name)
|
||||
.and_then(|blog| Post::find_by_slug(&*rockets.conn, &slug, blog.id));
|
||||
@ -555,8 +561,11 @@ pub fn delete(
|
||||
.into_iter()
|
||||
.any(|a| a.id == user.id)
|
||||
{
|
||||
return Ok(Redirect::to(
|
||||
uri!(details: blog = blog_name.clone(), slug = slug.clone(), responding_to = _),
|
||||
return Ok(Flash::error(
|
||||
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");
|
||||
});
|
||||
|
||||
Ok(Redirect::to(
|
||||
uri!(super::blogs::details: name = blog_name, page = _),
|
||||
Ok(Flash::success(
|
||||
Redirect::to(uri!(super::blogs::details: name = blog_name, page = _)),
|
||||
i18n!(intl.catalog, "Your article have been deleted."),
|
||||
))
|
||||
} else {
|
||||
Ok(Redirect::to(
|
||||
Ok(Flash::error(Redirect::to(
|
||||
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,
|
||||
blog_name: String,
|
||||
slug: String,
|
||||
i18n: I18n,
|
||||
) -> Result<Ructe, ErrorPage> {
|
||||
let target = Blog::find_by_fqn(&rockets, &blog_name)
|
||||
.and_then(|blog| Post::find_by_slug(&rockets.conn, &slug, blog.id))?;
|
||||
Ok(render!(posts::remote_interact(
|
||||
&(&rockets.conn, &i18n.catalog, None),
|
||||
&rockets.to_context(),
|
||||
target,
|
||||
super::session::LoginForm::default(),
|
||||
ValidationErrors::default(),
|
||||
@ -614,7 +623,6 @@ pub fn remote_interact_post(
|
||||
blog_name: String,
|
||||
slug: String,
|
||||
remote: LenientForm<RemoteForm>,
|
||||
i18n: I18n,
|
||||
) -> Result<Result<Ructe, Redirect>, ErrorPage> {
|
||||
let target = Blog::find_by_fqn(&rockets, &blog_name)
|
||||
.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();
|
||||
errs.add("remote", ValidationError {
|
||||
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(),
|
||||
});
|
||||
//could not get your remote url?
|
||||
Ok(Ok(render!(posts::remote_interact(
|
||||
&(&rockets.conn, &i18n.catalog, None),
|
||||
&rockets.to_context(),
|
||||
target,
|
||||
super::session::LoginForm::default(),
|
||||
ValidationErrors::default(),
|
||||
|
@ -1,12 +1,10 @@
|
||||
use chrono::offset::Utc;
|
||||
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 std::str::FromStr;
|
||||
use template_utils::Ructe;
|
||||
use Searcher;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[derive(Default, FromForm)]
|
||||
pub struct SearchQuery {
|
||||
@ -52,13 +50,8 @@ macro_rules! param_to_query {
|
||||
}
|
||||
|
||||
#[get("/search?<query..>")]
|
||||
pub fn search(
|
||||
query: Option<Form<SearchQuery>>,
|
||||
conn: DbConn,
|
||||
searcher: Searcher,
|
||||
user: Option<User>,
|
||||
intl: I18n,
|
||||
) -> Ructe {
|
||||
pub fn search(query: Option<Form<SearchQuery>>, rockets: PlumeRocket) -> Ructe {
|
||||
let conn = &*rockets.conn;
|
||||
let query = query.map(Form::into_inner).unwrap_or_default();
|
||||
let page = query.page.unwrap_or_default();
|
||||
let mut parsed_query =
|
||||
@ -73,14 +66,16 @@ pub fn search(
|
||||
|
||||
if str_query.is_empty() {
|
||||
render!(search::index(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
&rockets.to_context(),
|
||||
&format!("{}", Utc::today().format("%Y-%m-d"))
|
||||
))
|
||||
} 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 };
|
||||
render!(search::result(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
&rockets.to_context(),
|
||||
&str_query,
|
||||
res,
|
||||
page.0,
|
||||
|
@ -2,8 +2,8 @@ use lettre::Transport;
|
||||
use rocket::http::ext::IntoOwned;
|
||||
use rocket::{
|
||||
http::{uri::Uri, Cookie, Cookies, SameSite},
|
||||
request::{FlashMessage, Form, LenientForm},
|
||||
response::Redirect,
|
||||
request::{Form, LenientForm},
|
||||
response::{Flash, Redirect},
|
||||
State,
|
||||
};
|
||||
use rocket_i18n::I18n;
|
||||
@ -12,21 +12,20 @@ use std::{
|
||||
sync::{Arc, Mutex},
|
||||
time::Instant,
|
||||
};
|
||||
use template_utils::Ructe;
|
||||
use validator::{Validate, ValidationError, ValidationErrors};
|
||||
|
||||
use mail::{build_mail, Mailer};
|
||||
use plume_models::{
|
||||
db_conn::DbConn,
|
||||
users::{User, AUTH_COOKIE},
|
||||
Error, PlumeRocket, CONFIG,
|
||||
};
|
||||
use routes::errors::ErrorPage;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[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(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
&rockets.to_context(),
|
||||
m,
|
||||
&LoginForm::default(),
|
||||
ValidationErrors::default()
|
||||
@ -44,10 +43,9 @@ pub struct LoginForm {
|
||||
#[post("/login", data = "<form>")]
|
||||
pub fn create(
|
||||
form: LenientForm<LoginForm>,
|
||||
flash: Option<FlashMessage>,
|
||||
mut cookies: Cookies,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Redirect, Ructe> {
|
||||
) -> Result<Flash<Redirect>, Ructe> {
|
||||
let conn = &*rockets.conn;
|
||||
let user = User::find_by_email(&*conn, &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)
|
||||
.finish(),
|
||||
);
|
||||
let destination = flash
|
||||
.and_then(|f| {
|
||||
if f.name() == "callback" {
|
||||
Some(f.msg().to_owned())
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
let destination = rockets
|
||||
.flash_msg
|
||||
.clone()
|
||||
.and_then(
|
||||
|(name, msg)| {
|
||||
if name == "callback" {
|
||||
Some(msg)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
},
|
||||
)
|
||||
.unwrap_or_else(|| "/".to_owned());
|
||||
|
||||
let uri = Uri::parse(&destination)
|
||||
.map(IntoOwned::into_owned)
|
||||
.map_err(|_| {
|
||||
render!(session::login(
|
||||
&(&*conn, &rockets.intl.catalog, None),
|
||||
&(conn, &rockets.intl.catalog, None, None),
|
||||
None,
|
||||
&*form,
|
||||
errors
|
||||
))
|
||||
})?;
|
||||
|
||||
Ok(Redirect::to(uri))
|
||||
Ok(Flash::success(
|
||||
Redirect::to(uri),
|
||||
i18n!(&rockets.intl.catalog, "You are now connected."),
|
||||
))
|
||||
} else {
|
||||
Err(render!(session::login(
|
||||
&(&*conn, &rockets.intl.catalog, None),
|
||||
&rockets.to_context(),
|
||||
None,
|
||||
&*form,
|
||||
errors
|
||||
@ -117,11 +122,14 @@ pub fn create(
|
||||
}
|
||||
|
||||
#[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) {
|
||||
cookies.remove_private(cookie);
|
||||
}
|
||||
Redirect::to("/")
|
||||
Flash::success(
|
||||
Redirect::to("/"),
|
||||
i18n!(intl.catalog, "You are now logged off."),
|
||||
)
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
@ -138,9 +146,9 @@ impl PartialEq for ResetRequest {
|
||||
}
|
||||
|
||||
#[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(
|
||||
&(&*conn, &intl.catalog, None),
|
||||
&rockets.to_context(),
|
||||
&ResetForm::default(),
|
||||
ValidationErrors::default()
|
||||
))
|
||||
@ -154,17 +162,16 @@ pub struct ResetForm {
|
||||
|
||||
#[post("/password-reset", data = "<form>")]
|
||||
pub fn password_reset_request(
|
||||
conn: DbConn,
|
||||
intl: I18n,
|
||||
mail: State<Arc<Mutex<Mailer>>>,
|
||||
form: Form<ResetForm>,
|
||||
requests: State<Arc<Mutex<Vec<ResetRequest>>>>,
|
||||
rockets: PlumeRocket,
|
||||
) -> Ructe {
|
||||
let mut requests = requests.lock().unwrap();
|
||||
// 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);
|
||||
|
||||
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())
|
||||
{
|
||||
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);
|
||||
if let Some(message) = build_mail(
|
||||
form.email.clone(),
|
||||
i18n!(intl.catalog, "Password reset"),
|
||||
i18n!(intl.catalog, "Here is the link to reset your password: {0}"; link),
|
||||
i18n!(rockets.intl.catalog, "Password reset"),
|
||||
i18n!(rockets.intl.catalog, "Here is the link to reset your password: {0}"; link),
|
||||
) {
|
||||
if let Some(ref mut mail) = *mail.lock().unwrap() {
|
||||
mail.send(message.into())
|
||||
@ -188,19 +195,14 @@ pub fn password_reset_request(
|
||||
}
|
||||
}
|
||||
}
|
||||
render!(session::password_reset_request_ok(&(
|
||||
&*conn,
|
||||
&intl.catalog,
|
||||
None
|
||||
)))
|
||||
render!(session::password_reset_request_ok(&rockets.to_context()))
|
||||
}
|
||||
|
||||
#[get("/password-reset/<token>")]
|
||||
pub fn password_reset_form(
|
||||
conn: DbConn,
|
||||
intl: I18n,
|
||||
token: String,
|
||||
requests: State<Arc<Mutex<Vec<ResetRequest>>>>,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Ructe, ErrorPage> {
|
||||
requests
|
||||
.lock()
|
||||
@ -209,7 +211,7 @@ pub fn password_reset_form(
|
||||
.find(|x| x.id == token.clone())
|
||||
.ok_or(Error::NotFound)?;
|
||||
Ok(render!(session::password_reset(
|
||||
&(&*conn, &intl.catalog, None),
|
||||
&rockets.to_context(),
|
||||
&NewPasswordForm::default(),
|
||||
ValidationErrors::default()
|
||||
)))
|
||||
@ -236,12 +238,11 @@ fn passwords_match(form: &NewPasswordForm) -> Result<(), ValidationError> {
|
||||
|
||||
#[post("/password-reset/<token>", data = "<form>")]
|
||||
pub fn password_reset(
|
||||
conn: DbConn,
|
||||
intl: I18n,
|
||||
token: String,
|
||||
requests: State<Arc<Mutex<Vec<ResetRequest>>>>,
|
||||
form: Form<NewPasswordForm>,
|
||||
) -> Result<Redirect, Ructe> {
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Flash<Redirect>, Ructe> {
|
||||
form.validate()
|
||||
.and_then(|_| {
|
||||
let mut requests = requests.lock().unwrap();
|
||||
@ -253,24 +254,30 @@ pub fn password_reset(
|
||||
if req.creation_date.elapsed().as_secs() < 60 * 60 * 2 {
|
||||
// Reset link is only valid for 2 hours
|
||||
requests.retain(|r| *r != req);
|
||||
let user = User::find_by_email(&*conn, &req.mail).map_err(to_validation)?;
|
||||
user.reset_password(&*conn, &form.password).ok();
|
||||
Ok(Redirect::to(uri!(
|
||||
new: m = i18n!(intl.catalog, "Your password was successfully reset.")
|
||||
)))
|
||||
let user = User::find_by_email(&*rockets.conn, &req.mail).map_err(to_validation)?;
|
||||
user.reset_password(&*rockets.conn, &form.password).ok();
|
||||
Ok(Flash::success(
|
||||
Redirect::to(uri!(
|
||||
new: m = _
|
||||
)),
|
||||
i18n!(
|
||||
rockets.intl.catalog,
|
||||
"Your password was successfully reset."
|
||||
),
|
||||
))
|
||||
} else {
|
||||
Ok(Redirect::to(uri!(
|
||||
new: m = i18n!(intl.catalog, "Sorry, but the link expired. Try again")
|
||||
)))
|
||||
Ok(Flash::error(
|
||||
Redirect::to(uri!(
|
||||
new: m = _
|
||||
)),
|
||||
i18n!(
|
||||
rockets.intl.catalog,
|
||||
"Sorry, but the link expired. Try again"
|
||||
),
|
||||
))
|
||||
}
|
||||
})
|
||||
.map_err(|err| {
|
||||
render!(session::password_reset(
|
||||
&(&*conn, &intl.catalog, None),
|
||||
&form,
|
||||
err
|
||||
))
|
||||
})
|
||||
.map_err(|err| render!(session::password_reset(&rockets.to_context(), &form, err)))
|
||||
}
|
||||
|
||||
fn to_validation<T>(_: T) -> ValidationErrors {
|
||||
|
@ -1,24 +1,16 @@
|
||||
use rocket_i18n::I18n;
|
||||
|
||||
use plume_models::{db_conn::DbConn, posts::Post, users::User};
|
||||
use plume_models::{posts::Post, PlumeRocket};
|
||||
use routes::{errors::ErrorPage, Page};
|
||||
use template_utils::Ructe;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[get("/tag/<name>?<page>")]
|
||||
pub fn tag(
|
||||
user: Option<User>,
|
||||
conn: DbConn,
|
||||
name: String,
|
||||
page: Option<Page>,
|
||||
intl: I18n,
|
||||
) -> Result<Ructe, ErrorPage> {
|
||||
pub fn tag(name: String, page: Option<Page>, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||
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(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
&rockets.to_context(),
|
||||
name.clone(),
|
||||
posts,
|
||||
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,
|
||||
};
|
||||
use routes::{errors::ErrorPage, Page, RemoteForm};
|
||||
use template_utils::Ructe;
|
||||
use template_utils::{IntoContext, Ructe};
|
||||
|
||||
#[get("/me")]
|
||||
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 recents = Post::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 {
|
||||
// Fetch new articles
|
||||
@ -101,12 +101,12 @@ pub fn details(
|
||||
}
|
||||
}
|
||||
|
||||
let account = rockets.user;
|
||||
let intl = rockets.intl;
|
||||
Ok(render!(users::details(
|
||||
&(&*conn, &intl.catalog, account.clone()),
|
||||
&rockets.to_context(),
|
||||
user.clone(),
|
||||
account
|
||||
rockets
|
||||
.user
|
||||
.clone()
|
||||
.and_then(|x| x.is_following(&*conn, user.id).ok())
|
||||
.unwrap_or(false),
|
||||
user.instance_id != Instance::get_local(&*conn)?.id,
|
||||
@ -120,12 +120,12 @@ pub fn details(
|
||||
}
|
||||
|
||||
#[get("/dashboard")]
|
||||
pub fn dashboard(user: User, conn: DbConn, intl: I18n) -> Result<Ructe, ErrorPage> {
|
||||
let blogs = Blog::find_for_author(&*conn, &user)?;
|
||||
pub fn dashboard(user: User, rockets: PlumeRocket) -> Result<Ructe, ErrorPage> {
|
||||
let blogs = Blog::find_for_author(&*rockets.conn, &user)?;
|
||||
Ok(render!(users::dashboard(
|
||||
&(&*conn, &intl.catalog, Some(user.clone())),
|
||||
&rockets.to_context(),
|
||||
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")]
|
||||
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 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)?;
|
||||
local_inbox(
|
||||
&rockets,
|
||||
serde_json::to_value(&delete_act).map_err(Error::from)?,
|
||||
)?;
|
||||
|
||||
let msg = i18n!(rockets.intl.catalog, "You are no longer following {}."; target.name());
|
||||
rockets
|
||||
.worker
|
||||
.execute(move || broadcast(&user, delete_act, vec![target]));
|
||||
msg
|
||||
} else {
|
||||
let f = follows::Follow::insert(
|
||||
&*conn,
|
||||
@ -166,11 +172,16 @@ pub fn follow(name: String, user: User, rockets: PlumeRocket) -> Result<Redirect
|
||||
f.notify(&*conn)?;
|
||||
|
||||
let act = f.to_activity(&*conn)?;
|
||||
let msg = i18n!(rockets.intl.catalog, "You are now following {}."; target.name());
|
||||
rockets
|
||||
.worker
|
||||
.execute(move || broadcast(&user, act, vec![target]));
|
||||
}
|
||||
Ok(Redirect::to(uri!(details: name = name)))
|
||||
msg
|
||||
};
|
||||
Ok(Flash::success(
|
||||
Redirect::to(uri!(details: name = name)),
|
||||
message,
|
||||
))
|
||||
}
|
||||
|
||||
#[post("/@/<name>/follow", data = "<remote_form>", rank = 2)]
|
||||
@ -209,7 +220,7 @@ pub fn follow_not_connected(
|
||||
);
|
||||
Ok(Ok(Flash::new(
|
||||
render!(users::follow_remote(
|
||||
&(&rockets.conn, &i18n.catalog, None),
|
||||
&rockets.to_context(),
|
||||
target,
|
||||
super::session::LoginForm::default(),
|
||||
ValidationErrors::default(),
|
||||
@ -223,7 +234,7 @@ pub fn follow_not_connected(
|
||||
} else {
|
||||
Ok(Ok(Flash::new(
|
||||
render!(users::follow_remote(
|
||||
&(&rockets.conn, &i18n.catalog, None),
|
||||
&rockets.to_context(),
|
||||
target,
|
||||
super::session::LoginForm::default(),
|
||||
ValidationErrors::default(),
|
||||
@ -260,10 +271,11 @@ pub fn followers(
|
||||
let followers_count = user.count_followers(&*conn)?;
|
||||
|
||||
Ok(render!(users::followers(
|
||||
&(&*conn, &rockets.intl.catalog, rockets.user.clone()),
|
||||
&rockets.to_context(),
|
||||
user.clone(),
|
||||
rockets
|
||||
.user
|
||||
.clone()
|
||||
.and_then(|x| x.is_following(&*conn, user.id).ok())
|
||||
.unwrap_or(false),
|
||||
user.instance_id != Instance::get_local(&*conn)?.id,
|
||||
@ -283,18 +295,19 @@ pub fn followed(
|
||||
let conn = &*rockets.conn;
|
||||
let page = page.unwrap_or_default();
|
||||
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(
|
||||
&(&*conn, &rockets.intl.catalog, rockets.user.clone()),
|
||||
&rockets.to_context(),
|
||||
user.clone(),
|
||||
rockets
|
||||
.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),
|
||||
user.instance_id != Instance::get_local(&*conn)?.id,
|
||||
user.get_instance(&*conn)?.public_domain,
|
||||
user.get_followed_page(&*conn, page.limits())?,
|
||||
user.instance_id != Instance::get_local(conn)?.id,
|
||||
user.get_instance(conn)?.public_domain,
|
||||
user.get_followed_page(conn, page.limits())?,
|
||||
page.0,
|
||||
Page::total(followed_count as i32)
|
||||
)))
|
||||
@ -311,20 +324,20 @@ pub fn activity_details(
|
||||
}
|
||||
|
||||
#[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(
|
||||
&(&*conn, &intl.catalog, user),
|
||||
Instance::get_local(&*conn)?.open_registrations,
|
||||
&rockets.to_context(),
|
||||
Instance::get_local(&*rockets.conn)?.open_registrations,
|
||||
&NewUserForm::default(),
|
||||
ValidationErrors::default()
|
||||
)))
|
||||
}
|
||||
|
||||
#[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('@') {
|
||||
Ok(render!(users::edit(
|
||||
&(&*conn, &intl.catalog, Some(user.clone())),
|
||||
&rockets.to_context(),
|
||||
UpdateUserForm {
|
||||
display_name: user.display_name.clone(),
|
||||
email: user.email.clone().unwrap_or_default(),
|
||||
@ -361,7 +374,8 @@ pub fn update(
|
||||
conn: DbConn,
|
||||
user: User,
|
||||
form: LenientForm<UpdateUserForm>,
|
||||
) -> Result<Redirect, ErrorPage> {
|
||||
intl: I18n,
|
||||
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||
user.update(
|
||||
&*conn,
|
||||
if !form.display_name.is_empty() {
|
||||
@ -380,7 +394,10 @@ pub fn update(
|
||||
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")]
|
||||
@ -389,7 +406,7 @@ pub fn delete(
|
||||
user: User,
|
||||
mut cookies: Cookies,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Redirect, ErrorPage> {
|
||||
) -> Result<Flash<Redirect>, ErrorPage> {
|
||||
let account = User::find_by_fqn(&rockets, &name)?;
|
||||
if user.id == account.id {
|
||||
account.delete(&*rockets.conn, &rockets.searcher)?;
|
||||
@ -404,9 +421,18 @@ pub fn delete(
|
||||
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 {
|
||||
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>")]
|
||||
pub fn create(conn: DbConn, form: LenientForm<NewUserForm>, intl: I18n) -> Result<Redirect, Ructe> {
|
||||
if !Instance::get_local(&*conn)
|
||||
pub fn create(
|
||||
form: LenientForm<NewUserForm>,
|
||||
rockets: PlumeRocket,
|
||||
) -> Result<Flash<Redirect>, Ructe> {
|
||||
let conn = &*rockets.conn;
|
||||
if !Instance::get_local(conn)
|
||||
.map(|i| i.open_registrations)
|
||||
.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();
|
||||
@ -477,7 +513,7 @@ pub fn create(conn: DbConn, form: LenientForm<NewUserForm>, intl: I18n) -> Resul
|
||||
form.validate()
|
||||
.and_then(|_| {
|
||||
NewUser::new_local(
|
||||
&*conn,
|
||||
conn,
|
||||
form.username.to_string(),
|
||||
form.username.to_string(),
|
||||
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)?,
|
||||
)
|
||||
.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| {
|
||||
render!(users::new(
|
||||
&(&*conn, &intl.catalog, None),
|
||||
Instance::get_local(&*conn)
|
||||
&rockets.to_context(),
|
||||
Instance::get_local(conn)
|
||||
.map(|i| i.open_registrations)
|
||||
.unwrap_or(true),
|
||||
&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::{Method, Status};
|
||||
@ -13,7 +13,41 @@ pub use askama_escape::escape;
|
||||
|
||||
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)]
|
||||
pub struct Ructe(pub Vec<u8>);
|
||||
|
@ -76,15 +76,28 @@ header {
|
||||
|
||||
.messages {
|
||||
& > * {
|
||||
padding: 1em 20%;
|
||||
padding: 1em 20%;
|
||||
margin: 0;
|
||||
max-width: initial;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
p.error {
|
||||
color: $red;
|
||||
color: darken($red, 20%);
|
||||
background: lighten($red, 40%);
|
||||
margin: 0;
|
||||
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
|
||||
|
@ -8,6 +8,8 @@ $white: #F4F4F4;
|
||||
$purple: #7765E3;
|
||||
$lightpurple: #c2bbee;
|
||||
$red: #E92F2F;
|
||||
$yellow: #ffe347;
|
||||
$green: #23f0c7;
|
||||
|
||||
// Fonts
|
||||
|
||||
|
@ -69,6 +69,11 @@
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
<div class="messages">
|
||||
@if let Some(ref message) = ctx.3 {
|
||||
<p class="flash-message @message.0">@message.1</p>
|
||||
}
|
||||
</div>
|
||||
<main>
|
||||
@:content()
|
||||
</main>
|
||||
|
Loading…
Reference in New Issue
Block a user