mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-06-26 06:51:41 +02:00
Merge commit '54d2c39c3ad0663b8b2c3302152282aeab339375' into weekly
This commit is contained in:
@@ -51,14 +51,14 @@
|
||||
"nodebb-plugin-composer-default": "4.0.2",
|
||||
"nodebb-plugin-dbsearch": "1.0.1",
|
||||
"nodebb-plugin-emoji-extended": "1.1.0",
|
||||
"nodebb-plugin-emoji-one": "1.1.4",
|
||||
"nodebb-plugin-markdown": "5.1.5",
|
||||
"nodebb-plugin-emoji-one": "1.1.5",
|
||||
"nodebb-plugin-markdown": "5.1.6",
|
||||
"nodebb-plugin-mentions": "1.1.2",
|
||||
"nodebb-plugin-soundpack-default": "0.1.6",
|
||||
"nodebb-plugin-spam-be-gone": "0.4.6",
|
||||
"nodebb-rewards-essentials": "0.0.8",
|
||||
"nodebb-theme-lavender": "3.0.13",
|
||||
"nodebb-theme-persona": "4.0.146",
|
||||
"nodebb-theme-persona": "4.0.148",
|
||||
"nodebb-theme-vanilla": "5.0.78",
|
||||
"nodebb-widget-essentials": "2.0.9",
|
||||
"nodemailer": "2.0.0",
|
||||
@@ -118,4 +118,4 @@
|
||||
"url": "https://github.com/barisusakli"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "قائمة معطلة",
|
||||
"topic-locked": "الموضوع مقفول",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"invalid-data": "Невалидни данни",
|
||||
"invalid-data": "Грешни данни",
|
||||
"not-logged-in": "Изглежда не сте влезли в системата.",
|
||||
"account-locked": "Вашият акаунт беше заключен временно",
|
||||
"search-requires-login": "Търсенето изисква акаунт – моля, влезте или се регистрирайте.",
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Категорията е изключена",
|
||||
"topic-locked": "Темата е заключена",
|
||||
"post-edit-duration-expired": "Можете да редактирате публикациите си до %1 секунда/и, след като ги пуснете",
|
||||
"post-edit-duration-expired-minutes": "Можете да редактирате публикациите си до %1 минута/и, след като ги пуснете",
|
||||
"post-edit-duration-expired-minutes-seconds": "Можете да редактирате публикациите си до %1 минута/и и %2 секунда/и, след като ги пуснете",
|
||||
"post-edit-duration-expired-hours": "Можете да редактирате публикациите си до %1 час(а), след като ги пуснете",
|
||||
"post-edit-duration-expired-hours-minutes": "Можете да редактирате публикациите си до %1 час(а) и %2 минута/и, след като ги пуснете",
|
||||
"post-edit-duration-expired-days": "Можете да редактирате публикациите си до %1 ден(а), след като ги пуснете",
|
||||
"post-edit-duration-expired-days-hours": "Можете да редактирате публикациите си до %1 ден(а) и %2 час(а), след като ги пуснете",
|
||||
"content-too-short": "Моля, въведете по-дълъг текст на публикацията. Публикациите трябва да съдържат поне %1 символ(а).",
|
||||
"content-too-long": "Моля, въведете по-кратък текст на публикацията. Публикациите трябва да съдържат не повече от %1 символ(а).",
|
||||
"title-too-short": "Моля, въведете по-дълго заглавие. Заглавията трябва да съдържат поне %1 символ(а).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "বিভাগটি নিষ্ক্রিয়",
|
||||
"topic-locked": "টপিক বন্ধ",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"category": "Kategorie",
|
||||
"subcategories": "Podkategorie",
|
||||
"new_topic_button": "Nové téma",
|
||||
"guest-login-post": "Přihlásit se pro přidání",
|
||||
"guest-login-post": "Přihlásit se pro přispívání",
|
||||
"no_topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první!",
|
||||
"browsing": "prohlíží",
|
||||
"no_replies": "Nikdo ještě neodpověděl",
|
||||
|
||||
@@ -22,11 +22,11 @@
|
||||
"email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.",
|
||||
"no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email",
|
||||
"email-confirm-failed": "We could not confirm your email, please try again later.",
|
||||
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
|
||||
"confirm-email-already-sent": "Potvrzovací email již byl odeslán. Vyčkejte %1 minut pokud chcete odeslat další.",
|
||||
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
|
||||
"username-too-short": "Uživatelské jméno je příliš krátké",
|
||||
"username-too-long": "Uživatelské jméno je příliš dlouhé",
|
||||
"password-too-long": "Password too long",
|
||||
"password-too-long": "Heslo je příliš dlouhé",
|
||||
"user-banned": "Uživatel byl zakázán",
|
||||
"user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post",
|
||||
"blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.",
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategorie zakázána",
|
||||
"topic-locked": "Téma uzamčeno",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategorien er deaktiveret",
|
||||
"topic-locked": "Tråden er låst",
|
||||
"post-edit-duration-expired": "Du kan kun redigere indlæg i %1 sekund(er) efter indlæg",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Venligst indtast et længere indlæg. Indlægget skal mindst indeholde %1 karakter(er).",
|
||||
"content-too-long": "Venligt indtast et kortere indlæg. Indlæg kan ikke være længere end %1 karakter(er).",
|
||||
"title-too-short": "Venligst indtast en længere titel. Titlen skal mindst indeholde %1 karakter(er).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategorie ist deaktiviert",
|
||||
"topic-locked": "Thema ist gesperrt",
|
||||
"post-edit-duration-expired": "Entschuldigung, du darfst Beiträge nur %1 Sekunde(n) nach dem Veröffentlichen editieren.",
|
||||
"post-edit-duration-expired-minutes": "Du darfst Beiträge lediglich innerhalb von %1 Minuten/n nach dem Erstellen editieren",
|
||||
"post-edit-duration-expired-minutes-seconds": "Du darfst Beiträge lediglich innerhalb von %1 Minuten/n und %2 Sekunden nach dem Erstellen editieren",
|
||||
"post-edit-duration-expired-hours": "Du darfst Beiträge lediglich innerhalb von %1 Stunde/n nach dem Erstellen editieren",
|
||||
"post-edit-duration-expired-hours-minutes": "Du darfst Beiträge lediglich innerhalb von %1 Stunde/n und %2 Minute/n nach dem Erstellen editieren",
|
||||
"post-edit-duration-expired-days": "Du darfst Beiträge lediglich innerhalb von %1 Tag/en nach dem Erstellen editieren",
|
||||
"post-edit-duration-expired-days-hours": "Du darfst Beiträge lediglich innerhalb von %1 Tag/en und %2 Stunde/n nach dem Erstellen editieren",
|
||||
"content-too-short": "Bitte schreibe einen längeren Beitrag. Beiträge sollten mindestens %1 Zeichen enthalten.",
|
||||
"content-too-long": "Bitte schreibe einen kürzeren Beitrag. Beiträge können nicht länger als %1 Zeichen sein.",
|
||||
"title-too-short": "Bitte gebe einen längeren Titel ein. Ein Titel muss mindestens %1 Zeichen enthalten.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Η κατηγορία έχει απενεργοποιηθεί",
|
||||
"topic-locked": "Το θέμα έχει κλειδωθεί",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Category disabled",
|
||||
"topic-locked": "Topic Locked",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
|
||||
"cant-ban-other-admins": "You can't ban other admins!",
|
||||
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
|
||||
"cant-delete-admin": "Remove administrator privileges from this account before attempting to delete it.",
|
||||
|
||||
"invalid-image-type": "Invalid image type. Allowed types are: %1",
|
||||
"invalid-image-extension": "Invalid image extension",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Category disabled",
|
||||
"topic-locked": "Topic Locked",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Categoría deshabilitada",
|
||||
"topic-locked": "Tema bloqueado",
|
||||
"post-edit-duration-expired": "Sólo puedes editar mensajes durante %1 segundo(s) después de haberlo escrito",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Por favor introduzca una publicación más larga. Las publicaciones deben contener al menos %1 caractere(s).",
|
||||
"content-too-long": "Por favor introduzca un mensaje más corto. Los mensajes no pueden exceder los %1 caractere(s).",
|
||||
"title-too-short": "Por favor introduzca un título más largo. Los títulos deben contener al menos %1 caractere(s).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategooria keelatud",
|
||||
"topic-locked": "Teema lukustatud",
|
||||
"post-edit-duration-expired": "Te peate ootama %1 sekund(it), enne kui oma postitust muudate.",
|
||||
"post-edit-duration-expired-minutes": "Teil on lubatud muuta oma postitusi vaid %1 minuti jooksul peale postitamist",
|
||||
"post-edit-duration-expired-minutes-seconds": "Teil on lubatud muuta oma postitusi vaid %1 minuti %2 sekundi jooksul peale postitamist",
|
||||
"post-edit-duration-expired-hours": "Teil on lubatud muuta oma postitusi vaid %1 tunni jooksul peale postitamist",
|
||||
"post-edit-duration-expired-hours-minutes": "Teil on lubatud muuta oma postitusi vaid %1 tunni %2 minuti jooksul peale postitamist",
|
||||
"post-edit-duration-expired-days": "Teil on lubatud muuta oma postitusi vaid %1 päeva jooksul peale postitamist",
|
||||
"post-edit-duration-expired-days-hours": "Teil on lubatud muuta oma postitusi vaid %1 päeva %2 tunni jooksul peale postitamist",
|
||||
"content-too-short": "Palun tehke pikem postitus. Postituse pikkus peab olema vähemalt %1 tähemärk(i).",
|
||||
"content-too-long": "Palun tehke lühem postitus. Postituse pikkus peab olema vähem kui %1 tähemärk(i).",
|
||||
"title-too-short": "Palun sisesta pikem pealkiri. Pealkirjad ei saa olla lühemad kui %1 tähemärk(i).",
|
||||
|
||||
@@ -45,9 +45,9 @@
|
||||
"watching": "Vaatan",
|
||||
"not-watching": "Ei vaata",
|
||||
"ignoring": "Ignoreerin",
|
||||
"watching.description": "Notify me of new replies.<br/>Show topic in unread.",
|
||||
"not-watching.description": "Do not notify me of new replies.<br/>Show topic in unread if category is not ignored.",
|
||||
"ignoring.description": "Do not notify me of new replies.<br/>Do not show topic in unread.",
|
||||
"watching.description": "Teavita mind uutest vastustest.<br/>Näita teemat lugemata teemade hulgas.",
|
||||
"not-watching.description": "Ära teavita mind uutest vastustest.<br/>Näita teemat lugemata teemade hulgas, kui kategooria on ignoreeritud.",
|
||||
"ignoring.description": "Ära teavita mind uutest vastustest.<br/>Ära näita teemat lugemata teemade hulgas.",
|
||||
"thread_tools.title": "Teema tööriistad",
|
||||
"thread_tools.markAsUnreadForAll": "Märgi mitte-loetuks",
|
||||
"thread_tools.pin": "Tõsta esile teema",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "دسته غیرفعال شد.",
|
||||
"topic-locked": "موضوع بسته شد.",
|
||||
"post-edit-duration-expired": "شما تنها می توانید %1 ثانیه پس از فرستادن پست آنرا ویرایش کنید",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "خواهشمندیم پست بلندتری بنویسید. پستها دستکم باید %1 کاراکتر داشته باشند.",
|
||||
"content-too-long": "لطفا طول مطلب را کوتاه تر کنید. طول پست نمیتواند بیشتر از %1 کاراکتر باشد.",
|
||||
"title-too-short": "لطفا یک عنوان بلندتر وارد کنید. عنوان باید حداقل %1 کاراکتر داشته باشد.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategoria ei ole käytössä",
|
||||
"topic-locked": "Aihe lukittu",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Ole hyvä ja syötä pidempi viesti. Sen pitäisi sisältää ainakin %1 merkki(ä).",
|
||||
"content-too-long": "Ole hyvä ja syötä lyhyempi viesti. Sen voi sisältää vain %1 merkki(ä).",
|
||||
"title-too-short": "Ole hyä ja syötä pidempi otsikko. Sen pitäisi sisältää anakin %1 merkki(ä).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Catégorie désactivée",
|
||||
"topic-locked": "Sujet verrouillé",
|
||||
"post-edit-duration-expired": "Vous ne pouvez modifier un message que %1 seconde(s) après l'avoir posté.",
|
||||
"post-edit-duration-expired-minutes": "Vous ne pouvez éditer un message que %1 minute(s) après l'avoir posté.",
|
||||
"post-edit-duration-expired-minutes-seconds": "Vous ne pouvez éditer un message que %1 minute(s) et %2 seconde(s) après l'avoir posté.",
|
||||
"post-edit-duration-expired-hours": "Vous ne pouvez éditer un message que %1 heure(s) après l'avoir posté.",
|
||||
"post-edit-duration-expired-hours-minutes": "Vous ne pouvez éditer un message que %1 heure(s) et %2 minute(s) après l'avoir posté.",
|
||||
"post-edit-duration-expired-days": "Vous ne pouvez éditer un message que %1 jours(s) après l'avoir posté.",
|
||||
"post-edit-duration-expired-days-hours": "Vous ne pouvez éditer un message que %1 jours(s) et %2 heures(s) après l'avoir posté.",
|
||||
"content-too-short": "Veuillez entrer un message plus long. %1 caractère(s) minimum.",
|
||||
"content-too-long": "Veuillez poster un message plus cours. Les messages ne peuvent être plus long que %1 caractère(s).",
|
||||
"title-too-short": "Veuillez entrer un titre plus long. %1 caractère(s) minimum.",
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"titles-posts": "Titres et Messages",
|
||||
"posted-by": "Posté par",
|
||||
"in-categories": "Dans les catégories",
|
||||
"search-child-categories": "Chercher les sous catégories",
|
||||
"search-child-categories": "Rechercher également dans les sous catégories",
|
||||
"reply-count": "Nombre de réponses",
|
||||
"at-least": "Au moins",
|
||||
"at-most": "Au plus",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Categoría deshabilitada",
|
||||
"topic-locked": "Tema Pechado",
|
||||
"post-edit-duration-expired": "Só podes editar as publicacións %1 segundo(s) despois de envialas. ",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Por favor, introduce unha publicación máis longa. Debe conter %1 carácter(es) como mínimo.",
|
||||
"content-too-long": "Por favor, introduce unha publicación máis curta. As publicacións non poden conter máis de %1 carácter(es).",
|
||||
"title-too-short": "Por favor, introduce un título máis longo. Os títulos deben conter %1 carácter(es) como mínimo.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "קטגוריה לא פעילה",
|
||||
"topic-locked": "נושא נעול",
|
||||
"post-edit-duration-expired": "אתה רשאי לערוך פוסטים רק ל-%1 שניות לאחר הפרסום",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "אנא הכנס פוסט ארוך יותר. פוסטים חייבים להכיל לפחות %1 תווים.",
|
||||
"content-too-long": "אנא הכנס פוסט קצר יותר. פוסטים חייבים להיות קצרים יותר מ-%1 תווים.",
|
||||
"title-too-short": "אנא הכנס כותרת ארוכה יותר. כותרות חייבות להכיל לפחות %1 תווים.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategória kikapcsolva",
|
||||
"topic-locked": "Téma lezárva",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategori ditiadakan",
|
||||
"topic-locked": "Topik dikunci",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Categoria disabilitata",
|
||||
"topic-locked": "Discussione Bloccata",
|
||||
"post-edit-duration-expired": "Ti è consentito modificare un post per %1 secondi dopo averlo inviato",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Inserisci un testo più lungo. Il messaggio deve contenere almeno %1 caratteri.",
|
||||
"content-too-long": "Inserisci un post più breve. I post non possono essere più lunghi di %1 caratteri.",
|
||||
"title-too-short": "Inserisci un titolo più lungo. I titoli devono contenere almeno %1 caratteri.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "この板は無効された",
|
||||
"topic-locked": "スレッドがロックされた",
|
||||
"post-edit-duration-expired": "あなたが%1秒後に投稿を編集する事が許されます",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "より長く投稿を書いて下さい。投稿にはせめて%1文字が必要です。",
|
||||
"content-too-long": "より短く投稿を書いて下さい。投稿が%1文字以上が許されません。",
|
||||
"title-too-short": "より長くタイトルを書いて下さい。タイトルはせめて%1文字が必要です。",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "비활성화된 카테고리입니다.",
|
||||
"topic-locked": "잠긴 주제입니다.",
|
||||
"post-edit-duration-expired": "게시물의 수정은 작성한 시간으로부터 %1초 후에 가능합니다.",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "게시물의 내용이 너무 짧습니다. 내용은 최소 %1자 이상이어야 합니다.",
|
||||
"content-too-long": "게시물의 내용이 너무 깁니다. 내용은 최대 %1자 이내로 작성할 수 있습니다.",
|
||||
"title-too-short": "제목이 너무 짧습니다. 제목은 최소 %1자 이상이어야 합니다.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategorija išjungta",
|
||||
"topic-locked": "Tema užrakinta",
|
||||
"post-edit-duration-expired": "Jums galima redaguoti pranešims tik %1 sekunde(s) po parašymo",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Prašome parašyti ilgesni pranešimą. Pranešimas turi sudaryti mažiausiai %1 simboli(us)",
|
||||
"content-too-long": "Prašome parašyti trumpesnį pranešimą. Pranešimas negali sudaryti daugiau %1 simboli(us)",
|
||||
"title-too-short": "Prašome įvesti ilgesni pavadinimą. Pavadinimas turi sudaryti mažiausiai %1 simboli(us)",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategori dilumpuhkan",
|
||||
"topic-locked": "Topik Dikunci",
|
||||
"post-edit-duration-expired": "Anda hanya dibenarkan menyunting kiriman selepas %1 saat() berlalu",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Sila masukkan kiriman yang lebih panjang. Kiriman mesti mengandungi sekurang-kurangnya %1 aksara().",
|
||||
"content-too-long": "Sila masukkan kiriman yang lebih ringkas. Kiriman mesti mengandungi tidak lebih %1 aksara().",
|
||||
"title-too-short": "Sila masukkan tajuk yang lebih panjang. Tajuk mesti mengandungi sekurang-kurangnya %1 aksara().",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategori deaktivert",
|
||||
"topic-locked": "Emne låst",
|
||||
"post-edit-duration-expired": "Du har bare lov til å redigere innlegg i %1 sekund(er) etter at det er sendt",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Vennligst skriv et lengre innlegg. Innlegg må inneholde minst %1 tegn.",
|
||||
"content-too-long": "Vennligst skriv et kortere innlegg. Innlegg kan ikke være lengre enn %1 tegn.",
|
||||
"title-too-short": "Vennligst skriv en lengre tittel. Titler må inneholde minst %1 tegn.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Categorie uitgeschakeld",
|
||||
"topic-locked": "Onderwerp gesloten",
|
||||
"post-edit-duration-expired": "Het is slechts toegestaan om binnen %1 seconde(n) na plaatsen van het bericht, deze te bewerken.",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Geef wat meer inhoud aan een bericht! Berichten dienen uit minimaal %1 teken(s) te bestaan.",
|
||||
"content-too-long": "Kort het bericht wat in, het aantal gebruikte tekens overschrijdt het ingestelde limiet want berichten mogen niet meer dan %1 teken(s) bevatten.",
|
||||
"title-too-short": "Geef een titel op die uit meer tekens bestaat. Titels dienen ten minste uit %1 teken(s) te bestaan.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategoria wyłączona.",
|
||||
"topic-locked": "Temat Zablokowany",
|
||||
"post-edit-duration-expired": "Możesz edytować posty tylko przez %1 sekund(y) po ich napisaniu",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Prosimy wpisać dłuższy post. Posty powinny zawierać co najmniej %1 znaków.",
|
||||
"content-too-long": "Prosimy wpisać krótszy post. Posty nie mogą zawierać więcej niż %1 znaków.",
|
||||
"title-too-short": "Prosimy podać dłuższy tytuł. Tytuły powinny zawierać co najmniej %1 znaków.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Categoria desativada",
|
||||
"topic-locked": "Tópico Trancado",
|
||||
"post-edit-duration-expired": "Você só pode editar posts %1 segundo(s) após postar.",
|
||||
"post-edit-duration-expired-minutes": "Você pode apenas editar posts por %1 minuto(s) após postar",
|
||||
"post-edit-duration-expired-minutes-seconds": "Você pode apenas editar posts por %1 minuto(s) e %2 segundo(s) após postar",
|
||||
"post-edit-duration-expired-hours": "Você pode apenas editar posts por %1 hora(s) após postar",
|
||||
"post-edit-duration-expired-hours-minutes": "Você pode apenas editar posts por %1 hora(s) e %2 minuto(s) após postar",
|
||||
"post-edit-duration-expired-days": "Você pode apenas editar posts por %1 dia(s) após postar",
|
||||
"post-edit-duration-expired-days-hours": "Você pode apenas editar posts por %1 dia(s) e %2 hora(s) após postar",
|
||||
"content-too-short": "Por favor digite um post maior. Posts precisam conter ao menos %1 caractere(s).",
|
||||
"content-too-long": "Por favor digite um post mais curto. Posts não podem ser maiores que %1 caractere(s)",
|
||||
"title-too-short": "Por favor digite um título maior. Títulos devem conter no mínimo %1 caractere(s)",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Categorie dezactivată",
|
||||
"topic-locked": "Subiect Închis",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"invalid-password": "Неверный пароль",
|
||||
"invalid-username-or-password": "Пожалуйста, укажите и имя пользователя и пароль",
|
||||
"invalid-search-term": "Неверный поисковой запрос",
|
||||
"csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again",
|
||||
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
|
||||
"csrf-invalid": "Нам не удалось Вас найти из-за просроченной сессии. Попробуйте еще раз.",
|
||||
"invalid-pagination-value": "Неверное значение страницы. Значение должно быть в диапазоне от %1 до %2",
|
||||
"username-taken": "Имя пользователя занято",
|
||||
"email-taken": "Email занят",
|
||||
"email-not-confirmed": "Ваш email не подтвержден, нажмите для подтверждения.",
|
||||
@@ -23,7 +23,7 @@
|
||||
"no-email-to-confirm": "Этот форум требует подтверждения по E-mail. Нажмите здесь для ввода E-mail.",
|
||||
"email-confirm-failed": "Мы не можем подтвердить Ваш E-mail, попробуйте позже.",
|
||||
"confirm-email-already-sent": "Сообщение для подтверждения уже выслано на E-mail. Повторная отправка возможна через %1 мин.",
|
||||
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
|
||||
"sendmail-not-found": "Не можем найти sendmail, убедитесь что он установлен и управляется NodeBB.",
|
||||
"username-too-short": "Слишком короткое имя пользователя",
|
||||
"username-too-long": "Имя пользователя слишком длинное",
|
||||
"password-too-long": "Пароль слишком длинный",
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Категория отключена",
|
||||
"topic-locked": "Тема закрыта",
|
||||
"post-edit-duration-expired": "Сообщения можно редактировать только в течение %1 секунд(ы) после опубликования",
|
||||
"post-edit-duration-expired-minutes": "Вы можете редактировать посты только в течение %1 минут(ы) после публикации.",
|
||||
"post-edit-duration-expired-minutes-seconds": "Вы можете редактировать сообщение в течение %1 минут(ы) %2 секунд(ы) после публикации.",
|
||||
"post-edit-duration-expired-hours": "Вы можете редактировать сообщения в течение %1 час(а) после публикации.",
|
||||
"post-edit-duration-expired-hours-minutes": "Вы можете редактировать сообщения в течение %1 час(а) %2 минут(ы) после публикации.",
|
||||
"post-edit-duration-expired-days": "Вы можете редактировать сообщения в течение %1 дня(ей) после публикации.",
|
||||
"post-edit-duration-expired-days-hours": "Вы можете редактировать сообщения в течение %1 чдня(ей) и %2 час(а) после публикации.",
|
||||
"content-too-short": "Слишком короткое сообщение. Минимум символов: %1.",
|
||||
"content-too-long": "Слишком длинное сообщение. Максимум символов: %1.",
|
||||
"title-too-short": "Слишком короткое сообщение. Минимум символов: %1.",
|
||||
@@ -54,7 +60,7 @@
|
||||
"file-too-big": "Слишком большой файл. Максимальный размер: %1 Кбайт.",
|
||||
"guest-upload-disabled": "Загрузка для гостей была отключена",
|
||||
"already-favourited": "Вы уже добавили это сообщение в закладки",
|
||||
"already-unfavourited": "You have already unbookmarked this post",
|
||||
"already-unfavourited": "Вы уже убрали из закладок этот пост",
|
||||
"cant-ban-other-admins": "Вы не можете забанить других администраторов!",
|
||||
"cant-remove-last-admin": "Вы единственный администратор. Назначьте другого пользователя администратором, прежде чем складывать с себя полномочия админа",
|
||||
"invalid-image-type": "Неверный формат изображения. Поддерживаемые форматы: %1",
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
"topics": "Темы",
|
||||
"posts": "Сообщения",
|
||||
"best": "Лучшие",
|
||||
"upvoted": "Upvoted",
|
||||
"downvoted": "Downvoted",
|
||||
"upvoted": "Повышение рейтинга",
|
||||
"downvoted": "Понижение рейтинга",
|
||||
"views": "Просмотры",
|
||||
"reputation": "Репутация",
|
||||
"read_more": "читать дальше",
|
||||
@@ -60,12 +60,12 @@
|
||||
"posted_ago_by": "сообщений %1 от %2",
|
||||
"posted_ago": "написал %1",
|
||||
"posted_in": "написал в %1",
|
||||
"posted_in_by": "posted in %1 by %2",
|
||||
"posted_in_by": "опубликовано в %1 %2",
|
||||
"posted_in_ago": "написал в %1 %2",
|
||||
"posted_in_ago_by": "%3 написал в %1 %2",
|
||||
"user_posted_ago": "%1 написал %2",
|
||||
"guest_posted_ago": "Гость написал %1",
|
||||
"last_edited_by": "last edited by %1",
|
||||
"last_edited_by": "отредактировано %1",
|
||||
"norecentposts": "Нет новых сообщений",
|
||||
"norecenttopics": "Нету новых тем",
|
||||
"recentposts": "Свежие записи",
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
"details.hidden": "Скрыто",
|
||||
"details.hidden_help": "Если включено, группа не будет показываться в списках, а пользователи должны приглашаться вручную",
|
||||
"details.delete_group": "Удалить группу",
|
||||
"details.private_system_help": "Private groups is disabled at system level, this option does not do anything",
|
||||
"details.private_system_help": "Частные группы отключены на уровне системы, эта опция ничего не даст",
|
||||
"event.updated": "Настройки группы обновлены",
|
||||
"event.deleted": "Группа \"%1\" удалена",
|
||||
"membership.accept-invitation": "Принять приглашение",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"remember_me": "Запомнить меня",
|
||||
"forgot_password": "Забыли пароль?",
|
||||
"alternative_logins": "Войти через",
|
||||
"failed_login_attempt": "Login Unsuccessful",
|
||||
"failed_login_attempt": "Некорректный логин",
|
||||
"login_successful": "Вы успешно вошли!",
|
||||
"dont_have_account": "Нет акканута?"
|
||||
}
|
||||
@@ -16,9 +16,9 @@
|
||||
"upvoted_your_post_in_multiple": "<strong>%1</strong> и %2 другие проголосовали за ваше сообщение в <strong>%3</strong>",
|
||||
"moved_your_post": "<strong>%1</strong> переместил Ваше сообщение в <strong>%2</strong>",
|
||||
"moved_your_topic": "<strong>%1</strong> переместил <strong>%2</strong>",
|
||||
"favourited_your_post_in": "<strong>%1</strong> has bookmarked your post in <strong>%2</strong>.",
|
||||
"favourited_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have bookmarked your post in <strong>%3</strong>.",
|
||||
"favourited_your_post_in_multiple": "<strong>%1</strong> and %2 others have bookmarked your post in <strong>%3</strong>.",
|
||||
"favourited_your_post_in": "<strong>%1</strong> сделал закладкой Ваш пост в <strong>%2</strong>.",
|
||||
"favourited_your_post_in_dual": "<strong>%1</strong> и <strong>%2</strong> добавили в закладки Ваш пост в <strong>%3</strong>.",
|
||||
"favourited_your_post_in_multiple": "<strong>%1</strong> и %2 добавили в закладки Ваш пост в <strong>%3</strong>.",
|
||||
"user_flagged_post_in": "<strong>%1</strong> пометил сообщение в <strong>%2</strong>",
|
||||
"user_flagged_post_in_dual": "<strong>%1</strong> и <strong>%2</strong> пометили ваше сообщение в <strong>%3</strong>",
|
||||
"user_flagged_post_in_multiple": "<strong>%1</strong> и %2 другие пометили ваше сообщение <strong>%3</strong>",
|
||||
@@ -30,7 +30,7 @@
|
||||
"user_started_following_you_dual": "<strong>%1</strong> и <strong>%2</strong> подписались на вас.",
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> и %2 подписались на вас.",
|
||||
"new_register": "<strong>%1</strong> отправил запрос на регистрацию.",
|
||||
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
|
||||
"new_register_multiple": "В очереди <strong>%1</strong> заявок на регистрацию.",
|
||||
"email-confirmed": "Email подтвержден",
|
||||
"email-confirmed-message": "Спасибо за подтверждение Вашего Email-адреса. Ваш аккаунт активирован.",
|
||||
"email-confirm-error-message": "Ошибка проверки Email-адреса. Возможно, код неверен, либо у него истек срок действия.",
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
"account/posts": "Сообщение от %1",
|
||||
"account/topics": "Тема создана %1",
|
||||
"account/groups": "%1 Групп",
|
||||
"account/favourites": "%1's Bookmarked Posts",
|
||||
"account/favourites": "%1 постов в закладках",
|
||||
"account/settings": "Настройки пользователя",
|
||||
"account/watched": "Тему смотрели %1",
|
||||
"account/upvoted": "Posts upvoted by %1",
|
||||
"account/downvoted": "Posts downvoted by %1",
|
||||
"account/upvoted": "Рейтинг поста поднят %1",
|
||||
"account/downvoted": "Рейтинг поста снижен %1",
|
||||
"account/best": "Лучшие сообщения написанные %1",
|
||||
"confirm": "Email подтвержден",
|
||||
"maintenance.text": "%1 в настоящее время на обслуживании. Пожалуйста, возвращайтесь позже.",
|
||||
"maintenance.messageIntro": "Администратор оставил сообщение:",
|
||||
"throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time."
|
||||
"throttled.text": "%1 в настоящее время недоступен из-за высокой нагрузки. Пожалуйста, приходите в другой раз."
|
||||
}
|
||||
@@ -26,13 +26,13 @@
|
||||
"tools": "Опции",
|
||||
"flag": "Отметить",
|
||||
"locked": "Закрыт",
|
||||
"bookmark_instructions": "Click here to return to the last read post in this thread.",
|
||||
"bookmark_instructions": "Нажмите здесь, чтобы вернуться к последнему прочитанному сообщению в этой теме.",
|
||||
"flag_title": "Отметить сообщение для модерирования",
|
||||
"flag_success": "Это сообщение было помечено для модерации",
|
||||
"deleted_message": "Эта тема была удалена. Только пользователи с правами управления темами могут ее видеть.",
|
||||
"following_topic.message": "Теперь вы будете получать уведомления при обновлении этой темы.",
|
||||
"not_following_topic.message": "Вы больше не будете получать уведомления из этой темы.",
|
||||
"ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.",
|
||||
"ignoring_topic.message": "Вы больше не будете видеть эту тему в списке непрочитанных тем. Вас уведомят, когда Вас упомянут или проголосуют за Ваш пост.",
|
||||
"login_to_subscribe": "Пожалуйста зарегистрируйтесь, или войдите под своим аккаунтом, чтобы подписаться на эту тему.",
|
||||
"markAsUnreadForAll.success": "Тема помечена как непрочитанная для всех.",
|
||||
"mark_unread": "Отметить как непрочитанное",
|
||||
@@ -42,12 +42,12 @@
|
||||
"watch.title": "Сообщать мне об ответах в этой теме",
|
||||
"unwatch.title": "Не сообщать мне об ответах в этой теме",
|
||||
"share_this_post": "Поделиться этим Сообщением",
|
||||
"watching": "Watching",
|
||||
"not-watching": "Not Watching",
|
||||
"watching": "Наблюдать",
|
||||
"not-watching": "Не наблюдать",
|
||||
"ignoring": "Игнорирование",
|
||||
"watching.description": "Notify me of new replies.<br/>Show topic in unread.",
|
||||
"not-watching.description": "Do not notify me of new replies.<br/>Show topic in unread if category is not ignored.",
|
||||
"ignoring.description": "Do not notify me of new replies.<br/>Do not show topic in unread.",
|
||||
"watching.description": "Сообщить мне о новых ответах.<br/>Показать тему в непрочитанных.",
|
||||
"not-watching.description": "Не уведомлять меня о новых ответах.<br/>Показать тему в непрочитанных, если категория мной не игнорируется.",
|
||||
"ignoring.description": "Не уведомлять меня о новых ответах.<br/>Не отображать тему в непрочитанных.",
|
||||
"thread_tools.title": "Опции темы",
|
||||
"thread_tools.markAsUnreadForAll": "Отметить как непрочитанные",
|
||||
"thread_tools.pin": "Прикрепить тему",
|
||||
@@ -108,12 +108,12 @@
|
||||
"newest_to_oldest": "От новых к старым",
|
||||
"most_votes": "По голосам",
|
||||
"most_posts": "По количеству ответов",
|
||||
"stale.title": "Create new topic instead?",
|
||||
"stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?",
|
||||
"stale.title": "Создать новую тему вместо этой?",
|
||||
"stale.warning": "Тема, в которую Вы пишите, очень старая. Вы хотите создать новую тему?",
|
||||
"stale.create": "Создать новую тему",
|
||||
"stale.reply_anyway": "Всё равно ответить в этой теме",
|
||||
"link_back": "Re: [%1](%2)",
|
||||
"link_back": "Ответ: [%1](%2)",
|
||||
"spam": "Спам",
|
||||
"offensive": "Offensive",
|
||||
"custom-flag-reason": "Enter a flagging reason"
|
||||
"offensive": "Наступление",
|
||||
"custom-flag-reason": "Введите другую причину"
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
"all": "Все",
|
||||
"all_categories": "Все категории",
|
||||
"topics_marked_as_read.success": "Темы помечены как прочитанные!",
|
||||
"all-topics": "All Topics",
|
||||
"new-topics": "New Topics",
|
||||
"watched-topics": "Watched Topics"
|
||||
"all-topics": "Все темы",
|
||||
"new-topics": "Новые темы",
|
||||
"watched-topics": "Наблюдаемые темы"
|
||||
}
|
||||
@@ -79,9 +79,9 @@
|
||||
"has_no_posts": "Этот пользователь еще ничего не написал.",
|
||||
"has_no_topics": "Этот пользователь еще не размещал какие-либо темы.",
|
||||
"has_no_watched_topics": "Этот пользователь еще не просматривал какие-либо темы.",
|
||||
"has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
|
||||
"has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
|
||||
"has_no_voted_posts": "This user has no voted posts",
|
||||
"has_no_upvoted_posts": "Пользователь не поднимал рейтинг ни одному посту.",
|
||||
"has_no_downvoted_posts": "Пользователь не понижал рейтинг ни одному посту.",
|
||||
"has_no_voted_posts": "Пользователь не голосовал за сообщения.",
|
||||
"email_hidden": "Email скрыт",
|
||||
"hidden": "скрыто",
|
||||
"paginate_description": "Разбивать по страницам топики и посты вместо того чтобы выводить бесконечным списком",
|
||||
@@ -92,19 +92,19 @@
|
||||
"open_links_in_new_tab": "Открывать внешние ссылки в новых вкладках",
|
||||
"enable_topic_searching": "Активировать поиск внутри тем",
|
||||
"topic_search_help": "Если опция включена, поиск в теме будет осуществляться за счёт собственного поиска, который позволит искать во всей теме, а не только в загруженных сообщениях",
|
||||
"delay_image_loading": "Delay Image Loading",
|
||||
"image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view",
|
||||
"scroll_to_my_post": "After posting a reply, show the new post",
|
||||
"delay_image_loading": "Ожидайте загрузки изображения",
|
||||
"image_load_delay_help": "Если включить, изображения в темах не будут загружаться, пока они не появятся в поле зрения.",
|
||||
"scroll_to_my_post": "После отправки ответа, прокрутить страницу до него.",
|
||||
"follow_topics_you_reply_to": "Следить за темами в которых вы отвечаете",
|
||||
"follow_topics_you_create": "Следить за темами которые вы создаёте",
|
||||
"grouptitle": "Group Title",
|
||||
"grouptitle": "Заголовок группы",
|
||||
"no-group-title": "Не показывать бейдж",
|
||||
"select-skin": "Выбрать скин",
|
||||
"select-homepage": "Укажите главную страницу",
|
||||
"homepage": "Главная страница",
|
||||
"homepage_description": "Укажите страницу, которую хотите использовать как главную страницу форума или 'None', что бы использовать страницу по умолчанию.",
|
||||
"custom_route": "Custom Homepage Route",
|
||||
"custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")",
|
||||
"custom_route": "Другой маршрут главной страницы",
|
||||
"custom_route_help": "Введите название маршрута здесь, без слешей (например, \\\"recent\\\", или \\\"popular\\\")",
|
||||
"sso.title": "Сервис единого входа",
|
||||
"sso.associated": "Связан с",
|
||||
"sso.not-associated": "Нажмите здесь, что бы связать себя с"
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Icyiciro cyabujijwe",
|
||||
"topic-locked": "Ikiganiro Cyafungiranywe",
|
||||
"post-edit-duration-expired": "Wemerewe gusa kugira icyo uhindura ku byo washyizeho nyuma y'amasegonda (isegonda) %1 nyuma yo kubishyiraho",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Gerageza ushyireho ikintu kirekireho. Icyo ushyiraho kigomba kuba kigizwe nibura n'inyuguti (cyangwa ibimenyetso) zigera kuri %1.",
|
||||
"content-too-long": "Gerageza ushyireho ibintu bigufiyaho. Icyo ushyiraho kigomba kuba kigizwe n'inyuguti (cyangwa ibimenyetso) zirenga %1. ",
|
||||
"title-too-short": "Gerageza ushyireho umutwe muremureho. Umutwe ugomba kuba ugizwe n'inyuguti (cyangwa ibimenyetso) zigera kuri %1. ",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Category disabled",
|
||||
"topic-locked": "Topic Locked",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategória je znefunkčená.",
|
||||
"topic-locked": "Uzamknutá téma",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategorija onemogočena",
|
||||
"topic-locked": "Tema zaklenjena",
|
||||
"post-edit-duration-expired": "Urejanje objave je dovoljeno le %1 sekund po prvi objavi.",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Prosimo napišite daljšo objavo. Objave morajo vsebovati vsaj %1 znak(ov).",
|
||||
"content-too-long": "Prosimo napišite krajšo objavo. Objave ne smejo vsebovati več kot %1 znak(ov).",
|
||||
"title-too-short": "Prosimo vnesite daljši naslov. Naslovi morajo vsebovati vsaj %1 znak(ov).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Category disabled",
|
||||
"topic-locked": "Тема је закључана",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategorin inaktiverad",
|
||||
"topic-locked": "Ämnet låst",
|
||||
"post-edit-duration-expired": "Du kan endast ändra inlägg inom %1 sekund(er) efter att ha skickat det",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Skriv ett längre inlägg. Inlägg måste innehålla minst %1 tecken.",
|
||||
"content-too-long": "Skriv ett kortare inlägg. Inlägg kan inte innehålla mer än %1 tecken.",
|
||||
"title-too-short": "Skriv en längre rubrik. Rubriker måste innehålla minst %1 tecken.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Category นี้ถูกปิดการใช้งานแล้ว",
|
||||
"topic-locked": "Topic Locked",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"invalid-password": "Geçersiz Şifre",
|
||||
"invalid-username-or-password": "Lütfen kullanıcı ismi ve parola girin.",
|
||||
"invalid-search-term": "Geçersiz arama",
|
||||
"csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again",
|
||||
"csrf-invalid": "Büyük olasılıkla süresi dolmuş oturum nedeniyle girişinizi geçersiz kıldık. Lütfen tekrar deneyiniz.",
|
||||
"invalid-pagination-value": "Geçersiz sayfalama değeri, en az %1 ve en fazla %2 olabilir",
|
||||
"username-taken": "Kullanıcı İsmi Alınmış",
|
||||
"email-taken": "E-posta Alınmış",
|
||||
@@ -23,7 +23,7 @@
|
||||
"no-email-to-confirm": "Bu forum e-posta doğrulaması gerektirir, lütfen buraya bir e-posta adresi girin",
|
||||
"email-confirm-failed": "E-posta adresinizi doğrulayamıyoruz. Lütfen daha sonra tekrar deneyin.",
|
||||
"confirm-email-already-sent": "E-mail onayı zaten gönderilmiş, yeni bir onay göndermek için lütfen 1 dakika bekleyin.",
|
||||
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
|
||||
"sendmail-not-found": "Sendmail yürütülemedi, lüften indirildiğinden ve NodeBB kullanıcısı tarafından uygulanabilir olduğundan emin olun.",
|
||||
"username-too-short": "Kullanıcı ismi çok kısa",
|
||||
"username-too-long": "Kullanıcı ismi çok uzun.",
|
||||
"password-too-long": "Parola çok uzun",
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Kategori aktif değil",
|
||||
"topic-locked": "Başlık Kilitli",
|
||||
"post-edit-duration-expired": "Gönderilen iletiler %1 saniyeden sonra değiştirilemez",
|
||||
"post-edit-duration-expired-minutes": "Gönderildikten %1 dakika(s) sonra iletini düzenlemene izin verilir.",
|
||||
"post-edit-duration-expired-minutes-seconds": "Gönderildikten %1 dakika(s) %2 saniye(s) sonra iletini düzenlemene izin verilir.",
|
||||
"post-edit-duration-expired-hours": "Gönderildikten %1 saat(s) sonra iletini düzenlemene izin verilir.",
|
||||
"post-edit-duration-expired-hours-minutes": "Gönderildikten %1 saat(s) %2 dakika(s) sonra iletini düzenlemene izin verilir.",
|
||||
"post-edit-duration-expired-days": "Gönderildikten %1 gün(s) sonra iletini düzenlemene izin verilir.",
|
||||
"post-edit-duration-expired-days-hours": "Gönderildikten %1 gün(s) %2 saat(s) sonra iletini düzenlemene izin verilir.",
|
||||
"content-too-short": "Lütfen daha uzun bir ileti girin. En az %1 karakter.",
|
||||
"content-too-long": "Lütfen daha kısa bir ileti girin. İletiler %1 karakterden uzun olamaz.",
|
||||
"title-too-short": "Lütfen daha uzun bir başlık girin. Başlıklar en az %1 karakter içermelidir.",
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
"deleted_message": "Bu başlık silindi. Sadece başlık düzenleme yetkisi olan kullanıcılar görebilir.",
|
||||
"following_topic.message": "Artık bir kullanıcı bu başlığa ileti gönderdiğinde bildirim alacaksınız.",
|
||||
"not_following_topic.message": "Artık bu başlık için bildirim almayacaksınız.",
|
||||
"ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.",
|
||||
"ignoring_topic.message": "Bu başlığı okunmamış başlıklar alanında görmeyeceksin. Eğer bir iletide bahsedilirsen veya iletin oylanırsa bildiri alacaksın.",
|
||||
"login_to_subscribe": "Lütfen bu iletiyi başlığa üye olmak için giriş yapın.",
|
||||
"markAsUnreadForAll.success": "Başlık herkes için okunmadı olarak işaretlendi.",
|
||||
"mark_unread": "Okunmadı olarak işaretle",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "Danh mục bị khóa",
|
||||
"topic-locked": "Chủ đề bị khóa",
|
||||
"post-edit-duration-expired": "Bạn chỉ được phép sửa bài viết sau khi đăng %1 giây.",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "Vui lòng nhập một bài viết dài hơn. Bài viết phải có tối thiểu %1 ký tự.",
|
||||
"content-too-long": "Vui lòng nhập một bài viết ngắn hơn. Bài viết chỉ có thể có tối đa %1 ký tự.",
|
||||
"title-too-short": "Vui lòng nhập tiêu đề dài hơn. Tiêu đề phải có tối thiểu %1 ký tự.",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "版块已禁用",
|
||||
"topic-locked": "主题已锁定",
|
||||
"post-edit-duration-expired": "您必须在发表 %1 秒后才能修改内容",
|
||||
"post-edit-duration-expired-minutes": "在发表 %1 分钟后才能修改内容",
|
||||
"post-edit-duration-expired-minutes-seconds": "发表 %1 分 %2 秒后才能修改内容",
|
||||
"post-edit-duration-expired-hours": "发表 %1 小时后才能修改内容",
|
||||
"post-edit-duration-expired-hours-minutes": "发表 %1 小时 %2 分钟后才能修改内容",
|
||||
"post-edit-duration-expired-days": "发表 %1 天后才能修改内容",
|
||||
"post-edit-duration-expired-days-hours": "发表 %1 天 %2 小时后才能修改内容",
|
||||
"content-too-short": "请增添发帖内容,不能少于 %1 个字符。",
|
||||
"content-too-long": "请删减发帖内容,不能超过 %1 个字符。",
|
||||
"title-too-short": "请增加标题,不能少于 %1 个字符。",
|
||||
|
||||
@@ -40,6 +40,12 @@
|
||||
"category-disabled": "該類別已被關閉",
|
||||
"topic-locked": "該主題已被鎖定",
|
||||
"post-edit-duration-expired": "在張貼 %1 秒後,你才能編輯張貼文章",
|
||||
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
|
||||
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
|
||||
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
|
||||
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
|
||||
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
|
||||
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
|
||||
"content-too-short": "請輸入一個長一點的張貼內容。張貼內容長度不能少於 %1 字元。",
|
||||
"content-too-long": "請輸入一個短一點的張貼內容。張貼內容長度不能超過 %1 字元。",
|
||||
"title-too-short": "請輸入一個長一點的標題。標題長度不能少於 %1 字元。",
|
||||
|
||||
@@ -61,12 +61,12 @@ $(document).ready(function() {
|
||||
apiXHR.abort();
|
||||
}
|
||||
|
||||
url = ajaxify.start(url, quiet);
|
||||
|
||||
if (!window.location.pathname.match(/\/(403|404)$/g)) {
|
||||
app.previousUrl = window.location.href;
|
||||
}
|
||||
|
||||
url = ajaxify.start(url, quiet);
|
||||
|
||||
$('body').removeClass(ajaxify.data.bodyClass);
|
||||
$('#footer, #content').removeClass('hide').addClass('ajaxifying');
|
||||
|
||||
@@ -303,6 +303,10 @@ $(document).ready(function() {
|
||||
}
|
||||
}
|
||||
|
||||
if (internalLink && $(this).attr('href').endsWith('.rss')) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (hrefEmpty(this.href) || this.protocol === 'javascript:' || $(this).attr('href') === '#') {
|
||||
return e.preventDefault();
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ app.cacheBuster = null;
|
||||
title: '[[global:alert.success]]',
|
||||
message: message,
|
||||
type: 'success',
|
||||
timeout: timeout ? timeout : 2000
|
||||
timeout: timeout ? timeout : 5000
|
||||
});
|
||||
};
|
||||
|
||||
@@ -126,7 +126,7 @@ app.cacheBuster = null;
|
||||
title: '[[global:alert.error]]',
|
||||
message: message,
|
||||
type: 'danger',
|
||||
timeout: timeout ? timeout : 5000
|
||||
timeout: timeout ? timeout : 10000
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -174,8 +174,9 @@ define('forum/account/edit', ['forum/account/header', 'uploader', 'translator'],
|
||||
} else {
|
||||
socket.emit('user.deleteAccount', {}, function(err) {
|
||||
if (err) {
|
||||
app.alertError(err.message);
|
||||
return app.alertError(err.message);
|
||||
}
|
||||
|
||||
window.location.href = config.relative_path + '/';
|
||||
});
|
||||
}
|
||||
|
||||
@@ -57,10 +57,11 @@ define('forum/login', ['csrf', 'translator'], function(csrf, translator) {
|
||||
|
||||
|
||||
// Add "returnTo" data if present
|
||||
if (app.previousUrl) {
|
||||
if (app.previousUrl && $('#returnTo').length === 0) {
|
||||
var returnToEl = document.createElement('input');
|
||||
returnToEl.type = 'hidden';
|
||||
returnToEl.name = 'returnTo';
|
||||
returnToEl.id = 'returnTo';
|
||||
returnToEl.value = app.previousUrl;
|
||||
$(returnToEl).appendTo(formEl);
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
},
|
||||
|
||||
fileMimeType: function (path) {
|
||||
utils.extensionToMimeType(utils.fileExtension(path));
|
||||
return utils.extensionToMimeType(utils.fileExtension(path));
|
||||
},
|
||||
|
||||
extensionToMimeType: function(extension) {
|
||||
|
||||
@@ -97,14 +97,14 @@ module.exports = function(Categories) {
|
||||
destination = results.destination;
|
||||
|
||||
var tasks = [];
|
||||
|
||||
|
||||
if (copyParent && utils.isNumber(destination.parentCid)) {
|
||||
tasks.push(async.apply(db.sortedSetRemove, 'cid:' + destination.parentCid + ':children', toCid));
|
||||
}
|
||||
|
||||
if (copyParent && utils.isNumber(results.source.parentCid)) {
|
||||
tasks.push(async.apply(db.sortedSetAdd, 'cid:' + results.source.parentCid + ':children', results.source.order, toCid));
|
||||
}
|
||||
}
|
||||
|
||||
destination.description = results.source.description;
|
||||
destination.descriptionParsed = results.source.descriptionParsed;
|
||||
@@ -115,11 +115,11 @@ module.exports = function(Categories) {
|
||||
destination.numRecentReplies = results.source.numRecentReplies;
|
||||
destination.class = results.source.class;
|
||||
destination.imageClass = results.source.imageClass;
|
||||
|
||||
|
||||
if (copyParent) {
|
||||
destination.parentCid = results.source.parentCid || 0;
|
||||
destination.parentCid = results.source.parentCid || 0;
|
||||
}
|
||||
|
||||
|
||||
tasks.push(async.apply(db.setObject, 'category:' + toCid, destination));
|
||||
|
||||
async.series(tasks, next);
|
||||
@@ -133,12 +133,7 @@ module.exports = function(Categories) {
|
||||
};
|
||||
|
||||
Categories.copyPrivilegesFrom = function(fromCid, toCid, callback) {
|
||||
var privilegeList = [
|
||||
'find', 'read', 'topics:create', 'topics:read', 'topics:reply', 'purge', 'mods',
|
||||
'groups:find', 'groups:read', 'groups:topics:create', 'groups:topics:reply', 'groups:purge', 'groups:moderate'
|
||||
];
|
||||
|
||||
async.each(privilegeList, function(privilege, next) {
|
||||
async.each(privileges.privilegeList, function(privilege, next) {
|
||||
copyPrivilege(privilege, fromCid, toCid, next);
|
||||
}, callback);
|
||||
};
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async'),
|
||||
db = require('../database'),
|
||||
batch = require('../batch'),
|
||||
plugins = require('../plugins'),
|
||||
topics = require('../topics');
|
||||
var async = require('async');
|
||||
var db = require('../database');
|
||||
var batch = require('../batch');
|
||||
var plugins = require('../plugins');
|
||||
var topics = require('../topics');
|
||||
var privileges = require('../privileges');
|
||||
var groups = require('../groups');
|
||||
|
||||
module.exports = function(Categories) {
|
||||
|
||||
@@ -42,6 +44,11 @@ module.exports = function(Categories) {
|
||||
'cid:' + cid + ':children',
|
||||
'category:' + cid
|
||||
], next);
|
||||
},
|
||||
function(next) {
|
||||
async.each(privileges.privilegeList, function(privilege, next) {
|
||||
groups.destroy('cid:' + cid + ':privileges:' + privilege, next);
|
||||
}, next);
|
||||
}
|
||||
], callback);
|
||||
}
|
||||
@@ -78,7 +85,7 @@ module.exports = function(Categories) {
|
||||
}
|
||||
], next);
|
||||
}
|
||||
], function(err, results) {
|
||||
], function(err) {
|
||||
callback(err);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async');
|
||||
var querystring = require('querystring');
|
||||
|
||||
var categories = require('../categories');
|
||||
var privileges = require('../privileges');
|
||||
@@ -47,6 +48,14 @@ unreadController.get = function(req, res, next) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
data.pageCount = Math.max(1, Math.ceil(data.topicCount / settings.topicsPerPage));
|
||||
data.pagination = pagination.create(page, data.pageCount, req.query);
|
||||
|
||||
if (settings.usePagination && (page < 1 || page > data.pageCount)) {
|
||||
req.query.page = Math.max(1, Math.min(data.pageCount, page));
|
||||
return helpers.redirect(res, '/unread?' + querystring.stringify(req.query));
|
||||
}
|
||||
|
||||
data.categories = results.watchedCategories.categories;
|
||||
data.selectedCategory = results.watchedCategories.selectedCategory;
|
||||
|
||||
@@ -75,9 +84,6 @@ unreadController.get = function(req, res, next) {
|
||||
|
||||
data.querystring = req.query.cid ? ('?cid=' + req.query.cid) : '';
|
||||
|
||||
data.pageCount = Math.max(1, Math.ceil(data.topicCount / settings.topicsPerPage));
|
||||
data.pagination = pagination.create(page, data.pageCount, req.query);
|
||||
|
||||
res.render('unread', data);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -46,8 +46,7 @@ var meta = require('./meta');
|
||||
db.sortedSetAdd('users:reputation', newreputation, postData.uid);
|
||||
}
|
||||
|
||||
adjustPostVotes(postData, uid, type, unvote, function(err, votes) {
|
||||
postData.votes = votes;
|
||||
adjustPostVotes(postData, uid, type, unvote, function(err) {
|
||||
callback(err, {
|
||||
user: {
|
||||
reputation: newreputation
|
||||
@@ -91,11 +90,10 @@ var meta = require('./meta');
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
var voteCount = parseInt(results.upvotes, 10) - parseInt(results.downvotes, 10);
|
||||
|
||||
posts.updatePostVoteCount(postData, voteCount, function(err) {
|
||||
callback(err, voteCount);
|
||||
});
|
||||
postData.upvotes = parseInt(results.upvotes, 10);
|
||||
postData.downvotes = parseInt(results.downvotes, 10);
|
||||
postData.votes = postData.upvotes - postData.downvotes;
|
||||
posts.updatePostVoteCount(postData, callback);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async'),
|
||||
plugins = require('../plugins'),
|
||||
utils = require('../../public/src/utils'),
|
||||
db = require('./../database');
|
||||
var async = require('async');
|
||||
var plugins = require('../plugins');
|
||||
var utils = require('../../public/src/utils');
|
||||
var db = require('./../database');
|
||||
|
||||
module.exports = function(Groups) {
|
||||
|
||||
|
||||
12
src/posts.js
12
src/posts.js
@@ -55,7 +55,9 @@ var plugins = require('./plugins');
|
||||
if (!post) {
|
||||
return next();
|
||||
}
|
||||
|
||||
post.upvotes = parseInt(post.upvotes, 10) || 0;
|
||||
post.downvotes = parseInt(post.downvotes, 10) || 0;
|
||||
post.votes = post.upvotes - post.downvotes;
|
||||
post.timestampISO = utils.toISOString(post.timestamp);
|
||||
post.editedISO = parseInt(post.edited, 10) !== 0 ? utils.toISOString(post.edited) : '';
|
||||
Posts.parsePost(post, next);
|
||||
@@ -219,14 +221,14 @@ var plugins = require('./plugins');
|
||||
});
|
||||
};
|
||||
|
||||
Posts.updatePostVoteCount = function(postData, voteCount, callback) {
|
||||
Posts.updatePostVoteCount = function(postData, callback) {
|
||||
if (!postData || !postData.pid || !postData.tid) {
|
||||
return callback();
|
||||
}
|
||||
async.parallel([
|
||||
function (next) {
|
||||
if (postData.uid) {
|
||||
db.sortedSetAdd('uid:' + postData.uid + ':posts:votes', voteCount, postData.pid, next);
|
||||
db.sortedSetAdd('uid:' + postData.uid + ':posts:votes', postData.votes, postData.pid, next);
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
@@ -240,12 +242,12 @@ var plugins = require('./plugins');
|
||||
if (parseInt(mainPid, 10) === parseInt(postData.pid, 10)) {
|
||||
return next();
|
||||
}
|
||||
db.sortedSetAdd('tid:' + postData.tid + ':posts:votes', voteCount, postData.pid, next);
|
||||
db.sortedSetAdd('tid:' + postData.tid + ':posts:votes', postData.votes, postData.pid, next);
|
||||
}
|
||||
], next);
|
||||
},
|
||||
function (next) {
|
||||
Posts.setPostField(postData.pid, 'votes', voteCount, next);
|
||||
Posts.setPostFields(postData.pid, {upvotes: postData.upvotes, downvotes: postData.downvotes}, next);
|
||||
}
|
||||
], function(err) {
|
||||
callback(err);
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async'),
|
||||
_ = require('underscore'),
|
||||
var async = require('async');
|
||||
var _ = require('underscore');
|
||||
|
||||
meta = require('../meta'),
|
||||
db = require('../database'),
|
||||
plugins = require('../plugins'),
|
||||
user = require('../user'),
|
||||
topics = require('../topics'),
|
||||
categories = require('../categories');
|
||||
var meta = require('../meta');
|
||||
var db = require('../database');
|
||||
var plugins = require('../plugins');
|
||||
var user = require('../user');
|
||||
var topics = require('../topics');
|
||||
var categories = require('../categories');
|
||||
|
||||
|
||||
module.exports = function(Posts) {
|
||||
|
||||
Posts.create = function(data, callback) {
|
||||
// This is an internal method, consider using Topics.reply instead
|
||||
var uid = data.uid,
|
||||
tid = data.tid,
|
||||
content = data.content.toString(),
|
||||
timestamp = data.timestamp || Date.now();
|
||||
var uid = data.uid;
|
||||
var tid = data.tid;
|
||||
var content = data.content.toString();
|
||||
var timestamp = data.timestamp || Date.now();
|
||||
|
||||
if (!uid && parseInt(uid, 10) !== 0) {
|
||||
return callback(new Error('[[error:invalid-uid]]'));
|
||||
@@ -38,7 +39,6 @@ module.exports = function(Posts) {
|
||||
'content': content,
|
||||
'timestamp': timestamp,
|
||||
'reputation': 0,
|
||||
'votes': 0,
|
||||
'editor': '',
|
||||
'edited': 0,
|
||||
'deleted': 0
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
|
||||
var privileges = {};
|
||||
|
||||
privileges.userPrivilegeList = ['find', 'read', 'topics:create', 'topics:read', 'topics:reply', 'purge', 'mods'];
|
||||
privileges.groupPrivilegeList = ['groups:find', 'groups:read', 'groups:topics:create', 'groups:topics:read', 'groups:topics:reply', 'groups:purge', 'groups:moderate'];
|
||||
|
||||
privileges.privilegeList = privileges.userPrivilegeList.concat(privileges.groupPrivilegeList);
|
||||
|
||||
require('./privileges/categories')(privileges);
|
||||
require('./privileges/topics')(privileges);
|
||||
require('./privileges/posts')(privileges);
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
var async = require('async'),
|
||||
_ = require('underscore'),
|
||||
var async = require('async');
|
||||
var _ = require('underscore');
|
||||
|
||||
user = require('../user'),
|
||||
categories = require('../categories'),
|
||||
groups = require('../groups'),
|
||||
helpers = require('./helpers'),
|
||||
plugins = require('../plugins');
|
||||
var user = require('../user');
|
||||
var categories = require('../categories');
|
||||
var groups = require('../groups');
|
||||
var helpers = require('./helpers');
|
||||
var plugins = require('../plugins');
|
||||
|
||||
module.exports = function(privileges) {
|
||||
|
||||
@@ -27,13 +27,6 @@ module.exports = function(privileges) {
|
||||
{name: 'Moderate'}
|
||||
];
|
||||
|
||||
var userPrivilegeList = [
|
||||
'find', 'read', 'topics:read', 'topics:create', 'topics:reply', 'purge', 'mods'
|
||||
];
|
||||
var groupPrivilegeList = [
|
||||
'groups:find', 'groups:read', 'groups:topics:read', 'groups:topics:create', 'groups:topics:reply', 'groups:purge', 'groups:moderate'
|
||||
];
|
||||
|
||||
async.parallel({
|
||||
labels: function(next) {
|
||||
async.parallel({
|
||||
@@ -42,12 +35,12 @@ module.exports = function(privileges) {
|
||||
}, next);
|
||||
},
|
||||
users: function(next) {
|
||||
var privileges;
|
||||
var userPrivileges;
|
||||
async.waterfall([
|
||||
async.apply(plugins.fireHook, 'filter:privileges.list', userPrivilegeList),
|
||||
function(privs, next) {
|
||||
privileges = privs;
|
||||
groups.getMembersOfGroups(privs.map(function(privilege) {
|
||||
async.apply(plugins.fireHook, 'filter:privileges.list', privileges.userPrivilegeList),
|
||||
function(_privs, next) {
|
||||
userPrivileges = _privs;
|
||||
groups.getMembersOfGroups(userPrivileges.map(function(privilege) {
|
||||
return 'cid:' + cid + ':privileges:' + privilege;
|
||||
}), next);
|
||||
},
|
||||
@@ -68,8 +61,8 @@ module.exports = function(privileges) {
|
||||
|
||||
memberData.forEach(function(member) {
|
||||
member.privileges = {};
|
||||
for(var x=0,numPrivs=privileges.length;x<numPrivs;x++) {
|
||||
member.privileges[privileges[x]] = memberSets[x].indexOf(parseInt(member.uid, 10)) !== -1;
|
||||
for(var x=0,numPrivs=userPrivileges.length;x<numPrivs;x++) {
|
||||
member.privileges[userPrivileges[x]] = memberSets[x].indexOf(parseInt(member.uid, 10)) !== -1;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -79,12 +72,12 @@ module.exports = function(privileges) {
|
||||
], next);
|
||||
},
|
||||
groups: function(next) {
|
||||
var privileges;
|
||||
var groupPrivileges;
|
||||
async.waterfall([
|
||||
async.apply(plugins.fireHook, 'filter:privileges.groups.list', groupPrivilegeList),
|
||||
function(privs, next) {
|
||||
privileges = privs;
|
||||
groups.getMembersOfGroups(privs.map(function(privilege) {
|
||||
async.apply(plugins.fireHook, 'filter:privileges.groups.list', privileges.groupPrivilegeList),
|
||||
function(_privs, next) {
|
||||
groupPrivileges = _privs;
|
||||
groups.getMembersOfGroups(groupPrivileges.map(function(privilege) {
|
||||
return 'cid:' + cid + ':privileges:' + privilege;
|
||||
}), next);
|
||||
},
|
||||
@@ -119,8 +112,8 @@ module.exports = function(privileges) {
|
||||
var memberData = groupNames.map(function(member) {
|
||||
memberPrivs = {};
|
||||
|
||||
for(var x=0,numPrivs=privileges.length;x<numPrivs;x++) {
|
||||
memberPrivs[privileges[x]] = memberSets[x].indexOf(member) !== -1;
|
||||
for(var x=0,numPrivs=groupPrivileges.length;x<numPrivs;x++) {
|
||||
memberPrivs[groupPrivileges[x]] = memberSets[x].indexOf(member) !== -1;
|
||||
}
|
||||
return {
|
||||
name: member,
|
||||
|
||||
@@ -6,6 +6,7 @@ var async = require('async');
|
||||
var nconf = require('nconf');
|
||||
var cookieParser = require('cookie-parser')(nconf.get('secret'));
|
||||
var winston = require('winston');
|
||||
var url = require('url');
|
||||
|
||||
var db = require('../database');
|
||||
var logger = require('../logger');
|
||||
|
||||
@@ -112,11 +112,9 @@ module.exports = function(Topics) {
|
||||
if (!canCreate) {
|
||||
return next(new Error('[[error:no-privileges]]'));
|
||||
}
|
||||
|
||||
if (!guestHandleValid(data)) {
|
||||
return next(new Error('[[error:guest-handle-invalid]]'));
|
||||
}
|
||||
|
||||
guestHandleValid(data, next);
|
||||
},
|
||||
function (next) {
|
||||
user.isReadyToPost(data.uid, data.cid, next);
|
||||
},
|
||||
function(next) {
|
||||
@@ -212,11 +210,9 @@ module.exports = function(Topics) {
|
||||
if (!results.canReply) {
|
||||
return next(new Error('[[error:no-privileges]]'));
|
||||
}
|
||||
|
||||
if (!guestHandleValid(data)) {
|
||||
return next(new Error('[[error:guest-handle-invalid]]'));
|
||||
}
|
||||
|
||||
guestHandleValid(data, next);
|
||||
},
|
||||
function(next) {
|
||||
user.isReadyToPost(uid, cid, next);
|
||||
},
|
||||
function(next) {
|
||||
@@ -316,12 +312,19 @@ module.exports = function(Topics) {
|
||||
callback();
|
||||
}
|
||||
|
||||
function guestHandleValid(data) {
|
||||
if (parseInt(meta.config.allowGuestHandles, 10) === 1 && parseInt(data.uid, 10) === 0 &&
|
||||
data.handle && data.handle.length > meta.config.maximumUsernameLength) {
|
||||
return false;
|
||||
function guestHandleValid(data, callback) {
|
||||
if (parseInt(meta.config.allowGuestHandles, 10) === 1 && parseInt(data.uid, 10) === 0 && data.handle) {
|
||||
if (data.handle.length > meta.config.maximumUsernameLength) {
|
||||
return callback(new Error('[[error:guest-handle-invalid]]'));
|
||||
}
|
||||
user.existsBySlug(utils.slugify(data.handle), function(err, exists) {
|
||||
if (err || exists) {
|
||||
return callback(err || new Error('[[error:username-taken]]'));
|
||||
}
|
||||
callback();
|
||||
});
|
||||
}
|
||||
return true;
|
||||
callback();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@ var db = require('./database'),
|
||||
schemaDate, thisSchemaDate,
|
||||
|
||||
// IMPORTANT: REMEMBER TO UPDATE VALUE OF latestSchema
|
||||
latestSchema = Date.UTC(2016, 4, 28);
|
||||
latestSchema = Date.UTC(2016, 5, 13);
|
||||
|
||||
Upgrade.check = function(callback) {
|
||||
db.get('schemaDate', function(err, value) {
|
||||
@@ -504,7 +504,7 @@ Upgrade.upgrade = function(callback) {
|
||||
|
||||
var groupsAPI = require('./groups');
|
||||
var privilegesAPI = require('./privileges');
|
||||
|
||||
|
||||
db.getSortedSetRange('categories:cid', 0, -1, function(err, cids) {
|
||||
async.eachSeries(cids, function(cid, next) {
|
||||
privilegesAPI.categories.list(cid, function(err, data) {
|
||||
@@ -523,13 +523,13 @@ Upgrade.upgrade = function(callback) {
|
||||
return next(err);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
next(null);
|
||||
}, next);
|
||||
},
|
||||
function(next) {
|
||||
async.eachSeries(users, function(user, next) {
|
||||
if (user.privileges['read']) {
|
||||
if (user.privileges.read) {
|
||||
return groupsAPI.join('cid:' + cid + ':privileges:topics:read', user.uid, function(err) {
|
||||
if (!err) {
|
||||
winston.info('cid:' + cid + ':privileges:topics:read granted to uid: ' + user.uid);
|
||||
@@ -538,7 +538,7 @@ Upgrade.upgrade = function(callback) {
|
||||
return next(err);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
next(null);
|
||||
}, next);
|
||||
}
|
||||
@@ -552,7 +552,7 @@ Upgrade.upgrade = function(callback) {
|
||||
});
|
||||
}, function(err) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
return next(err);
|
||||
}
|
||||
|
||||
winston.info('[2016/05/28] Giving topics:read privs to any group that was previously allowed to Find & Access Category - done');
|
||||
@@ -563,6 +563,60 @@ Upgrade.upgrade = function(callback) {
|
||||
winston.info('[2016/05/28] Giving topics:read privs to any group that was previously allowed to Find & Access Category - skipped!');
|
||||
next();
|
||||
}
|
||||
},
|
||||
function(next) {
|
||||
thisSchemaDate = Date.UTC(2016, 5, 13);
|
||||
|
||||
if (schemaDate < thisSchemaDate) {
|
||||
updatesMade = true;
|
||||
winston.info('[2016/06/13] Store upvotes/downvotes separately');
|
||||
|
||||
var batch = require('./batch');
|
||||
var posts = require('./posts');
|
||||
var count = 0;
|
||||
batch.processSortedSet('posts:pid', function(pids, next) {
|
||||
winston.info('upgraded ' + count + ' posts');
|
||||
count += pids.length;
|
||||
async.each(pids, function(pid, next) {
|
||||
async.parallel({
|
||||
upvotes: function(next) {
|
||||
db.setCount('pid:' + pid + ':upvote', next);
|
||||
},
|
||||
downvotes: function(next) {
|
||||
db.setCount('pid:' + pid + ':downvote', next);
|
||||
}
|
||||
}, function(err, results) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
var data = {};
|
||||
|
||||
if (parseInt(results.upvotes, 10) > 0) {
|
||||
data.upvotes = results.upvotes;
|
||||
}
|
||||
if (parseInt(results.downvotes, 10) > 0) {
|
||||
data.downvotes = results.downvotes;
|
||||
}
|
||||
|
||||
if (Object.keys(data).length) {
|
||||
posts.setPostFields(pid, data, next);
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
}, next);
|
||||
}, next);
|
||||
}, {}, function(err) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
winston.info('[2016/06/13] Store upvotes/downvotes separately done');
|
||||
Upgrade.update(thisSchemaDate, next);
|
||||
});
|
||||
} else {
|
||||
winston.info('[2016/06/13] Store upvotes/downvotes separately skipped!');
|
||||
next();
|
||||
}
|
||||
}
|
||||
// Add new schema updates here
|
||||
// IMPORTANT: REMEMBER TO UPDATE VALUE OF latestSchema IN LINE 24!!!
|
||||
|
||||
@@ -128,7 +128,7 @@ module.exports = function(User) {
|
||||
async.parallel([
|
||||
async.apply(db.sortedSetRemove, 'registration:queue', username),
|
||||
async.apply(db.delete, 'registration:queue:name:' + username)
|
||||
], function(err, results) {
|
||||
], function(err) {
|
||||
callback(err);
|
||||
});
|
||||
}
|
||||
@@ -178,11 +178,11 @@ module.exports = function(User) {
|
||||
if (err) {
|
||||
return next(null, user);
|
||||
}
|
||||
if (response.statusCode === 200) {
|
||||
if (response.statusCode === 200 && body) {
|
||||
user.spamData = body;
|
||||
user.usernameSpam = body.username.frequency > 0 || body.username.appears > 0;
|
||||
user.emailSpam = body.email.frequency > 0 || body.email.appears > 0;
|
||||
user.ipSpam = body.ip.frequency > 0 || body.ip.appears > 0;
|
||||
user.usernameSpam = body.username ? (body.username.frequency > 0 || body.username.appears > 0) : true;
|
||||
user.emailSpam = body.email ? (body.email.frequency > 0 || body.email.appears > 0) : true;
|
||||
user.ipSpam = body.ip ? (body.ip.frequency > 0 || body.ip.appears > 0) : true;
|
||||
}
|
||||
|
||||
next(null, user);
|
||||
|
||||
@@ -83,8 +83,8 @@
|
||||
</ul>
|
||||
</blockquote>
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-sm btn-success dismiss">Dismiss</button>
|
||||
<button class="btn btn-sm btn-danger delete">Delete</button>
|
||||
<button class="btn btn-sm btn-success dismiss">Dismiss this Flag</button>
|
||||
<button class="btn btn-sm btn-danger delete">Delete the Post</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user