diff --git a/package.json b/package.json index a1d5ff86ef..126b8b2874 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "0.7.1", + "version": "0.7.2-dev", "homepage": "http://www.nodebb.org", "repository": { "type": "git", @@ -49,8 +49,8 @@ "nodebb-plugin-spam-be-gone": "^0.4.0", "nodebb-rewards-essentials": "^0.0.1", "nodebb-theme-lavender": "^1.0.48", - "nodebb-theme-persona": "^1.0.16", - "nodebb-theme-vanilla": "^2.0.14", + "nodebb-theme-persona": "^1.0.20", + "nodebb-theme-vanilla": "^2.0.16", "nodebb-widget-essentials": "^1.0.2", "npm": "^2.1.4", "passport": "^0.2.1", diff --git a/public/language/ar/email.json b/public/language/ar/email.json index 9126d389fa..31c97c34e9 100644 --- a/public/language/ar/email.json +++ b/public/language/ar/email.json @@ -1,15 +1,15 @@ { "password-reset-requested": "تم طلب إعادة تعيين كلمة المرور - %1!", "welcome-to": "مرحبًا بك في %1", - "invite": "Invitation from %1", + "invite": "دعوة من %1", "greeting_no_name": "مرحبًا", "greeting_with_name": "مرحبًا بك يا %1", "welcome.text1": "شكرًا على تسجيلك في %1!", - "welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي تسجلت به.", + "welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي سجلت به.", "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", "welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني", - "invitation.text1": "%1 has invited you to join %2", - "invitation.ctr": "Click here to create your account.", + "invitation.text1": "%1 قام بدعوتك للانضمام لـ %2", + "invitation.ctr": "إضغط هنا لإنشاء حسابك", "reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة المرور الخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.", "reset.text2": "لمواصلة طلب إعاة تعيين كلمة المرور، الرجاء تتبع هذا الرابط.", "reset.cta": "انقر هنا لإعادة تعيين كلمة السر الخاصة بك.", diff --git a/public/language/ar/error.json b/public/language/ar/error.json index 9038d1d735..82f31d3ae7 100644 --- a/public/language/ar/error.json +++ b/public/language/ar/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "لايمكنك التصويت لردك", "already-favourited": "لقد سبق وأضفت هذا الرد إلى المفضلة", diff --git a/public/language/ar/global.json b/public/language/ar/global.json index 3f6004b948..d2c9af8495 100644 --- a/public/language/ar/global.json +++ b/public/language/ar/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 من %2", "pagination.enter_index": "أدخل الرقم التسلسلي", "header.admin": "مدبر نظام", + "header.categories": "Categories", "header.recent": "حديث", "header.unread": "غير مقروء", "header.tags": "وسم", diff --git a/public/language/ar/groups.json b/public/language/ar/groups.json index 04e4f9b39f..ae753b2d42 100644 --- a/public/language/ar/groups.json +++ b/public/language/ar/groups.json @@ -38,6 +38,12 @@ "details.private_help": "في حالة تفعيل الخيار، الانضمام إلى المجموعة يستلزم قبول مالكها", "details.hidden": "مخفي", "details.hidden_help": "في حالة تفعيل الخيار، لن تظهر المجموعة للعموم والإنضمام إليها سيتلزم دعوة يدوية.", + "details.delete_group": "Delete Group", "event.updated": "تم تحديث بيانات المجموعة", - "event.deleted": "تم حذف المجموعة %1" + "event.deleted": "تم حذف المجموعة %1", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/ar/users.json b/public/language/ar/users.json index d90805ee6b..fe79f3c509 100644 --- a/public/language/ar/users.json +++ b/public/language/ar/users.json @@ -11,11 +11,11 @@ "picture-only": "صورة فقط", "invite": "Invite", "invitation-email-sent": "An invitation email has been sent to %1", - "user_list": "User List", - "recent_topics": "Recent Topics", + "user_list": "قائمة اﻷعضاء", + "recent_topics": "أحدث المواضيع", "popular_topics": "Popular Topics", - "unread_topics": "Unread Topics", - "categories": "Categories", - "tags": "Tags", + "unread_topics": "المواضيع الغير مقروءة", + "categories": "الفئات", + "tags": "الكلمات الدلالية", "map": "Map" } \ No newline at end of file diff --git a/public/language/bg/error.json b/public/language/bg/error.json index fb4ca7f82d..2b45504325 100644 --- a/public/language/bg/error.json +++ b/public/language/bg/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "Като нов потребител, Вие можете да публикувате веднъж на %1 секунда/и, докато не натрупате %2 репутация – моля, изчакайте малко, преди да опитате да публикувате отново", "tag-too-short": "Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)", "tag-too-long": "Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Максималният разрешен размер на файл е %1 КБ – моля, качете по-малък файл", "cant-vote-self-post": "Не можете да гласувате за собствената си публикация", "already-favourited": "Вече сте отбелязали тази публикация като любима", diff --git a/public/language/bg/global.json b/public/language/bg/global.json index 41f4d35262..7c5c0d7e2d 100644 --- a/public/language/bg/global.json +++ b/public/language/bg/global.json @@ -9,8 +9,8 @@ "404.message": "Изглежда сте се опитали да посетите страница, която не съществува. Върнете се към началната страница.", "500.title": "Вътрешна грешка.", "500.message": "Опа! Изглежда нещо се обърка!", - "register": "Регистриране", - "login": "Влизане", + "register": "Регистрация", + "login": "Вход", "please_log_in": "Моля, влезте", "logout": "Изход", "posting_restriction_info": "Публикуването в момента е позволено само за регистрираните потребители. Натиснете тук, за да влезете.", @@ -22,6 +22,7 @@ "pagination.out_of": "%1 от %2", "pagination.enter_index": "Въведете номер", "header.admin": "Администратор", + "header.categories": "Categories", "header.recent": "Скорошни", "header.unread": "Непрочетени", "header.tags": "Етикети", @@ -46,8 +47,8 @@ "online": "На линия", "users": "Потребители", "topics": "Теми", - "posts": "Публикации", - "views": "Преглеждания", + "posts": "Публ.", + "views": "Прегл.", "reputation": "Репутация", "read_more": "още", "more": "Още", diff --git a/public/language/bg/groups.json b/public/language/bg/groups.json index a3f89e69fc..1304f49c36 100644 --- a/public/language/bg/groups.json +++ b/public/language/bg/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Ако е включено, присъединяването към група изисква одобрението на собственика ѝ", "details.hidden": "Скрита", "details.hidden_help": "Ако е включено, тази група няма да бъде извеждана в списъка от групи и потребителите ще трябва да бъдат поканени лично", + "details.delete_group": "Delete Group", "event.updated": "Подробностите за групата бяха обновени", - "event.deleted": "Групата „%1“ беше изтрита" + "event.deleted": "Групата „%1“ беше изтрита", + "membership.accept-invitation": "Приемане на поканата", + "membership.invitation-pending": "Чакаща покана", + "membership.join-group": "Присъединяване към групата", + "membership.leave-group": "Напускане на групата", + "membership.reject": "Отхвърляне" } \ No newline at end of file diff --git a/public/language/bn/error.json b/public/language/bn/error.json index 48c5ac1f87..6de3031ccb 100644 --- a/public/language/bn/error.json +++ b/public/language/bn/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "আপনি নিজের পোস্টে ভোট দিতে পারবেন না।", "already-favourited": "আপনি ইতিমধ্যে এই পোষ্টটি পছন্দের তালিকায় যোগ করেছেন", diff --git a/public/language/bn/global.json b/public/language/bn/global.json index e21604d309..31211f44aa 100644 --- a/public/language/bn/global.json +++ b/public/language/bn/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%2 এর মাঝে %1", "pagination.enter_index": "সূচক লিখুন", "header.admin": "অ্যাডমিন", + "header.categories": "Categories", "header.recent": "সাম্প্রতিক", "header.unread": "অপঠিত", "header.tags": "ট্যাগ", diff --git a/public/language/bn/groups.json b/public/language/bn/groups.json index 71b932f26f..dd582c072a 100644 --- a/public/language/bn/groups.json +++ b/public/language/bn/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/cs/error.json b/public/language/cs/error.json index 2d441ce0db..693837095e 100644 --- a/public/language/cs/error.json +++ b/public/language/cs/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Nemůžete hlasovat pro svůj vlastní příspěvek", "already-favourited": "You have already favourited this post", diff --git a/public/language/cs/global.json b/public/language/cs/global.json index a82e94c56e..2e99c31dd6 100644 --- a/public/language/cs/global.json +++ b/public/language/cs/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 z %2", "pagination.enter_index": "Enter index", "header.admin": "Administrace", + "header.categories": "Categories", "header.recent": "Aktuality", "header.unread": "Nepřečtené", "header.tags": "Tagy", diff --git a/public/language/cs/groups.json b/public/language/cs/groups.json index 6f4a368227..7690fb15a5 100644 --- a/public/language/cs/groups.json +++ b/public/language/cs/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/cs/user.json b/public/language/cs/user.json index 3089a0e14f..e61d01b6f3 100644 --- a/public/language/cs/user.json +++ b/public/language/cs/user.json @@ -2,15 +2,15 @@ "banned": "Banned", "offline": "Offline", "username": "Uživatelské jméno", - "joindate": "Join Date", - "postcount": "Post Count", + "joindate": "Datum ragistrace", + "postcount": "Počet příspěvků", "email": "Email", "confirm_email": "Potvrdit email", - "ban_account": "Ban Account", - "ban_account_confirm": "Do you really want to ban this user?", - "unban_account": "Unban Account", + "ban_account": "Zablokovat účet", + "ban_account_confirm": "Opravdu chcete zablokovat tohoto uživatele?", + "unban_account": "Odblokovat účet", "delete_account": "Vymazat účet", - "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your username to confirm that you wish to destroy this account.", + "delete_account_confirm": "Opravdu chcete smazat váš účet?
Tato akce je nevratná a nebude možné obnovit žádné vaše data.

Pro potvrzení smazání účtu napište vaše uživatelské jméno.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "fullname": "Jméno a příjmení", "website": "Webové stránky", @@ -22,40 +22,40 @@ "profile_views": "Zobrazení profilu", "reputation": "Reputace", "favourites": "Oblíbené", - "watched": "Watched", + "watched": "Sledován", "followers": "Sledují ho", "following": "Sleduje", - "aboutme": "About me", + "aboutme": "O mně", "signature": "Podpis", "gravatar": "Gravatar", "birthday": "Datum narození", "chat": "Chat", - "follow": "Follow", - "unfollow": "Unfollow", - "more": "More", + "follow": "Sledovat", + "unfollow": "Nesledovat", + "more": "Více", "profile_update_success": "Profil byl úspěšně aktualizován!", "change_picture": "Změnit obrázek", "edit": "Upravit", "uploaded_picture": "Nahraný obrázek", "upload_new_picture": "Nahrát nový obrázek", - "upload_new_picture_from_url": "Upload New Picture From URL", + "upload_new_picture_from_url": "Nahrát nový obrázek z URL", "current_password": "Současné heslo", "change_password": "Změnit heslo", "change_password_error": "Neplatné heslo", - "change_password_error_wrong_current": "Your current password is not correct!", - "change_password_error_length": "Password too short!", - "change_password_error_match": "Passwords must match!", - "change_password_error_privileges": "You do not have the rights to change this password.", - "change_password_success": "Your password is updated!", + "change_password_error_wrong_current": "Současné heslo není správné!", + "change_password_error_length": "Heslo je příliš krátké!", + "change_password_error_match": "Hesla se neshodují!", + "change_password_error_privileges": "Nemáte práva změnit toto heslo.", + "change_password_success": "Heslo je aktualizované!", "confirm_password": "Potvrzení hesla", "password": "Heslo", "username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as %1", "upload_picture": "Nahrát obrázek", "upload_a_picture": "Nahrát obrázek", - "image_spec": "You may only upload PNG, JPG, or GIF files", + "image_spec": "Nahrávat lze pouze soubory PNG, JPG a GIF", "settings": "Nastavení", "show_email": "Zobrazovat můj email v profilu", - "show_fullname": "Show My Full Name", + "show_fullname": "Zobrazovat celé jméno", "restrict_chats": "Only allow chat messages from users I follow", "digest_label": "Subscribe to Digest", "digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule", diff --git a/public/language/da/error.json b/public/language/da/error.json index e976631c35..4dd97c89b1 100644 --- a/public/language/da/error.json +++ b/public/language/da/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "Som ny bruger kan du kun skrive et indlæg engang hvert %1. sekund() indtil du har optjent %2 omdømme point - venligst vent et øjeblik før næste indlæg.", "tag-too-short": "Indtast et længere tag. Tags skal indeholde mindst %1 karakter(er).", "tag-too-long": "Indtast et længere tag. Tags kan ikke være længere end %1 karakter(er).", + "not-enough-tags": "Ikke nok tags. Tråde skal have mindst %1 tag(s)", + "too-many-tags": "For mange tags. Tråde kan ikke have mere end %1 tag(s)", "file-too-big": "Maksimum filstørrelse er %1 kB - venligst overfør en mindre fil", "cant-vote-self-post": "Du kan ikke stemme på dit eget indlæg", "already-favourited": "Du har allerede føjet dette indlæg til dine favoritter", diff --git a/public/language/da/global.json b/public/language/da/global.json index 16164668d1..4317c2776c 100644 --- a/public/language/da/global.json +++ b/public/language/da/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 ud af %2", "pagination.enter_index": "Indtast indeks", "header.admin": "Administrator", + "header.categories": "Kategorier", "header.recent": "Seneste", "header.unread": "Ulæst", "header.tags": "Etiket", diff --git a/public/language/da/groups.json b/public/language/da/groups.json index 41478b7ba0..f7094f1ac1 100644 --- a/public/language/da/groups.json +++ b/public/language/da/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Hvis aktiveret, så vil det kræve godkendelse af gruppe ejeren for at tilslutte sig en gruppe", "details.hidden": "Skjult", "details.hidden_help": "Hvis aktiveret, så vil denne gruppe ikke kunne ses i gruppelisten og bruhere skal inviteres manuelt", + "details.delete_group": "Delete Group", "event.updated": "Gruppe detaljer er blevet opdateret", - "event.deleted": "Gruppen \"%1\" er blevet slettet" + "event.deleted": "Gruppen \"%1\" er blevet slettet", + "membership.accept-invitation": "Acceptér Invitation", + "membership.invitation-pending": "Afventende Invitationer", + "membership.join-group": "Bliv medlem af gruppe", + "membership.leave-group": "Forlad Gruppe", + "membership.reject": "Afvis" } \ No newline at end of file diff --git a/public/language/de/error.json b/public/language/de/error.json index 210d0067c9..d8150de62e 100644 --- a/public/language/de/error.json +++ b/public/language/de/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "Als neuer Benutzer können Sie nur einen Beitrag innerhalb von %1 Sekunden erstellen - Bitte warten Sie bevor Sie erneut einen Beitrag erstellen.", "tag-too-short": "Bitte geben Sie ein längeres Schlagwort ein. Tags sollten mindestens %1 Zeichen enthalten.", "tag-too-long": "Bitte geben Sie ein kürzeres Schlagwort ein. Tags können nicht länger als %1 Zeichen sein.", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Die maximale Dateigröße ist %1 kB, bitte laden Sie eine kleinere Datei hoch.", "cant-vote-self-post": "Du kannst deinen eigenen Beitrag nicht bewerten", "already-favourited": "Dieser Beitrag ist bereits in deinen Favoriten enthalten", diff --git a/public/language/de/global.json b/public/language/de/global.json index ace27161a1..690257122e 100644 --- a/public/language/de/global.json +++ b/public/language/de/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 von %2", "pagination.enter_index": "Seitenzahl eingeben", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Aktuell", "header.unread": "Ungelesen", "header.tags": "Tags", diff --git a/public/language/de/groups.json b/public/language/de/groups.json index a99d4ebc36..0f26786358 100644 --- a/public/language/de/groups.json +++ b/public/language/de/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Wenn aktiviert, setzt ein Gruppenbeitritt die Zustimmung eines Gruppenbesitzers voraus", "details.hidden": "Versteckt", "details.hidden_help": "Wenn aktiviert, wird diese Gruppe in der Gruppenliste nicht zu finden sein, und Benutzer werden manuell eingeladen werden müssen.", + "details.delete_group": "Delete Group", "event.updated": "Gruppendetails wurden aktualisiert", - "event.deleted": "Die Gruppe \"%1\" wurde gelöscht." + "event.deleted": "Die Gruppe \"%1\" wurde gelöscht.", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/el/error.json b/public/language/el/error.json index bb7745dc46..72a6a3e711 100644 --- a/public/language/el/error.json +++ b/public/language/el/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Δεν μπορείς να ψηφίσεις την δημοσίευσή σου", "already-favourited": "You have already favourited this post", diff --git a/public/language/el/global.json b/public/language/el/global.json index 4c7e46eb74..6dafd72e02 100644 --- a/public/language/el/global.json +++ b/public/language/el/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 από %2", "pagination.enter_index": "Εισαγωγή Σελίδας", "header.admin": "Διαχειριστής", + "header.categories": "Categories", "header.recent": "Πρόσφατα", "header.unread": "Μη αναγνωσμένα", "header.tags": "Ετικέτες", diff --git a/public/language/el/groups.json b/public/language/el/groups.json index a8496beb01..b81d08c2c4 100644 --- a/public/language/el/groups.json +++ b/public/language/el/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/en@pirate/error.json b/public/language/en@pirate/error.json index 56f9f626ff..065234c18d 100644 --- a/public/language/en@pirate/error.json +++ b/public/language/en@pirate/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "You cannot vote for your own post", "already-favourited": "You have already favourited this post", diff --git a/public/language/en@pirate/global.json b/public/language/en@pirate/global.json index 9c839710b0..e448cf78e0 100644 --- a/public/language/en@pirate/global.json +++ b/public/language/en@pirate/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 out of %2", "pagination.enter_index": "Enter index", "header.admin": "Captains only", + "header.categories": "Categories", "header.recent": "Recent", "header.unread": "Undiscovered", "header.tags": "Tags", diff --git a/public/language/en@pirate/groups.json b/public/language/en@pirate/groups.json index c9ac036475..1e1623c38f 100644 --- a/public/language/en@pirate/groups.json +++ b/public/language/en@pirate/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/en_GB/groups.json b/public/language/en_GB/groups.json index dd8b795bcb..fbc841a4d3 100644 --- a/public/language/en_GB/groups.json +++ b/public/language/en_GB/groups.json @@ -43,7 +43,14 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/en_US/error.json b/public/language/en_US/error.json index 56f9f626ff..065234c18d 100644 --- a/public/language/en_US/error.json +++ b/public/language/en_US/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "You cannot vote for your own post", "already-favourited": "You have already favourited this post", diff --git a/public/language/en_US/global.json b/public/language/en_US/global.json index e47670ae9a..3eb3e1db21 100644 --- a/public/language/en_US/global.json +++ b/public/language/en_US/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 out of %2", "pagination.enter_index": "Enter index", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Recent", "header.unread": "Unread", "header.tags": "Tags", diff --git a/public/language/en_US/groups.json b/public/language/en_US/groups.json index c9ac036475..1e1623c38f 100644 --- a/public/language/en_US/groups.json +++ b/public/language/en_US/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/es/category.json b/public/language/es/category.json index edf0773adc..1eecac4aba 100644 --- a/public/language/es/category.json +++ b/public/language/es/category.json @@ -5,7 +5,7 @@ "browsing": "viendo ahora", "no_replies": "Nadie ha respondido aún", "share_this_category": "Compartir esta categoría", - "watch": "Ver", + "watch": "Seguir", "ignore": "Ignorar", "watch.message": "Ahora estás viendo actualizaciones de esta categoría", "ignore.message": "Ahora estás ignorando las actualizaciones de esta categoría" diff --git a/public/language/es/error.json b/public/language/es/error.json index f049c9598f..030e014195 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "Como nuevo usuario, solo puedes publicar una vez cada %1 segundo(s) hasta hayas ganado una reputación de %2 - por favor espera antes de volver a publicar", "tag-too-short": "Por favor introduce una etiqueta más larga. Las etiquetas deben contener por lo menos %1 caractere(s)", "tag-too-long": "Por favor introduce una etiqueta más corta. Las etiquetas no pueden exceder los %1 caractere(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "El tamaño de fichero máximo es de %1 kB - por favor, suba un fichero más pequeño", "cant-vote-self-post": "No puedes votar tus propios posts", "already-favourited": "Ya ha marcado esta publicación como favorita", diff --git a/public/language/es/global.json b/public/language/es/global.json index 6047e4413e..fd67f9c881 100644 --- a/public/language/es/global.json +++ b/public/language/es/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 de %2", "pagination.enter_index": "Introduzca el número", "header.admin": "Administración", + "header.categories": "Categories", "header.recent": "Recientes", "header.unread": "No leídos", "header.tags": "Etiquetas", diff --git a/public/language/es/groups.json b/public/language/es/groups.json index 48bece926e..1da9e025e2 100644 --- a/public/language/es/groups.json +++ b/public/language/es/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Si está habilitado, entrar en los grupos requiere aprobación de sus propietarios", "details.hidden": "Oculto", "details.hidden_help": "Si está habilitado, este grupo no aparecerá en los listados de grupos, y los usuarios tendrán que ser invitados manualmente", + "details.delete_group": "Delete Group", "event.updated": "Los detalles del grupo han sido actualizados", - "event.deleted": "El grupo \"%1\" ha sido eliminado" + "event.deleted": "El grupo \"%1\" ha sido eliminado", + "membership.accept-invitation": "Aceptar Invitación", + "membership.invitation-pending": "Invitación Pendiente", + "membership.join-group": "Unirse al grupo", + "membership.leave-group": "Dejar el grupo", + "membership.reject": "Rechazar" } \ No newline at end of file diff --git a/public/language/es/user.json b/public/language/es/user.json index 35dd4905dd..470e2ae200 100644 --- a/public/language/es/user.json +++ b/public/language/es/user.json @@ -22,7 +22,7 @@ "profile_views": "Visitas", "reputation": "Reputación", "favourites": "Favoritos", - "watched": "Visto", + "watched": "Suscritos", "followers": "Seguidores", "following": "Siguiendo", "aboutme": "Sobre mí", diff --git a/public/language/et/email.json b/public/language/et/email.json index 539e2f4eed..5dd3598445 100644 --- a/public/language/et/email.json +++ b/public/language/et/email.json @@ -1,15 +1,15 @@ { "password-reset-requested": "Parooli muutmise taotlus - %1", "welcome-to": "Tere tulemast %1 foorumisse", - "invite": "Invitation from %1", + "invite": "Kutse %1-lt", "greeting_no_name": "Tere", "greeting_with_name": "Tere %1", "welcome.text1": "Täname et oled registreerinud %1 foorumisse!", "welcome.text2": "Konto täielikuks aktiveerimiseks peame me kinnitama, et registreerimisel kasutatud e-mail kuulub teile.", - "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", + "welcome.text3": "Administraator aktsepteeris teie registreerimise. Te saate nüüd sisse logida oma kasutajanime/parooliga.", "welcome.cta": "Vajuta siia, et kinnitada oma e-maili aadress", - "invitation.text1": "%1 has invited you to join %2", - "invitation.ctr": "Click here to create your account.", + "invitation.text1": "%1 kutsus teid gruppi %2", + "invitation.ctr": "Vajuta siia, et registreeruda.", "reset.text1": "Meile laekus päring parooli muutmiseks. Kui päring ei ole teie poolt esitatud või te ei soovi parooli muuta, siis võite antud kirja ignoreerida.", "reset.text2": "Selleks, et jätkata parooli muutmisega vajuta järgnevale lingile:", "reset.cta": "Vajuta siia, et taotleda uut parooli", diff --git a/public/language/et/error.json b/public/language/et/error.json index e41b323cfe..865e8cdc76 100644 --- a/public/language/et/error.json +++ b/public/language/et/error.json @@ -2,7 +2,7 @@ "invalid-data": "Vigased andmed", "not-logged-in": "Sa ei ole sisse logitud", "account-locked": "Su kasutaja on ajutiselt lukustatud", - "search-requires-login": "Searching requires an account - please login or register.", + "search-requires-login": "Otsing nõuab kasutajat - palun registreeruge või logige sisse.", "invalid-cid": "Vigane kategooria ID", "invalid-tid": "Vigane teema ID", "invalid-pid": "Vigane postituse ID", @@ -21,11 +21,11 @@ "email-not-confirmed-chat": "Sõnumeid ei ole võimalik enne saata kui sinu email on kinnitatud. Kinnitamiseks vajuta siia.", "no-email-to-confirm": "See foorum nõuab emaili kinnitust, palun vajuta siia, et sisestada email", "email-confirm-failed": "Meil ei õnnestunud sinu emaili kinnitada, proovi hiljem uuesti.", - "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", + "confirm-email-already-sent": "Kinnituskiri on juba saadetud, palun oota %1 minut(it) uue saatmiseks.", "username-too-short": "Kasutajanimi on liiga lühike", "username-too-long": "Kasutajanimi on liiga pikk", "user-banned": "Kasutaja bannitud", - "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", + "user-too-new": "Vabandust, te peate ootama %1 sekund(it) enne esimese postituse loomist.", "no-category": "Kategooriat ei eksisteeri", "no-topic": "Teemat ei eksisteeri", "no-post": "Postitust ei eksisteeri", @@ -36,22 +36,24 @@ "no-emailers-configured": "Emaili rakendust ei ole laetud, seega test emaili ei ole võimalik saata", "category-disabled": "Kategooria keelatud", "topic-locked": "Teema lukustatud", - "post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting", + "post-edit-duration-expired": "Te peate ootama %1 sekund(it), enne kui oma postitust muudate.", "still-uploading": "Palun oota, kuni üleslaadimised on laetud.", - "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).", - "title-too-long": "Please enter a shorter title. Titles can't be longer than %1 character(s).", - "too-many-posts": "You can only post once every %1 second(s) - please wait before posting again", - "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", - "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", - "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", - "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", + "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).", + "title-too-long": "Palun sisesta lühem pealkiri. Pealkirjad ei saa olla pikemad kui %1 tähemärk(i).", + "too-many-posts": "Te saate postitada %1 sekundi tagant - palun oodake enne uue postituse tegemist.", + "too-many-posts-newbie": "Uue kasutajana saadte postitada vaid iga %1 sekundi tagant, seniks kuni olete teeninud vähemalt %2 reputatsiooni - palun oodake enne uue postituse tegemist.", + "tag-too-short": "Palun sisestage pikem märksõna. Märksõna pikkus peab olema vähemalt %1 tähemärk(i).", + "tag-too-long": "Palun sisestage lühem märksõna. Märksõna pikkus peab olema vähem kui %1 tähemärk(i).", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", + "file-too-big": "Maksimaalne üleslaetava faili suurus on %1 kB - valige väiksema mahuga fail.", "cant-vote-self-post": "Sa ei saa hääletada enda postituse poolt", "already-favourited": "Sa juba märkisid selle postituse lemmikuks", "already-unfavourited": "Sa juba eemaldasid selle postituse lemmikute hulgast", "cant-ban-other-admins": "Sa ei saa bannida teisi administraatoreid!", - "cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin", + "cant-remove-last-admin": "Te olete ainus administraator. Lisage keegi teine administraatoriks, enne kui eemaldate endalt administraatori.", "invalid-image-type": "Vigane pildi formaat. Lubatud formaadid on: %1", "invalid-image-extension": "Vigane pildi formaat", "invalid-file-type": "Vigane faili formaat. Lubatud formaadid on: %1", @@ -60,18 +62,18 @@ "group-name-change-not-allowed": "Grupi nimevahetus ei ole lubatud", "group-already-member": "Sa oled juba selle grupi liige", "group-needs-owner": "See grupp nõuab vähemalt ühte omanikku", - "group-already-invited": "This user has already been invited", - "group-already-requested": "Your membership request has already been submitted", + "group-already-invited": "Antud kasutaja on juba kutsutud.", + "group-already-requested": "Teie liikmetaotlus on juba saadetud.", "post-already-deleted": "Postitus on juba kustutatud", "post-already-restored": "Postitus on juba taastatud", "topic-already-deleted": "Teema on juba kustutatud", "topic-already-restored": "Teema on juba taastatud", - "cant-purge-main-post": "You can't purge the main post, please delete the topic instead", + "cant-purge-main-post": "Te ei saa eemaldada peamist postitust, pigem kustutage teema ära.", "topic-thumbnails-are-disabled": "Teema thumbnailid on keelatud.", "invalid-file": "Vigane fail", "uploads-are-disabled": "Üleslaadimised on keelatud", - "signature-too-long": "Sorry, your signature cannot be longer than %1 character(s).", - "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).", + "signature-too-long": "Vabandage, teie signatuur ei saa olla pikem kui %1 tähemärk(i).", + "about-me-too-long": "Vabandage, teie tutvustus ei saa olaa pikem kui %1 tähemärk(i).", "cant-chat-with-yourself": "Sa ei saa endaga vestelda!", "chat-restricted": "Kasutaja on piiranud sõnumite saatmist. Privaatsõnumi saatmiseks peab kasutaja sind jälgima", "too-many-messages": "Oled saatnud liiga palju sõnumeid, oota natukene.", @@ -79,7 +81,7 @@ "downvoting-disabled": "Negatiivsete häälte andmine ei ole võimaldatud", "not-enough-reputation-to-downvote": "Sul ei ole piisavalt reputatsiooni, et anda negatiivset hinnangut sellele postitusele.", "not-enough-reputation-to-flag": "Sul ei ole piisavalt reputatsiooni, et seda postitust raporteerida", - "already-flagged": "You have already flagged this post", + "already-flagged": "Te juba teatasite sellest postitusest.", "reload-failed": "\"%1\" värskendamisel tekkis süsteemne viga. Foorum ei lakka töötamast, kuid peaksid kindlasti eemaldama enne värskendamist tehtud muudatused.", "registration-error": "Viga registreerimisel", "parse-error": "Midagi läks valesti...", diff --git a/public/language/et/global.json b/public/language/et/global.json index 25c37dbd4c..153c49c35d 100644 --- a/public/language/et/global.json +++ b/public/language/et/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 kõigist %2-st", "pagination.enter_index": "Sisetage indeks", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Hiljutised", "header.unread": "Lugemata", "header.tags": "Märksõnad", @@ -50,7 +51,7 @@ "views": "Vaatamist", "reputation": "Reputatsioon", "read_more": "loe veel", - "more": "More", + "more": "Rohkem", "posted_ago_by_guest": "postitas %1 külaline", "posted_ago_by": "postitas %1 kasutaja %2", "posted_ago": "postitatud %1", diff --git a/public/language/et/groups.json b/public/language/et/groups.json index a94a4f28af..1ddeb7ce14 100644 --- a/public/language/et/groups.json +++ b/public/language/et/groups.json @@ -6,12 +6,12 @@ "no_groups_found": "Ei ole ühtegi gruppi", "pending.accept": "Aktsepteeri", "pending.reject": "Lükka tagasi", - "pending.accept_all": "Accept All", - "pending.reject_all": "Reject All", - "pending.none": "There are no pending members at this time", - "invited.none": "There are no invited members at this time", - "invited.uninvite": "Rescind Invitation", - "invited.search": "Search for a user to invite to this group", + "pending.accept_all": "Aktsepteeri kõik", + "pending.reject_all": "Lükka kõik tagasi", + "pending.none": "Hetkel ei ole ootel kasutajaid", + "invited.none": "Hetkel ei ole kutsutud kasutajaid", + "invited.uninvite": "Tühistage kutse", + "invited.search": "Otsige kasutajat, keda kutsuda antud gruppi.", "cover-instructions": "Lohista kaanepilt siia ning vajuta salvesta", "cover-change": "Muuda", "cover-save": "Salvesta", @@ -19,7 +19,7 @@ "details.title": "Grupi detailid", "details.members": "Liikmete nimekiri", "details.pending": "Otsust ootavad liikmed", - "details.invited": "Invited Members", + "details.invited": "Kutsutud liikmed", "details.has_no_posts": "Selle grupi liikmed ei ole teinud ühtegi postitust.", "details.latest_posts": "Viimased postitused", "details.private": "Privaatne", @@ -38,6 +38,12 @@ "details.private_help": "Kui sisse lülitatud, siis grupiga liitumine nõuab grupi omaniku nõusolekut", "details.hidden": "Peidetud", "details.hidden_help": "Kui sisse lülitatud, siis seda gruppi ei kuvata gruppide nimekirjas ning liikmed tuleb lisada manuaalselt", + "details.delete_group": "Delete Group", "event.updated": "Grupi lisainformatsiooni on uuendatud", - "event.deleted": "Grupp \"%1\" on kustutatud" + "event.deleted": "Grupp \"%1\" on kustutatud", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/et/notifications.json b/public/language/et/notifications.json index fc4f6a9ea9..b20db58c6b 100644 --- a/public/language/et/notifications.json +++ b/public/language/et/notifications.json @@ -20,7 +20,7 @@ "user_posted_topic": "%1 on postitanud uue teema: %2", "user_mentioned_you_in": "%1 mainis sind postituses %2", "user_started_following_you": "%1 hakkas sind jälgima.", - "new_register": "%1 sent a registration request.", + "new_register": "%1 saatis registratsioonitaotluse.", "email-confirmed": "Emaili aadress kinnitatud", "email-confirmed-message": "Täname, et kinnitasite oma emaili aadressi. Teie kasutaja on nüüd täielikult aktiveeritud.", "email-confirm-error-message": "Emaili aadressi kinnitamisel tekkis viga. Võibolla kinnituskood oli vale või aegunud.", diff --git a/public/language/et/register.json b/public/language/et/register.json index 922c163537..cbd042fb68 100644 --- a/public/language/et/register.json +++ b/public/language/et/register.json @@ -15,5 +15,5 @@ "alternative_registration": "Alternatiivne registreerimismeetod", "terms_of_use": "Foorumi reeglid", "agree_to_terms_of_use": "Nõustun foorumi reeglitega", - "registration-added-to-queue": "Your registration has been added to the approval queue. You will receive an email when it is accepted by an administrator." + "registration-added-to-queue": "Teie registreerimine vaadatakse üle. Te saate e-kirja kui administraator on aktsepteerinud registreermimise." } \ No newline at end of file diff --git a/public/language/et/search.json b/public/language/et/search.json index a9f4e17dce..bc26e81081 100644 --- a/public/language/et/search.json +++ b/public/language/et/search.json @@ -1,40 +1,40 @@ { "results_matching": "%1 tulemus(t) mis vastavad otsingule \"%2\", (%3 sekundit)", "no-matches": "Vasteid ei leitud", - "advanced-search": "Advanced Search", - "in": "In", - "titles": "Titles", - "titles-posts": "Titles and Posts", - "posted-by": "Posted by", - "in-categories": "In Categories", - "search-child-categories": "Search child categories", - "reply-count": "Reply Count", - "at-least": "At least", - "at-most": "At most", - "post-time": "Post time", - "newer-than": "Newer than", - "older-than": "Older than", - "any-date": "Any date", - "yesterday": "Yesterday", - "one-week": "One week", - "two-weeks": "Two weeks", - "one-month": "One month", - "three-months": "Three months", - "six-months": "Six months", - "one-year": "One year", - "sort-by": "Sort by", - "last-reply-time": "Last reply time", - "topic-title": "Topic title", - "number-of-replies": "Number of replies", - "number-of-views": "Number of views", - "topic-start-date": "Topic start date", - "username": "Username", - "category": "Category", - "descending": "In descending order", - "ascending": "In ascending order", - "save-preferences": "Save preferences", - "clear-preferences": "Clear preferences", - "search-preferences-saved": "Search preferences saved", - "search-preferences-cleared": "Search preferences cleared", - "show-results-as": "Show results as" + "advanced-search": "Täpsem otsing", + "in": "Kus kohast", + "titles": "Tiitlid", + "titles-posts": "Tiitlid ja postitused", + "posted-by": "Autor", + "in-categories": "Kategooriates", + "search-child-categories": "Otsi vahekategooriatest", + "reply-count": "Vastuste arv", + "at-least": "Rohkemalt", + "at-most": "Vähemalt", + "post-time": "Postitamise aeg", + "newer-than": "Uuem kui", + "older-than": "Vanem kui", + "any-date": "Kõik kuupäevad", + "yesterday": "Eile", + "one-week": "Üks nädal", + "two-weeks": "Kaks nädalat", + "one-month": "Üks kuu", + "three-months": "Kolm kuud", + "six-months": "Kuus kuud", + "one-year": "Üks aasta", + "sort-by": "Sorteeri", + "last-reply-time": "Viimase vastuse aeg", + "topic-title": "Teema tiitel", + "number-of-replies": "Vastuste arv", + "number-of-views": "Vaatamiste arv", + "topic-start-date": "Teema alguskuupäev", + "username": "Kasutajanimi", + "category": "Kategooria", + "descending": "Kahanevas järjekorras", + "ascending": "Kasvavas järjekorras", + "save-preferences": "Salvesta eelistused", + "clear-preferences": "Kustuta eelistused", + "search-preferences-saved": "Otsingueelistused salvestatud", + "search-preferences-cleared": "Otsingueelistused kustutatud", + "show-results-as": "Näita tulemusi kui" } \ No newline at end of file diff --git a/public/language/et/topic.json b/public/language/et/topic.json index 4359384ac4..c96232b554 100644 --- a/public/language/et/topic.json +++ b/public/language/et/topic.json @@ -5,7 +5,7 @@ "no_topics_found": "Teemasid ei leitud!", "no_posts_found": "Postitusi ei leitud!", "post_is_deleted": "See postitus on kustutatud!", - "topic_is_deleted": "This topic is deleted!", + "topic_is_deleted": "Antud teema on kustutatud!", "profile": "Profiil", "posted_by": "Postitas %1", "posted_by_guest": "Postitatud külalise ppolt", diff --git a/public/language/et/unread.json b/public/language/et/unread.json index f439b6db35..140ff1dd62 100644 --- a/public/language/et/unread.json +++ b/public/language/et/unread.json @@ -5,6 +5,6 @@ "mark_as_read": "Märgi loetuks", "selected": "Valitud", "all": "Kõik", - "all_categories": "All categories", + "all_categories": "Kõik kategooriad", "topics_marked_as_read.success": "Teemad märgitud loetuks!" } \ No newline at end of file diff --git a/public/language/et/user.json b/public/language/et/user.json index d28d82ad70..a697fd2437 100644 --- a/public/language/et/user.json +++ b/public/language/et/user.json @@ -6,12 +6,12 @@ "postcount": "Postitusi", "email": "Email", "confirm_email": "Kinnita email", - "ban_account": "Ban Account", - "ban_account_confirm": "Do you really want to ban this user?", - "unban_account": "Unban Account", + "ban_account": "Bannige kasutaja", + "ban_account_confirm": "Kas te tõesti soovite antud kasutajat bannida?", + "unban_account": "Eemaldage kontolt ban", "delete_account": "Kustuta kasutaja", "delete_account_confirm": "Oled kindel, et soovid oma kasutaja kustutada?
Pärast kustutamist pole võimalik andmeid ja kasutajat taastada.

Sisesta oma kasutajanimi, et kinnitada kasutaja kustutamine.", - "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", + "delete_this_account_confirm": "Olete kindel, et soovide seda kasutajat kustutada?
Pärast seda pole võimalik kasutajat ja andmeid taastada

", "fullname": "Täisnimi", "website": "Koduleht", "location": "Asukoht", @@ -25,7 +25,7 @@ "watched": "Vaadatud", "followers": "Jälgijad", "following": "Jälgimised", - "aboutme": "About me", + "aboutme": "Minust", "signature": "Allkiri", "gravatar": "Gravatar", "birthday": "Sünnipäev", @@ -68,21 +68,21 @@ "settings-require-reload": "Muudatused seadetes nõuavad lehe uuesti laadimist. Lehe värskendamiseks vajuta siia.", "has_no_follower": "Sellel kasutajal pole ühtegi jälgijat :(", "follows_no_one": "See kasutaja ei jälgi kedagi :(", - "has_no_posts": "This user hasn't posted anything yet.", - "has_no_topics": "This user hasn't posted any topics yet.", - "has_no_watched_topics": "This user hasn't watched any topics yet.", + "has_no_posts": "Antud kasutaja pole veel midagi postitanud.", + "has_no_topics": "Antud kasutaja pole veel ühtegi teemat postitanud.", + "has_no_watched_topics": "Antud kasutaja pole veel ühtegi teemat vaadanud.", "email_hidden": "Peidetud email", "hidden": "peidetud", - "paginate_description": "Paginate topics and posts instead of using infinite scroll", + "paginate_description": "Nummerda leheküljed ja postitused ning ära kasuta lõputut kerimist", "topics_per_page": "Teemasi ühe lehekülje kohta", "posts_per_page": "Postitusi ühe lehekülje kohta", - "notification_sounds": "Play a sound when you receive a notification", + "notification_sounds": "Mängi heli, kui teade saabub.", "browsing": "Sirvimis sätted", - "open_links_in_new_tab": "Open outgoing links in new tab", + "open_links_in_new_tab": "Ava väljaminevad lingid uues aknas", "enable_topic_searching": "Võimalda teemasisene otsing", - "topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "topic_search_help": "Kui see on sisse lükatud, siis teemasisene otsing võtab üle brauseri tavapärase otsingu ning võimaldab otsida ainult ekraanile mahtuva teema asemel terve teema ulatuses.", + "follow_topics_you_reply_to": "Järgi teemasid, millele olete vastanud.", + "follow_topics_you_create": "Järgi teemasi, mis on teie loodud.", "grouptitle": "Vali grupile tiitel mida kuvada soovid", "no-group-title": "Grupi tiitel puudub" } \ No newline at end of file diff --git a/public/language/et/users.json b/public/language/et/users.json index d8d7342f4e..af22195a76 100644 --- a/public/language/et/users.json +++ b/public/language/et/users.json @@ -9,13 +9,13 @@ "filter-by": "Filtreeri", "online-only": "Ainult seesolevad", "picture-only": "Ainult pilt", - "invite": "Invite", - "invitation-email-sent": "An invitation email has been sent to %1", - "user_list": "User List", - "recent_topics": "Recent Topics", - "popular_topics": "Popular Topics", - "unread_topics": "Unread Topics", - "categories": "Categories", - "tags": "Tags", - "map": "Map" + "invite": "Kutsuge", + "invitation-email-sent": "Kutse on saadetud e-mailile %1", + "user_list": "Kasutajate list", + "recent_topics": "Viimased teemad", + "popular_topics": "Populaarsed teemad", + "unread_topics": "Lugemata teemad", + "categories": "Kategooriad", + "tags": "Märksõnad", + "map": "Kaart" } \ No newline at end of file diff --git a/public/language/fa_IR/error.json b/public/language/fa_IR/error.json index 0ad12b9ee7..c646650723 100644 --- a/public/language/fa_IR/error.json +++ b/public/language/fa_IR/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "شما نمی‌توانید به دیدگاه خود رای بدهید.", "already-favourited": "شما قبلا این دیدگاه را محبوب کرده اید", diff --git a/public/language/fa_IR/global.json b/public/language/fa_IR/global.json index aff826fca3..773931e3ce 100644 --- a/public/language/fa_IR/global.json +++ b/public/language/fa_IR/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 از %2", "pagination.enter_index": "شماره را وارد کنید", "header.admin": "مدیر", + "header.categories": "Categories", "header.recent": "تازه‌ها", "header.unread": "نخوانده‌ها", "header.tags": "برچسب‌ها", diff --git a/public/language/fa_IR/groups.json b/public/language/fa_IR/groups.json index af5126d08a..4309d8390a 100644 --- a/public/language/fa_IR/groups.json +++ b/public/language/fa_IR/groups.json @@ -38,6 +38,12 @@ "details.private_help": "اگر فعال باشد، پیوستن به گروه مستلزم موافقت صاحب گروه است", "details.hidden": "پنهان", "details.hidden_help": "اگر فعال باشد، این گروه در فهرست گروه‌ها پیدا نمی‌شود و کاربران باید دستی فراخوانده شوند", + "details.delete_group": "Delete Group", "event.updated": "جزییات گروه با موفقیت به روز گردید", - "event.deleted": "گروه \"%1\" حدف شد" + "event.deleted": "گروه \"%1\" حدف شد", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/fi/error.json b/public/language/fi/error.json index 076978796a..6d161c7a3e 100644 --- a/public/language/fi/error.json +++ b/public/language/fi/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Et voi antaa ääntä omalle viestillesi", "already-favourited": "Tämä viesti on jo suosikeissasi", diff --git a/public/language/fi/global.json b/public/language/fi/global.json index fec566c64b..ddf038b849 100644 --- a/public/language/fi/global.json +++ b/public/language/fi/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1/%2", "pagination.enter_index": "Syötä indeksi", "header.admin": "Ylläpitäjä", + "header.categories": "Categories", "header.recent": "Viimeisimmät", "header.unread": "Lukemattomat", "header.tags": "Tagit", diff --git a/public/language/fi/groups.json b/public/language/fi/groups.json index 019bc0bf24..a2cf33e9ce 100644 --- a/public/language/fi/groups.json +++ b/public/language/fi/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/fr/error.json b/public/language/fr/error.json index ac1ac582aa..4b621eea44 100644 --- a/public/language/fr/error.json +++ b/public/language/fr/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "En tant que nouvel utilisateur, vous ne pouvez poster que toutes les %1 seconde(s) jusqu'à ce que vous obteniez une réputation de %2 - patientez avant de publier de nouveau.", "tag-too-short": "Veuillez entrer un mot-clé plus long. Les mots-clés doivent contenir au moins %1 caractère(s).", "tag-too-long": "Veuillez entrer un mot-clé plus court. Les mot-clés ne peuvent faire plus de %1 caractère(s).", + "not-enough-tags": "Pas assez de tags. Les sujets doivent avoir au moins %1 tag(s).", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "La taille maximale autorisée pour un fichier est de %1 kb. Veuillez envoyer un fichier plus petit.", "cant-vote-self-post": "Vous ne pouvez pas voter pour vos propres messages", "already-favourited": "Vous avez déjà mis ce message en favoris", diff --git a/public/language/fr/global.json b/public/language/fr/global.json index 713ae56634..75faa6dc2e 100644 --- a/public/language/fr/global.json +++ b/public/language/fr/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 sur %2", "pagination.enter_index": "Entrer un numéro de page", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Récent", "header.unread": "Non lu", "header.tags": "Mots-clés", diff --git a/public/language/fr/groups.json b/public/language/fr/groups.json index 0315245c6b..35488f192e 100644 --- a/public/language/fr/groups.json +++ b/public/language/fr/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Si cette case est cochée, rejoindre un groupe nécessite l'accord d'un propriétaire du groupe.", "details.hidden": "Masqué", "details.hidden_help": "Si cette case est cochée, ce groupe n'est pas affiché dans la liste des groupes, et les utilisateurs devront être invités manuellement.", + "details.delete_group": "Delete Group", "event.updated": "Les détails du groupe ont été mis à jour", - "event.deleted": "Le groupe \"%1\" a été supprimé" + "event.deleted": "Le groupe \"%1\" a été supprimé", + "membership.accept-invitation": "Accepter l'invitation", + "membership.invitation-pending": "Invitation en attente", + "membership.join-group": "Rejoindre le groupe", + "membership.leave-group": "Quitter le groupe", + "membership.reject": "Refuser" } \ No newline at end of file diff --git a/public/language/fr/topic.json b/public/language/fr/topic.json index 7a3649951c..b6c5491426 100644 --- a/public/language/fr/topic.json +++ b/public/language/fr/topic.json @@ -35,7 +35,7 @@ "login_to_subscribe": "Veuillez vous enregistrer ou vous connecter afin de vous abonner à ce sujet.", "markAsUnreadForAll.success": "Sujet marqué comme non lu pour tout le monde.", "watch": "Suivre", - "unwatch": "Ne pas suivre", + "unwatch": "Ne plus suivre", "watch.title": "Être notifié des nouvelles réponses dans ce sujet", "unwatch.title": "Arrêter de suivre ce sujet", "share_this_post": "Partager ce message", diff --git a/public/language/fr/user.json b/public/language/fr/user.json index c4f02fb5a3..92c82d7042 100644 --- a/public/language/fr/user.json +++ b/public/language/fr/user.json @@ -2,7 +2,7 @@ "banned": "Banni", "offline": "Hors-ligne", "username": "Nom d'utilisateur", - "joindate": "Date d'adhésion", + "joindate": "Date d'inscription", "postcount": "Nombre de messages", "email": "Email", "confirm_email": "Confirmer l'adresse email", @@ -56,7 +56,7 @@ "settings": "Paramètres", "show_email": "Afficher mon email", "show_fullname": "Afficher mon nom complet", - "restrict_chats": "Autoriser la réception de message uniquement au personne que je suis", + "restrict_chats": "Autoriser la réception de messages provenant uniquement des personnes que je suis", "digest_label": "S’inscrire aux comptes-rendus", "digest_description": "S'abonner par email aux mises à jours de ce forum (nouvelles notifications et nouveaux sujets) selon le planning sélectionné.", "digest_off": "Désactivé", @@ -64,7 +64,7 @@ "digest_weekly": "Hebdomadaire", "digest_monthly": "Mensuel", "send_chat_notifications": "Envoyer un e-mail si un nouveau message de chat arrive lorsque je ne suis pas en ligne", - "send_post_notifications": "Envoyer un email lors de réponses envoyées aux sujets auxquels je suis abonné.", + "send_post_notifications": "Envoyer un email lors de réponses envoyées aux sujets auxquels je suis abonné", "settings-require-reload": "Certains réglages nécessitent un rechargement. Cliquez ici pour recharger la page.", "has_no_follower": "Cet utilisateur n'est suivi par personne :(", "follows_no_one": "Cet utilisateur ne suit personne :(", @@ -73,10 +73,10 @@ "has_no_watched_topics": "Cet utilisateur n'a encore consulté aucun sujet.", "email_hidden": "Email masqué", "hidden": "masqué", - "paginate_description": "Utiliser la pagination des sujets et des messages à la place du défilement infini.", + "paginate_description": "Utiliser la pagination des sujets et des messages à la place du défilement infini", "topics_per_page": "Sujets par page", "posts_per_page": "Messages par page", - "notification_sounds": "Émettre un son lors de la réception de notifications.", + "notification_sounds": "Émettre un son lors de la réception de notifications", "browsing": "Paramètres de navigation", "open_links_in_new_tab": "Ouvrir les liens externes dans un nouvel onglet", "enable_topic_searching": "Activer la recherche dans les sujets", diff --git a/public/language/he/error.json b/public/language/he/error.json index 9086b3bd09..d0cd6b0db7 100644 --- a/public/language/he/error.json +++ b/public/language/he/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "לא ניתן להצביע לפוסט שלך", "already-favourited": "כבר הוספת פוסט זה למועדפים", diff --git a/public/language/he/global.json b/public/language/he/global.json index 2769a2447a..19c2c2096e 100644 --- a/public/language/he/global.json +++ b/public/language/he/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 מתוך %2", "pagination.enter_index": "יש להכניס אינדקס", "header.admin": "ניהול", + "header.categories": "Categories", "header.recent": "פוסטים אחרונים", "header.unread": "לא נקרא", "header.tags": "תגיות", diff --git a/public/language/he/groups.json b/public/language/he/groups.json index ea3f3712c6..0cb4cafcb8 100644 --- a/public/language/he/groups.json +++ b/public/language/he/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "פרטי הקבוצה עודכנו", - "event.deleted": "קבוצת \"%1\" נמחקה" + "event.deleted": "קבוצת \"%1\" נמחקה", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/hu/error.json b/public/language/hu/error.json index 8ca06e3d51..43409ab53e 100644 --- a/public/language/hu/error.json +++ b/public/language/hu/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Nem szavazhatsz a saját hozzászólásodra", "already-favourited": "Már bejelölted Kedvencnek ezt a hozzászólást", diff --git a/public/language/hu/global.json b/public/language/hu/global.json index 1411d5d09f..6f3754eb69 100644 --- a/public/language/hu/global.json +++ b/public/language/hu/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 - %2", "pagination.enter_index": "Írj be egy számot", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Friss", "header.unread": "Olvasatlan", "header.tags": "Címkék", diff --git a/public/language/hu/groups.json b/public/language/hu/groups.json index 1865ef5e5d..a5332f50b4 100644 --- a/public/language/hu/groups.json +++ b/public/language/hu/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/id/error.json b/public/language/id/error.json index c324329b12..0df935dd38 100644 --- a/public/language/id/error.json +++ b/public/language/id/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Kamu tidak dapat vote postingan sendiri", "already-favourited": "Post ini sudah kamu favorit", diff --git a/public/language/id/global.json b/public/language/id/global.json index 2916e6b6a8..338e358642 100644 --- a/public/language/id/global.json +++ b/public/language/id/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 dari %2", "pagination.enter_index": "Masukkan index", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Terbaru", "header.unread": "Belum dibaca", "header.tags": "Tag", diff --git a/public/language/id/groups.json b/public/language/id/groups.json index afc68e933b..d67ca443d1 100644 --- a/public/language/id/groups.json +++ b/public/language/id/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/it/error.json b/public/language/it/error.json index 1426a8531b..308a5afa08 100644 --- a/public/language/it/error.json +++ b/public/language/it/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Non puoi votare il tuo stesso post", "already-favourited": "Hai già inserito tra i preferiti questo post", diff --git a/public/language/it/global.json b/public/language/it/global.json index 1f5418e698..47269df850 100644 --- a/public/language/it/global.json +++ b/public/language/it/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 di %2", "pagination.enter_index": "Inserisci numero", "header.admin": "Amministratore", + "header.categories": "Categories", "header.recent": "Recenti", "header.unread": "Non letti", "header.tags": "Tags", diff --git a/public/language/it/groups.json b/public/language/it/groups.json index 2daecdf16b..1718c967ac 100644 --- a/public/language/it/groups.json +++ b/public/language/it/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Se abilitato, l'ingresso ai gruppi richiede l'approvazione di uno dei proprietari", "details.hidden": "Nascosto", "details.hidden_help": "Se abilitato, questo gruppo non sarà visibile nella lista dei gruppi e gli utenti dovranno essere invitati manualmente", + "details.delete_group": "Delete Group", "event.updated": "I dettagli del Gruppo sono stati aggiornati", - "event.deleted": "Il gruppo \"%1\" è stato eliminato" + "event.deleted": "Il gruppo \"%1\" è stato eliminato", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/ja/error.json b/public/language/ja/error.json index 483afca720..0fead7d402 100644 --- a/public/language/ja/error.json +++ b/public/language/ja/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "自分のポストに評価することはできません。", "already-favourited": "You have already favourited this post", diff --git a/public/language/ja/global.json b/public/language/ja/global.json index 682771cc8f..043bbbee5a 100644 --- a/public/language/ja/global.json +++ b/public/language/ja/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 out of %2", "pagination.enter_index": "Enter index", "header.admin": "管理", + "header.categories": "Categories", "header.recent": "最近", "header.unread": "未読", "header.tags": "Tags", diff --git a/public/language/ja/groups.json b/public/language/ja/groups.json index c9ac036475..1e1623c38f 100644 --- a/public/language/ja/groups.json +++ b/public/language/ja/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/ko/error.json b/public/language/ko/error.json index 715f932578..344fca5493 100644 --- a/public/language/ko/error.json +++ b/public/language/ko/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "자신의 게시물에는 투표할 수 없습니다.", "already-favourited": "You have already favourited this post", diff --git a/public/language/ko/global.json b/public/language/ko/global.json index 601c60aa19..8b3c19e634 100644 --- a/public/language/ko/global.json +++ b/public/language/ko/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1개 중 %2개", "pagination.enter_index": "이동할 게시물 번호를 입력하세요.", "header.admin": "관리자", + "header.categories": "Categories", "header.recent": "최근 주제", "header.unread": "읽지 않은 주제", "header.tags": "태그", diff --git a/public/language/ko/groups.json b/public/language/ko/groups.json index f2327c674d..ce5f1c3912 100644 --- a/public/language/ko/groups.json +++ b/public/language/ko/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/lt/error.json b/public/language/lt/error.json index 4b42d4b09c..9134db77db 100644 --- a/public/language/lt/error.json +++ b/public/language/lt/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Jūs negalite balsuoti už savo pranešimą", "already-favourited": "You have already favourited this post", diff --git a/public/language/lt/global.json b/public/language/lt/global.json index 3739fcdce6..541becf696 100644 --- a/public/language/lt/global.json +++ b/public/language/lt/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 iš %2", "pagination.enter_index": "Įrašykite indeksą", "header.admin": "Administratorius", + "header.categories": "Categories", "header.recent": "Naujausi", "header.unread": "Neskaityti", "header.tags": "Žymos", diff --git a/public/language/lt/groups.json b/public/language/lt/groups.json index 00eb1d9582..a6e81d61e8 100644 --- a/public/language/lt/groups.json +++ b/public/language/lt/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Paslėptas", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Grupės informacija atnaujinta", - "event.deleted": "Grupė \"%1\" pašalinta" + "event.deleted": "Grupė \"%1\" pašalinta", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/ms/error.json b/public/language/ms/error.json index cde4c21a5f..49b0f5ff86 100644 --- a/public/language/ms/error.json +++ b/public/language/ms/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "Sebagai pengguna baru, anda hanya boleh mengirim sekali setiap %1 saat() sehinnga anda mendapat %2 reputasi - sila tunggu sebelum kiriman seterusnya", "tag-too-short": "Sila masukkan tag yang lebih panjang. Tag mesti mengandungi sekurang-kurangnya %1 aksara()", "tag-too-long": "Sila masukkan tag yang lebih pendek. Tag mesti mengandungi tidak lebih %1 aksara()", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maksimum saiz fail yang dibenarkan ialah %1 kB - sila muatnaik fail yang lebih kecil", "cant-vote-self-post": "Anda tidak boleh mengundi kiriman sendiri", "already-favourited": "Anda telah pun menggemari kiriman ini", diff --git a/public/language/ms/global.json b/public/language/ms/global.json index c360234332..f35004ec2a 100644 --- a/public/language/ms/global.json +++ b/public/language/ms/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 out of %2", "pagination.enter_index": "Masukkan indeks", "header.admin": "Pentadbir", + "header.categories": "Categories", "header.recent": "Terkini", "header.unread": "Belum dibaca", "header.tags": "Tags", diff --git a/public/language/ms/groups.json b/public/language/ms/groups.json index bb12dd6325..3bc71433f1 100644 --- a/public/language/ms/groups.json +++ b/public/language/ms/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Jika dibolehkan, menyertai kumpulan memerlukan kelulusan pemilik kumpulan", "details.hidden": "Sembunyi", "details.hidden_help": "Jika dibolehkan, kumpulan ini tidak akan dijumpai di senarai kumpulan, dan pengguna hendaklah di jemput secara manual", + "details.delete_group": "Delete Group", "event.updated": "Perincian kumpulan telah dikemaskini", - "event.deleted": "Kumpulan \"%1\" telah dipadam" + "event.deleted": "Kumpulan \"%1\" telah dipadam", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/nb/error.json b/public/language/nb/error.json index e530bc925d..fdb5a62f86 100644 --- a/public/language/nb/error.json +++ b/public/language/nb/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "Som en ny bruker kan du bare poste en gang hvert %1. sekund, før du har opparbeidet %2 rykte – vennligst vent før du poster igjen", "tag-too-short": "Vennligst skriv en lengre tag. Tagger må være på minst %1 tegn", "tag-too-long": "Vennligst skriv en kortere tag. Tagger kan ikke være lengre enn %1 tegn", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Største tillatte filstørrelse er %1 kB – vennligst last opp en mindre fil", "cant-vote-self-post": "Du kan ikke stemme på ditt eget innlegg", "already-favourited": "Du har allerede favorittmerket dette innlegget", diff --git a/public/language/nb/global.json b/public/language/nb/global.json index 4576a39c21..6c5ea5e019 100644 --- a/public/language/nb/global.json +++ b/public/language/nb/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 ut av %2", "pagination.enter_index": "Skriv indeks", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Seneste", "header.unread": "Uleste", "header.tags": "Tagger", diff --git a/public/language/nb/groups.json b/public/language/nb/groups.json index 99fee661d7..62e2979113 100644 --- a/public/language/nb/groups.json +++ b/public/language/nb/groups.json @@ -6,8 +6,8 @@ "no_groups_found": "Det er ingen grupper å se", "pending.accept": "Aksepter", "pending.reject": "Avslå", - "pending.accept_all": "Accept All", - "pending.reject_all": "Reject All", + "pending.accept_all": "Aksepter al", + "pending.reject_all": "Avslå alle", "pending.none": "There are no pending members at this time", "invited.none": "There are no invited members at this time", "invited.uninvite": "Rescind Invitation", @@ -38,6 +38,12 @@ "details.private_help": "Hvis aktivert, vil medlemskap i grupper kreve godkjennelse fra en gruppe-eier", "details.hidden": "Skjult", "details.hidden_help": "vis aktivert, vil denne gruppen ikke bli funnet i gruppelista, og brukere må inviteres manuellt", + "details.delete_group": "Delete Group", "event.updated": "Gruppedetaljer har blitt oppgradert", - "event.deleted": "Gruppen \"%1\" har blitt slettet" + "event.deleted": "Gruppen \"%1\" har blitt slettet", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/nb/users.json b/public/language/nb/users.json index 1b379cc07f..23898fad37 100644 --- a/public/language/nb/users.json +++ b/public/language/nb/users.json @@ -9,13 +9,13 @@ "filter-by": "Filtrer etter", "online-only": "Bare påloggede", "picture-only": "Bare bilde", - "invite": "Invite", - "invitation-email-sent": "An invitation email has been sent to %1", - "user_list": "User List", - "recent_topics": "Recent Topics", - "popular_topics": "Popular Topics", - "unread_topics": "Unread Topics", - "categories": "Categories", - "tags": "Tags", - "map": "Map" + "invite": "Invitér", + "invitation-email-sent": "En invitasjons-epost ble sendt til %1", + "user_list": "Brukerliste", + "recent_topics": "Seneste emner", + "popular_topics": "Populære emnter", + "unread_topics": "Uleste emner", + "categories": "Kategorier", + "tags": "Tagger", + "map": "Kart" } \ No newline at end of file diff --git a/public/language/nl/error.json b/public/language/nl/error.json index 0c9de298df..ccd33cfb02 100644 --- a/public/language/nl/error.json +++ b/public/language/nl/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "Nieuwe gebruikersaccounts zoals deze zijn begrensd en mogen slechts iedere %1 seconde(n) berichten plaatsen, tot het moment dat %2 reputatie verdiend is - wacht daarom even met opnieuw een bericht te plaatsten", "tag-too-short": "Geef een tag op die uit meer tekens bestaat. Tags dienen uit minimaal %1 teken(s) te bestaan.", "tag-too-long": "Geef een kortere tag op. Tags mogen niet langer dan %1 teken(s) zijn", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum toegestane bestandsgrootte is %1 kB - probeer een kleiner bestand te verzenden", "cant-vote-self-post": "Het is niet mogelijk op eigen berichten te stemmen", "already-favourited": "Dit bericht staat al tussen de favorieten", diff --git a/public/language/nl/global.json b/public/language/nl/global.json index a12b42d659..5540a722fc 100644 --- a/public/language/nl/global.json +++ b/public/language/nl/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 van %2", "pagination.enter_index": "Vul index in", "header.admin": "Beheer", + "header.categories": "Categories", "header.recent": "Recent", "header.unread": "Ongelezen", "header.tags": "Tags", diff --git a/public/language/nl/groups.json b/public/language/nl/groups.json index ac39b79886..d91ad473b0 100644 --- a/public/language/nl/groups.json +++ b/public/language/nl/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Wanneer ingeschakeld, zal eerst een groepseigenaar goedkeuring moeten verlenen voordat nieuwe leden kunnen toetreden", "details.hidden": "Niet getoond", "details.hidden_help": "Indien geactiveerd zal deze groep niet getoond worden in de groepslijst en zullen gebruikers handmatig uitgenodigd moeten worden.", + "details.delete_group": "Delete Group", "event.updated": "Groepsdetails zijn bijgewerkt", - "event.deleted": "De groep \"%1\" is verwijderd" + "event.deleted": "De groep \"%1\" is verwijderd", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/pl/error.json b/public/language/pl/error.json index 8d3eb4ac75..198c58b01a 100644 --- a/public/language/pl/error.json +++ b/public/language/pl/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Nie możesz głosować na własny post", "already-favourited": "Już polubiłeś ten post", diff --git a/public/language/pl/global.json b/public/language/pl/global.json index 5b6249229e..7200671fce 100644 --- a/public/language/pl/global.json +++ b/public/language/pl/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 z %2", "pagination.enter_index": "Wpisz indeks.", "header.admin": "Administracja", + "header.categories": "Categories", "header.recent": "Ostatnie", "header.unread": "Nieprzeczytane", "header.tags": "Tagi", diff --git a/public/language/pl/groups.json b/public/language/pl/groups.json index d20f679fd7..90c7195a0b 100644 --- a/public/language/pl/groups.json +++ b/public/language/pl/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Jeśli aktywowane, przystępowanie do grup wymaga zatwierdzenia przez właściciela grupy", "details.hidden": "Ukryty", "details.hidden_help": "Jeśli aktywowane, ta grupa nie będzie widoczna w wykazie grup, a użytkownicy będą musieli być zapraszani manualnie.", + "details.delete_group": "Delete Group", "event.updated": "Dane grupy zostały zaktualizowane", - "event.deleted": "Grupa \"%1\" została skasowana" + "event.deleted": "Grupa \"%1\" została skasowana", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/pt_BR/error.json b/public/language/pt_BR/error.json index 7ef6b21504..75959666a7 100644 --- a/public/language/pt_BR/error.json +++ b/public/language/pt_BR/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "Como novo usuário, você pode postar uma vez a cada %1 segundo(s) até que você tenha recebido reputação de %2 - por favor aguarde antes de postar novamente", "tag-too-short": "Por favor digite uma tag maior. Tags devem conter pelo menos %1 caractere(s)", "tag-too-long": "Por favor digite uma tag menor. Tags não podem conter mais que %1 caractere(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "O tamanho máximo permitido de arquivo é %1 kB - por favor faça upload de um arquivo menor", "cant-vote-self-post": "Você não pode votar no seu próprio post", "already-favourited": "Você já adicionou este post aos favoritos", diff --git a/public/language/pt_BR/global.json b/public/language/pt_BR/global.json index 01554381df..75285bba9a 100644 --- a/public/language/pt_BR/global.json +++ b/public/language/pt_BR/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 de %2", "pagination.enter_index": "Digite o índice", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Recente", "header.unread": "Não Lido", "header.tags": "Tags", diff --git a/public/language/pt_BR/groups.json b/public/language/pt_BR/groups.json index 1dde957248..5391da0e8f 100644 --- a/public/language/pt_BR/groups.json +++ b/public/language/pt_BR/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Se habilitado, a entrada nos grupos requer aprovação de um dos donos do grupo", "details.hidden": "Oculto", "details.hidden_help": "Se habilitado, este grupo não se encontrará na listagem de grupos e os usuários terão de ser convivados manualmente", + "details.delete_group": "Delete Group", "event.updated": "Os detalhes do grupo foram atualizados", - "event.deleted": "O grupo \"%1\" foi deletado" + "event.deleted": "O grupo \"%1\" foi deletado", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/ro/error.json b/public/language/ro/error.json index 94e87686d6..ce0c232cf4 100644 --- a/public/language/ro/error.json +++ b/public/language/ro/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Nu poți vota propriul tău mesaj", "already-favourited": "You have already favourited this post", diff --git a/public/language/ro/global.json b/public/language/ro/global.json index 2085d160ab..a7557ad111 100644 --- a/public/language/ro/global.json +++ b/public/language/ro/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 din %2", "pagination.enter_index": "Introdu index", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Recente", "header.unread": "Necitite", "header.tags": "Taguri", diff --git a/public/language/ro/groups.json b/public/language/ro/groups.json index 61871c5fa0..16d4fbb1d3 100644 --- a/public/language/ro/groups.json +++ b/public/language/ro/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/ru/email.json b/public/language/ru/email.json index 81e8077779..5a703c7cc8 100644 --- a/public/language/ru/email.json +++ b/public/language/ru/email.json @@ -1,15 +1,15 @@ { "password-reset-requested": "Пароль сброшен - %1!", "welcome-to": "Добро пожаловать на %1", - "invite": "Invitation from %1", + "invite": "Приглашение от %1", "greeting_no_name": "Здравствуйте!", "greeting_with_name": "Здравствуйте, %1!", "welcome.text1": "Благодарим за регистрацию %1! ", "welcome.text2": "Для активации Вашей учетной записи мы должны убедиться, что Вы указали верный email адрес.", - "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", + "welcome.text3": "Администратор принял ваше заявление о регистрации. Теперь Вы можете авторизоваться используя Ваш логин/пароль.", "welcome.cta": "Перейдите по ссылке для подтверждения Вашего email", - "invitation.text1": "%1 has invited you to join %2", - "invitation.ctr": "Click here to create your account.", + "invitation.text1": "%1 пригласил Вас на форум %2", + "invitation.ctr": "Нажмите здесь, чтобы создать учетную запись.", "reset.text1": "Мы получили запрос на сброс Вашего пароля. Если Вы не подавали запрос, пожалуйста, проигнорируйте это сообщение.", "reset.text2": "Для продолжения процедуры изменения пароля, пожалуйста, перейдите по ссылке:", "reset.cta": "Кликните здесь для изменения пароля", diff --git a/public/language/ru/error.json b/public/language/ru/error.json index 16f729678e..3fdf7412e8 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -46,12 +46,14 @@ "too-many-posts-newbie": "Вы новый пользователь, поэтому можете делать пост раз в %1 сек., пока не заработаете %2 п. репутации.", "tag-too-short": "Слишком короткий тэг. Минимум символов: %1.", "tag-too-long": "Слишком длинный тэг. Максимум символов: %1.", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Слишком большой файл. Максимальный размер: %1 Кбайт.", "cant-vote-self-post": "Вы не можете проголосовать за Ваш пост", "already-favourited": "Вы уже добавили этот пост в избранное", "already-unfavourited": "Вы уже удалили этот пост из избранного", "cant-ban-other-admins": "Вы не можете забанить других администраторов!", - "cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin", + "cant-remove-last-admin": "Вы единственный администратор. Назначьте другого пользователя администратором, прежде чем складывать с себя полномочия админа", "invalid-image-type": "Неверный формат изображения. Поддерживаемые форматы: %1", "invalid-image-extension": "Недопустимое расширение файла", "invalid-file-type": "Неверный формат файла. Поддерживаемые форматы: %1", @@ -60,8 +62,8 @@ "group-name-change-not-allowed": "Изменение названия группы запрещено", "group-already-member": "Вы уже состоите в этой группе", "group-needs-owner": "У группы должен быть как минимум один владелец", - "group-already-invited": "This user has already been invited", - "group-already-requested": "Your membership request has already been submitted", + "group-already-invited": "Этот пользователь уже был приглашен", + "group-already-requested": "Вы уже предоставили запрос на вступление", "post-already-deleted": "Этот пост уже удалён", "post-already-restored": "Этот пост уже восстановлен", "topic-already-deleted": "Тема уже удалена", @@ -79,7 +81,7 @@ "downvoting-disabled": "Понижение оценки отключено", "not-enough-reputation-to-downvote": "У Вас недостаточно репутации для понижения оценки поста", "not-enough-reputation-to-flag": "У Вас недостаточно репутации, чтобы пометить этот пост.", - "already-flagged": "You have already flagged this post", + "already-flagged": "Вы уже отметили это сообщение", "reload-failed": "NodeBB обнаружил проблему при перезагрузке: \"%1\". NodeBB продолжит работать с существующими ресурсами клиента, но Вы должны отменить то, что сделали перед перезагрузкой.", "registration-error": "Ошибка при регистрации", "parse-error": "Похоже, что-то пошло не так в процессе обработки ответа сервера.", diff --git a/public/language/ru/global.json b/public/language/ru/global.json index db2015144b..7901c29219 100644 --- a/public/language/ru/global.json +++ b/public/language/ru/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 из %2", "pagination.enter_index": "Перейти на главную", "header.admin": "Админка", + "header.categories": "Categories", "header.recent": "Последние", "header.unread": "Непрочитанное", "header.tags": "Тэги", @@ -50,7 +51,7 @@ "views": "Просмотры", "reputation": "Репутация", "read_more": "читать дальше", - "more": "More", + "more": "Подробнее", "posted_ago_by_guest": "создано %1 Гостем", "posted_ago_by": "сообщений %1 от %2", "posted_ago": "написал %1", diff --git a/public/language/ru/groups.json b/public/language/ru/groups.json index 557e8eff81..d4c115bd0d 100644 --- a/public/language/ru/groups.json +++ b/public/language/ru/groups.json @@ -6,12 +6,12 @@ "no_groups_found": "Нет групп для отображения", "pending.accept": "Принять", "pending.reject": "Отклонить", - "pending.accept_all": "Accept All", - "pending.reject_all": "Reject All", - "pending.none": "There are no pending members at this time", - "invited.none": "There are no invited members at this time", - "invited.uninvite": "Rescind Invitation", - "invited.search": "Search for a user to invite to this group", + "pending.accept_all": "Принять все", + "pending.reject_all": "Отклонить все", + "pending.none": "На данный момент нет пользователей ожидающих утверждения", + "invited.none": "На данный момент нет приглашенных пользователей", + "invited.uninvite": "Аннулировать приглашение", + "invited.search": "Поиск пользователя для приглашение в эту группу", "cover-instructions": "Перетяните сюда изображение, переместите на нужную позицию и нажмите Сохранить", "cover-change": "Изменить", "cover-save": "Сохранить", @@ -19,7 +19,7 @@ "details.title": "Информация о группе", "details.members": "Список пользователей", "details.pending": "Заявки в группу", - "details.invited": "Invited Members", + "details.invited": "Приглашенные пользователи", "details.has_no_posts": "Пользователями этой группы не публиковали никаких записей", "details.latest_posts": "Последние записи", "details.private": "Приватная", @@ -38,6 +38,12 @@ "details.private_help": "Если включено, вступление в группы будет подтверждаться владельцем группы", "details.hidden": "Скрыто", "details.hidden_help": "Если включено, группа не будет показываться в списках, а пользователи должны приглашаться вручную", + "details.delete_group": "Delete Group", "event.updated": "Настройки группы обновлены", - "event.deleted": "Группа \"%1\" удалена" + "event.deleted": "Группа \"%1\" удалена", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/ru/notifications.json b/public/language/ru/notifications.json index 7f0e5b9bfa..c4a75a28b0 100644 --- a/public/language/ru/notifications.json +++ b/public/language/ru/notifications.json @@ -20,7 +20,7 @@ "user_posted_topic": "%1 открыл новую тему: %2", "user_mentioned_you_in": "%1 упомянул Вас в %2", "user_started_following_you": "%1 подписался на Вас.", - "new_register": "%1 sent a registration request.", + "new_register": "%1 отправлен запрос на регистрацию.\n", "email-confirmed": "Email подтвержден", "email-confirmed-message": "Спасибо за подтверждение Вашего Email-адреса. Ваш аккаунт активирован.", "email-confirm-error-message": "Ошибка проверки Email-адреса. Возможно, код неверен, либо у него истек срок действия.", diff --git a/public/language/ru/register.json b/public/language/ru/register.json index 3fdd181066..6d01b59e1c 100644 --- a/public/language/ru/register.json +++ b/public/language/ru/register.json @@ -15,5 +15,5 @@ "alternative_registration": "Альтернативная регистрация", "terms_of_use": "Условия использования", "agree_to_terms_of_use": "Я согласен с условиями", - "registration-added-to-queue": "Your registration has been added to the approval queue. You will receive an email when it is accepted by an administrator." + "registration-added-to-queue": "Ваша регистрация была добавлена в очередь на утверждение. Вы получите уведомление по электронной почте, когда она будет одобрена администратором." } \ No newline at end of file diff --git a/public/language/ru/unread.json b/public/language/ru/unread.json index 1063677089..675cd7169e 100644 --- a/public/language/ru/unread.json +++ b/public/language/ru/unread.json @@ -5,6 +5,6 @@ "mark_as_read": "Пометить прочитанным", "selected": "Выбраны", "all": "Все", - "all_categories": "All categories", + "all_categories": "Все категории", "topics_marked_as_read.success": "Темы помечены как прочитанные!" } \ No newline at end of file diff --git a/public/language/ru/user.json b/public/language/ru/user.json index 072ec73fa4..1f6a6fe20f 100644 --- a/public/language/ru/user.json +++ b/public/language/ru/user.json @@ -6,12 +6,12 @@ "postcount": "Сообщений", "email": "Email", "confirm_email": "Подтвердить Email", - "ban_account": "Ban Account", - "ban_account_confirm": "Do you really want to ban this user?", - "unban_account": "Unban Account", + "ban_account": "Заблокировать учетную запись", + "ban_account_confirm": "Вы действительно хотите заблокировать этого пользователя?", + "unban_account": "Разблокировать учетную запись", "delete_account": "Удалить аккаунт", - "delete_account_confirm": "Вы уверены, что хотите удалить аккаунт?
Это действие необратимо, Вы не сможете восстановить свои данные

Введите имя пользователя для подтверждения уничтожения аккаунта.", - "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", + "delete_account_confirm": "Вы уверены, что хотите удалить учетную запись?
Это действие необратимо, Вы не сможете восстановить свои данные

Введите имя пользователя для подтверждения уничтожения аккаунта.", + "delete_this_account_confirm": "Вы уверены, что хотите удалить этот аккаунт?
Это действие является необратимым и вы не сможете восстановить любые данные

", "fullname": "Полное имя", "website": "Сайт", "location": "Откуда", @@ -68,9 +68,9 @@ "settings-require-reload": "Для отображения некоторых изменений необходимо обновить страницу. Нажмите здесь чтобы продолжить.", "has_no_follower": "Этого пользователя никто не читает :(", "follows_no_one": "Этот пользователь никого не читает :(", - "has_no_posts": "This user hasn't posted anything yet.", - "has_no_topics": "This user hasn't posted any topics yet.", - "has_no_watched_topics": "This user hasn't watched any topics yet.", + "has_no_posts": "Этот пользователь еще ничего не написал.", + "has_no_topics": "Этот пользователь еще не размещал какие-либо темы.", + "has_no_watched_topics": "Этот пользователь еще не просматривал какие-либо темы.", "email_hidden": "Email скрыт", "hidden": "скрыто", "paginate_description": "Разбивать по страницам топики и посты вместо того чтобы выводить бесконечным списком", diff --git a/public/language/ru/users.json b/public/language/ru/users.json index 7cc44c39fc..dab85b910b 100644 --- a/public/language/ru/users.json +++ b/public/language/ru/users.json @@ -9,13 +9,13 @@ "filter-by": "Сортировать по", "online-only": "Только онлайн", "picture-only": "Только с аватаром", - "invite": "Invite", - "invitation-email-sent": "An invitation email has been sent to %1", - "user_list": "User List", - "recent_topics": "Recent Topics", - "popular_topics": "Popular Topics", - "unread_topics": "Unread Topics", - "categories": "Categories", - "tags": "Tags", - "map": "Map" + "invite": "Пригласить", + "invitation-email-sent": "По электронной почте было отправлено приглашение для %1", + "user_list": "Список пользователей", + "recent_topics": "Последние темы", + "popular_topics": "Популярные темы", + "unread_topics": "Непрочитанные темы", + "categories": "Категории", + "tags": "Тэги", + "map": "Карта" } \ No newline at end of file diff --git a/public/language/sc/error.json b/public/language/sc/error.json index 56f9f626ff..065234c18d 100644 --- a/public/language/sc/error.json +++ b/public/language/sc/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "You cannot vote for your own post", "already-favourited": "You have already favourited this post", diff --git a/public/language/sc/global.json b/public/language/sc/global.json index 39432aa228..8017da2a06 100644 --- a/public/language/sc/global.json +++ b/public/language/sc/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 out of %2", "pagination.enter_index": "Enter index", "header.admin": "Amministradore", + "header.categories": "Categories", "header.recent": "Ùrtimos", "header.unread": "De lèghere", "header.tags": "Tags", diff --git a/public/language/sc/groups.json b/public/language/sc/groups.json index c9ac036475..1e1623c38f 100644 --- a/public/language/sc/groups.json +++ b/public/language/sc/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/sk/error.json b/public/language/sk/error.json index 7241fdcd59..3fa0032b60 100644 --- a/public/language/sk/error.json +++ b/public/language/sk/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Nedá sa hlasovať za vlastný príspevok", "already-favourited": "You have already favourited this post", diff --git a/public/language/sk/global.json b/public/language/sk/global.json index 393e734bf7..b722a9567d 100644 --- a/public/language/sk/global.json +++ b/public/language/sk/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 z %2", "pagination.enter_index": "Enter index", "header.admin": "Administrácia", + "header.categories": "Categories", "header.recent": "Aktuality", "header.unread": "Neprečítané", "header.tags": "tagy", diff --git a/public/language/sk/groups.json b/public/language/sk/groups.json index c9ac036475..1e1623c38f 100644 --- a/public/language/sk/groups.json +++ b/public/language/sk/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/sr/error.json b/public/language/sr/error.json index 4600fa0a21..4c68c3cf56 100644 --- a/public/language/sr/error.json +++ b/public/language/sr/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "You cannot vote for your own post", "already-favourited": "You have already favourited this post", diff --git a/public/language/sr/global.json b/public/language/sr/global.json index 013e502c80..17aa370ea0 100644 --- a/public/language/sr/global.json +++ b/public/language/sr/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 од %2", "pagination.enter_index": "Enter index", "header.admin": "Админ", + "header.categories": "Categories", "header.recent": "Недавно", "header.unread": "Непрочитано", "header.tags": "Ознаке", diff --git a/public/language/sr/groups.json b/public/language/sr/groups.json index d8bf883bd3..a4666c6d8f 100644 --- a/public/language/sr/groups.json +++ b/public/language/sr/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Уколико је укључено, приступање групи захтева одобрење власника групе.", "details.hidden": "Скривена", "details.hidden_help": "Уколико је укључено, група неће бити видљива на списку група, и корисницима се позивнице морају слати ручно.", + "details.delete_group": "Delete Group", "event.updated": "Детаљи групе су ажурирани", - "event.deleted": "Група „%1“ је обрисана" + "event.deleted": "Група „%1“ је обрисана", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/sv/error.json b/public/language/sv/error.json index c2acdc858c..38992271d5 100644 --- a/public/language/sv/error.json +++ b/public/language/sv/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Du kan inte rösta på ditt eget inlägg.", "already-favourited": "Du har redan favoriserat det här inlägget", diff --git a/public/language/sv/global.json b/public/language/sv/global.json index bb3909ab6a..647cbec5d0 100644 --- a/public/language/sv/global.json +++ b/public/language/sv/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 av %2", "pagination.enter_index": "Skriv in index ", "header.admin": "Admin", + "header.categories": "Categories", "header.recent": "Senaste", "header.unread": "Olästa", "header.tags": "Märkningar", diff --git a/public/language/sv/groups.json b/public/language/sv/groups.json index c1daef3aec..2cb6de26df 100644 --- a/public/language/sv/groups.json +++ b/public/language/sv/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/th/error.json b/public/language/th/error.json index 4d4505ad2e..ad6b9b98a4 100644 --- a/public/language/th/error.json +++ b/public/language/th/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "You cannot vote for your own post", "already-favourited": "You have already favourited this post", diff --git a/public/language/th/global.json b/public/language/th/global.json index cec8d6cadc..b9acc67e30 100644 --- a/public/language/th/global.json +++ b/public/language/th/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 จาก %2", "pagination.enter_index": "Enter index", "header.admin": "ผู้ดูแลระบบ", + "header.categories": "Categories", "header.recent": "ล่าสุด", "header.unread": "ไม่ได้อ่าน", "header.tags": "Tag", diff --git a/public/language/th/groups.json b/public/language/th/groups.json index d80f70d18e..027579e466 100644 --- a/public/language/th/groups.json +++ b/public/language/th/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "ซ่อน", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "ข้อมูล Group ได้รับการบันทึกแล้ว", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/tr/error.json b/public/language/tr/error.json index c846b60bfd..a530f04e05 100644 --- a/public/language/tr/error.json +++ b/public/language/tr/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "Yeni bir kullanıcı olarak, %2 saygınlık kazanana kadar %1 saniye içinde bir ileti gönderebilirsiniz - tekrar ileti göndermeden önce lütfen bekleyin.", "tag-too-short": "Lütfen daha uzun bir etiket girin. Etiketler en az %1 karakter içermelidir.", "tag-too-long": "Lütfen daha kısa bir etiket girin. Etiketler %1 karakterden uzun olamaz.", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "İzin verilen en büyük dosya boyutu %1 kb - lütfen daha küçük bir dosya yükleyin", "cant-vote-self-post": "Kendi iletinize oy veremezsiniz", "already-favourited": "Bu iletiyi zaten favorilerinize eklediniz", diff --git a/public/language/tr/global.json b/public/language/tr/global.json index f2541870fe..7e63e5e3bd 100644 --- a/public/language/tr/global.json +++ b/public/language/tr/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 - %2", "pagination.enter_index": "İndex gir", "header.admin": "Yönetim", + "header.categories": "Categories", "header.recent": "Yeni", "header.unread": "Okunmamış", "header.tags": "Etiketler", diff --git a/public/language/tr/groups.json b/public/language/tr/groups.json index bfec944413..bac723142e 100644 --- a/public/language/tr/groups.json +++ b/public/language/tr/groups.json @@ -38,6 +38,12 @@ "details.private_help": "Gruba katılmak için eğer etkinse grup sahibini onayı gerekir, ", "details.hidden": "Gizli", "details.hidden_help": "Bu grup eğer etkinse grup listelerinde bulunmaz, ve kullanıcılar bizzat davet eder", + "details.delete_group": "Delete Group", "event.updated": "Grup detayları güncellenmiştir", - "event.deleted": "\"%1\" grubu silinmiş" + "event.deleted": "\"%1\" grubu silinmiş", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/tr/user.json b/public/language/tr/user.json index 724c026ad3..2739622bee 100644 --- a/public/language/tr/user.json +++ b/public/language/tr/user.json @@ -6,9 +6,9 @@ "postcount": "Yayın Sayısı", "email": "E-posta", "confirm_email": "E-posta onayla", - "ban_account": "Ban Account", - "ban_account_confirm": "Do you really want to ban this user?", - "unban_account": "Unban Account", + "ban_account": "Hesabı Dondur", + "ban_account_confirm": "Hesabı dondurmak istediğinizden emin misiniz!", + "unban_account": "Hesabı Kullanıma Aç", "delete_account": "Hesabı Sil", "delete_account_confirm": "Hesabınızı silmek istediğinize emin misiniz?
Bu işlem geri çevrilemez ve tüm verileriniz sistemden silinecek.

Eğer hesabınızı silmek istiyorsanız lütfen kullanıcı isminizi girerek işlemi onaylayın.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", diff --git a/public/language/vi/error.json b/public/language/vi/error.json index 7d1a530248..0a1b14c46b 100644 --- a/public/language/vi/error.json +++ b/public/language/vi/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "Bạn không thể vote cho chính bài viết của bạn", "already-favourited": "Bạn đã bấm yêu thích cho bài viết này rồi", diff --git a/public/language/vi/global.json b/public/language/vi/global.json index f3dc17b93d..58f157d119 100644 --- a/public/language/vi/global.json +++ b/public/language/vi/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 trong số %2", "pagination.enter_index": "Nhập khóa", "header.admin": "Quản trị viên", + "header.categories": "Categories", "header.recent": "Gần đây", "header.unread": "Chưa đọc", "header.tags": "Tags", diff --git a/public/language/vi/groups.json b/public/language/vi/groups.json index c8bdd3bdc9..2deebd443e 100644 --- a/public/language/vi/groups.json +++ b/public/language/vi/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "Hidden", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "Thông tin nhóm đã được cập nhật", - "event.deleted": "The group \"%1\" has been deleted" + "event.deleted": "The group \"%1\" has been deleted", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/zh_CN/email.json b/public/language/zh_CN/email.json index 6237ef225a..f1a477fcd0 100644 --- a/public/language/zh_CN/email.json +++ b/public/language/zh_CN/email.json @@ -1,15 +1,15 @@ { "password-reset-requested": "密码重置申请 - %1!", "welcome-to": "欢迎来到 %1", - "invite": "Invitation from %1", + "invite": "来自%1的邀请", "greeting_no_name": "您好", "greeting_with_name": "%1,您好", "welcome.text1": "感谢您注册 %1 帐户!", "welcome.text2": "需要在校验您注册时填写的电子邮箱地址后,才能全面激活您的帐户。", - "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", + "welcome.text3": "管理员接受了您的注册请求,请用您的用户名和密码登陆。", "welcome.cta": "点击这里确认您的电子邮箱地址", - "invitation.text1": "%1 has invited you to join %2", - "invitation.ctr": "Click here to create your account.", + "invitation.text1": "%1 邀请您加入%2", + "invitation.ctr": "点击这里新建账户", "reset.text1": "可能由于您忘记了密码,我们收到了重置您帐户密码的申请。 如果您没有提交密码重置的请求,请忽略这封邮件。", "reset.text2": "如需继续重置密码,请点击下面的链接:", "reset.cta": "点击这里重置您的密码", diff --git a/public/language/zh_CN/error.json b/public/language/zh_CN/error.json index 2b9c49f96a..7ad720cf56 100644 --- a/public/language/zh_CN/error.json +++ b/public/language/zh_CN/error.json @@ -46,12 +46,14 @@ "too-many-posts-newbie": "因为您是新用户,所以限制每隔 %1 秒才能发帖一次,直到您有 %2 点威望为止 —— 请稍候再发帖", "tag-too-short": "话题太短,不能少于 %1 个字符", "tag-too-long": "话题太长,不能超过 %1 个字符", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "上传文件的大小限制为 %1 KB - 请缩减文件大小", "cant-vote-self-post": "您不能给自己的帖子投票。", "already-favourited": "您已收藏该帖", "already-unfavourited": "您已取消收藏此帖", "cant-ban-other-admins": "您不能封禁其他管理员!", - "cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin", + "cant-remove-last-admin": "您是唯一的管理员。在删除您的管理员权限前,请添加另一个管理员。", "invalid-image-type": "无效的图像类型。允许的类型有:%1", "invalid-image-extension": "无效的图像扩展", "invalid-file-type": "无效文件格式,允许的格式有:%1", @@ -60,8 +62,8 @@ "group-name-change-not-allowed": "不允许更改小组名称", "group-already-member": "您已经是此小组的成员", "group-needs-owner": "小组需要指定至少一名组长", - "group-already-invited": "This user has already been invited", - "group-already-requested": "Your membership request has already been submitted", + "group-already-invited": "您已邀请该用户", + "group-already-requested": "已提交您的请求", "post-already-deleted": "此帖已被删除", "post-already-restored": "此帖已经恢复", "topic-already-deleted": "此主题已被删除", @@ -79,7 +81,7 @@ "downvoting-disabled": "扣分功能已禁用", "not-enough-reputation-to-downvote": "您的威望不足以给此帖扣分", "not-enough-reputation-to-flag": "您的威望不足以举报此帖", - "already-flagged": "You have already flagged this post", + "already-flagged": "您已举报此帖", "reload-failed": "刷新 NodeBB 时遇到问题: \"%1\"。NodeBB 保持给已连接的客户端服务,您应该撤销刷新前做的更改。", "registration-error": "注册错误", "parse-error": "服务器响应解析出错", diff --git a/public/language/zh_CN/global.json b/public/language/zh_CN/global.json index f60b836187..91f32b492b 100644 --- a/public/language/zh_CN/global.json +++ b/public/language/zh_CN/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 / %2", "pagination.enter_index": "输入索引", "header.admin": "管理", + "header.categories": "Categories", "header.recent": "最新", "header.unread": "未读", "header.tags": "话题", @@ -50,7 +51,7 @@ "views": "浏览", "reputation": "威望", "read_more": "阅读更多", - "more": "More", + "more": "更多", "posted_ago_by_guest": "游客发布于 %1", "posted_ago_by": "%2 发布于 %1", "posted_ago": "发布于 %1", diff --git a/public/language/zh_CN/groups.json b/public/language/zh_CN/groups.json index ff95775343..0f02408c81 100644 --- a/public/language/zh_CN/groups.json +++ b/public/language/zh_CN/groups.json @@ -6,12 +6,12 @@ "no_groups_found": "尚无小组信息", "pending.accept": "接受", "pending.reject": "拒绝", - "pending.accept_all": "Accept All", - "pending.reject_all": "Reject All", - "pending.none": "There are no pending members at this time", - "invited.none": "There are no invited members at this time", - "invited.uninvite": "Rescind Invitation", - "invited.search": "Search for a user to invite to this group", + "pending.accept_all": "接受全部", + "pending.reject_all": "拒绝全部", + "pending.none": "暂时没有待加入的成员", + "invited.none": "暂时没有接受邀请的成员", + "invited.uninvite": "取消邀请", + "invited.search": "选择用户加入小组", "cover-instructions": "拖放照片到此位置,然后点击 保存", "cover-change": "更改", "cover-save": "保存", @@ -19,7 +19,7 @@ "details.title": "小组信息", "details.members": "成员列表", "details.pending": "待加入成员", - "details.invited": "Invited Members", + "details.invited": "已邀请成员", "details.has_no_posts": "此小组的会员尚未发表任何帖子。", "details.latest_posts": "最新帖子", "details.private": "私有", @@ -38,6 +38,12 @@ "details.private_help": "启用此选项后,加入小组需要组长审批。", "details.hidden": "隐藏", "details.hidden_help": "启用此选项后,小组将不在小组列表中展现,成员只能通过邀请加入。", + "details.delete_group": "Delete Group", "event.updated": "小组信息已更新", - "event.deleted": "小组 \"%1\" 已被删除" + "event.deleted": "小组 \"%1\" 已被删除", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/language/zh_CN/notifications.json b/public/language/zh_CN/notifications.json index b9e8681302..e25241b363 100644 --- a/public/language/zh_CN/notifications.json +++ b/public/language/zh_CN/notifications.json @@ -20,7 +20,7 @@ "user_posted_topic": "%1 发表了新主题:%2", "user_mentioned_you_in": "%1%2 中提到了您", "user_started_following_you": "%1关注了您。", - "new_register": "%1 sent a registration request.", + "new_register": "%1 发出了注册请求", "email-confirmed": "电子邮箱已确认", "email-confirmed-message": "感谢您验证您的电子邮箱。您的帐户现已全面激活。", "email-confirm-error-message": "验证您电子邮箱地址时出现了问题。可能是因为验证码无效或已过期。", diff --git a/public/language/zh_CN/register.json b/public/language/zh_CN/register.json index f258edac2b..f7ed01d784 100644 --- a/public/language/zh_CN/register.json +++ b/public/language/zh_CN/register.json @@ -15,5 +15,5 @@ "alternative_registration": "其他方式注册", "terms_of_use": "使用条款", "agree_to_terms_of_use": "我同意使用条款", - "registration-added-to-queue": "Your registration has been added to the approval queue. You will receive an email when it is accepted by an administrator." + "registration-added-to-queue": "您的注册正在等待批准。一旦通过,管理员会发送邮件通知您。" } \ No newline at end of file diff --git a/public/language/zh_CN/unread.json b/public/language/zh_CN/unread.json index 8add96ac03..58ab5b0389 100644 --- a/public/language/zh_CN/unread.json +++ b/public/language/zh_CN/unread.json @@ -5,6 +5,6 @@ "mark_as_read": "标为已读", "selected": "已选", "all": "全部", - "all_categories": "All categories", + "all_categories": "全部分类", "topics_marked_as_read.success": "主题被标为已读!" } \ No newline at end of file diff --git a/public/language/zh_CN/user.json b/public/language/zh_CN/user.json index 8c00784aa7..be1543181a 100644 --- a/public/language/zh_CN/user.json +++ b/public/language/zh_CN/user.json @@ -6,12 +6,12 @@ "postcount": "发帖数", "email": "电子邮件", "confirm_email": "确认电子邮箱", - "ban_account": "Ban Account", - "ban_account_confirm": "Do you really want to ban this user?", - "unban_account": "Unban Account", + "ban_account": "禁止账户", + "ban_account_confirm": "您确定禁止这位用户吗?", + "unban_account": "解禁账户", "delete_account": "删除帐号", "delete_account_confirm": "确认要删除您的帐户吗?
此操作是不可逆转的,您将无法恢复您的任何数据

请输入您的用户名,确认您想要删除此帐户。", - "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", + "delete_this_account_confirm": "您确定要删除账户吗?
这个操作不可逆,而且您可能不能找回任何数据

", "fullname": "姓名", "website": "网站", "location": "位置", @@ -68,9 +68,9 @@ "settings-require-reload": "某些设置变更需要刷新页面。点击这里刷新页面。", "has_no_follower": "此用户还没有粉丝 :(", "follows_no_one": "此用户尚未关注任何人 :(", - "has_no_posts": "This user hasn't posted anything yet.", - "has_no_topics": "This user hasn't posted any topics yet.", - "has_no_watched_topics": "This user hasn't watched any topics yet.", + "has_no_posts": "此用户从未发言。", + "has_no_topics": "此用户还未发布任何主题。", + "has_no_watched_topics": "此用户还未关注任何主题。", "email_hidden": "电子邮箱已隐藏", "hidden": "隐藏", "paginate_description": "使用分页式版块浏览", diff --git a/public/language/zh_TW/error.json b/public/language/zh_TW/error.json index 638b6cdf27..8e243ea7ff 100644 --- a/public/language/zh_TW/error.json +++ b/public/language/zh_TW/error.json @@ -46,6 +46,8 @@ "too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again", "tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)", "tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)", + "not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)", + "too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", "cant-vote-self-post": "你不能對自己的文章說讚!", "already-favourited": "你已經收藏了這篇文章", diff --git a/public/language/zh_TW/global.json b/public/language/zh_TW/global.json index 2097e3bb26..81c70f3faf 100644 --- a/public/language/zh_TW/global.json +++ b/public/language/zh_TW/global.json @@ -22,6 +22,7 @@ "pagination.out_of": "%1 out of %2", "pagination.enter_index": "輸入Index", "header.admin": "管理", + "header.categories": "Categories", "header.recent": "最近", "header.unread": "未讀", "header.tags": "標籤", diff --git a/public/language/zh_TW/groups.json b/public/language/zh_TW/groups.json index 590e2118da..b69c394a33 100644 --- a/public/language/zh_TW/groups.json +++ b/public/language/zh_TW/groups.json @@ -38,6 +38,12 @@ "details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.hidden": "隱藏", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", + "details.delete_group": "Delete Group", "event.updated": "群組詳細訊息已被更新", - "event.deleted": "此 \"%1\" 群組已被刪除了" + "event.deleted": "此 \"%1\" 群組已被刪除了", + "membership.accept-invitation": "Accept Invitation", + "membership.invitation-pending": "Invitation Pending", + "membership.join-group": "Join Group", + "membership.leave-group": "Leave Group", + "membership.reject": "Reject" } \ No newline at end of file diff --git a/public/src/app.js b/public/src/app.js index 3254c7a51f..a14a403da5 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -293,7 +293,10 @@ app.cacheBuster = null; } if (!chat.modalExists(touid)) { - chat.createModal(username, touid, loadAndCenter); + chat.createModal({ + username: username, + touid: touid + }, loadAndCenter); } else { loadAndCenter(chat.getModal(touid)); } diff --git a/public/src/modules/chat.js b/public/src/modules/chat.js index b27b932eec..c47999de0a 100644 --- a/public/src/modules/chat.js +++ b/public/src/modules/chat.js @@ -11,6 +11,9 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra chatsListEl = $('#chat-list'), dropdownEl; + // Sync open chats between all user socket sessions + module.sync(); + chatsToggleEl.on('click', function() { if (chatsToggleEl.parent().hasClass('open')) { return; @@ -79,7 +82,7 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra taskbar.updateActive(modal.attr('UUID')); Chats.scrollToBottom(modal.find('#chat-content')); } else { - module.toggleNew(modal.attr('UUID'), true); + module.toggleNew(modal.attr('UUID'), true, true); } if (!isSelf && (!modal.is(":visible") || !app.isFocused)) { @@ -92,8 +95,12 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra }); } } else { - module.createModal(username, data.withUid, function(modal) { - module.toggleNew(modal.attr('UUID'), true); + module.createModal({ + username: username, + touid: data.withUid, + silent: true + }, function(modal) { + module.toggleNew(modal.attr('UUID'), true, true); if (!isSelf) { app.alternatingTitle('[[modules:chat.user_has_messaged_you, ' + username + ']]'); sounds.play('chat-incoming'); @@ -125,6 +132,42 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra var modal = module.getModal(data.uid); app.updateUserStatus(modal.find('[component="user/status"]'), data.status); }); + + socket.on('query:chats.sync', function(data, callback) { + var chats = Array.prototype.map.call(taskbar.get('chat'), function(chatObj) { + return { + username: chatObj.options.title, + uid: chatObj.options.touid, + new: chatObj.element.hasClass('new') + } + }); + + callback(chats); + }); + + socket.on('event:chats.open', function(data) { + data.silent = true; + module.createModal(data); + }); + + socket.on('event:chats.close', function(uid) { + module.close(module.getModal(uid), true); + }); + + socket.on('event:chats.toggleNew', function(data) { + var uuid = module.getModal(data.uid).attr('UUID'); + module.toggleNew(uuid, data.state, true); + }); + + $(window).on('action:taskbar.toggleNew', function(ev, uuid) { + var modal = $('.chat-modal[uuid="' + uuid + '"]'), + touid = modal.attr('touid'); + + socket.emit('modules.chats.toggleNew', { + uid: touid, + state: false + }); + }); }; module.bringModalToTop = function(chatModal) { @@ -163,7 +206,7 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra }); } - module.createModal = function(username, touid, callback) { + module.createModal = function(data, callback) { templates.parse('chat', {}, function(chatTpl) { translator.translate(chatTpl, function (chatTpl) { @@ -171,8 +214,8 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra uuid = utils.generateUUID(), dragged = false; - chatModal.attr('id', 'chat-modal-' + touid); - chatModal.attr('touid', touid); + chatModal.attr('id', 'chat-modal-' + data.touid); + chatModal.attr('touid', data.touid); chatModal.attr('intervalId', 0); chatModal.attr('UUID', uuid); chatModal.css('position', 'fixed'); @@ -206,7 +249,7 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra }); }); - chatModal.find('#chat-with-name').html(username); + chatModal.find('#chat-with-name').html(data.username); chatModal.find('#chat-close-btn').on('click', function() { module.close(chatModal); @@ -218,7 +261,7 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra components.get('chat/input').val(text); }); - ajaxify.go('chats/' + utils.slugify(username)); + ajaxify.go('chats/' + utils.slugify(data.username)); module.close(chatModal); } @@ -243,7 +286,7 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra chatModal.on('mousemove keypress click', function() { if (newMessage) { - socket.emit('modules.chats.markRead', touid); + socket.emit('modules.chats.markRead', data.touid); newMessage = false; } }); @@ -262,25 +305,31 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra checkStatus(chatModal); }); - module.canMessage(touid, function(err) { + module.canMessage(data.touid, function(err) { if (err) { // Disable the text input chatModal.find('input[type="text"]').attr('disabled', true); } }); - chatModal.find('.user-typing .text').translateText('[[modules:chat.user_typing, ' + username + ']]'); + chatModal.find('.user-typing .text').translateText('[[modules:chat.user_typing, ' + data.username + ']]'); taskbar.push('chat', chatModal.attr('UUID'), { - title: username, - touid: touid, + title: data.username, + touid: data.touid, icon: 'fa-comment', state: '' }); + if (!data.silent) { + socket.emit('modules.chats.open', data); + } + $(window).trigger('action:chat.loaded', chatModal); - callback(chatModal); + if (typeof callback === 'function') { + callback(chatModal); + } }); }); }; @@ -289,7 +338,7 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra chatModal.find('#chat-message-input').focus(); }; - module.close = function(chatModal) { + module.close = function(chatModal, silent) { clearInterval(chatModal.attr('intervalId')); chatModal.attr('intervalId', 0); chatModal.remove(); @@ -297,6 +346,10 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra taskbar.discard('chat', chatModal.attr('UUID')); Chats.notifyTyping(chatModal.attr('touid'), false); + if (!silent) { + socket.emit('modules.chats.close', chatModal.attr('touid')); + } + if (chatModal.attr('data-mobile')) { module.disableMobileBehaviour(chatModal); } @@ -422,13 +475,30 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra }); }; - module.toggleNew = function(uuid, state) { - taskbar.toggleNew(uuid, state); - }; + module.toggleNew = taskbar.toggleNew; module.canMessage = function(toUid, callback) { socket.emit('modules.chats.canMessage', toUid, callback); }; + module.sync = function() { + socket.emit('modules.chats.sync', function(err, users) { + for(var x=0,numUsers=users.length,user;x Leave Group'; + return ''; } else { if (groupObj.isPending) { - return ''; + return ''; } else if (groupObj.isInvited) { - return ''; + return ''; } else { - return ''; + return ''; } } }; diff --git a/public/src/modules/search.js b/public/src/modules/search.js index 957032c47f..81b98e9ab3 100644 --- a/public/src/modules/search.js +++ b/public/src/modules/search.js @@ -11,7 +11,7 @@ define('search', ['navigator', 'translator'], function(nav, translator) { var term = data.term; // Detect if a tid was specified - var topicSearch = term.match(/in:topic-([\d]+)/); + var topicSearch = term.match(/^in:topic-([\d]+) /); if (!topicSearch) { term = term.replace(/^[ ?#]*/, ''); @@ -28,7 +28,9 @@ define('search', ['navigator', 'translator'], function(nav, translator) { var cleanedTerm = term.replace(topicSearch[0], ''), tid = topicSearch[1]; - Search.queryTopic(tid, cleanedTerm, callback); + if (cleanedTerm.length > 0) { + Search.queryTopic(tid, cleanedTerm, callback); + } } }; diff --git a/public/src/modules/taskbar.js b/public/src/modules/taskbar.js index f1757fe553..e664037c0d 100644 --- a/public/src/modules/taskbar.js +++ b/public/src/modules/taskbar.js @@ -60,14 +60,26 @@ define('taskbar', function() { } }; + taskbar.get = function(module) { + var items = $('[data-module="' + module + '"]').map(function(idx, el) { + return $(el).data(); + }); + + return items; + }; + taskbar.minimize = function(module, uuid) { var btnEl = taskbar.tasklist.find('[data-module="' + module + '"][data-uuid="' + uuid + '"]'); btnEl.removeClass('active'); }; - taskbar.toggleNew = function(uuid, state) { + taskbar.toggleNew = function(uuid, state, silent) { var btnEl = taskbar.tasklist.find('[data-uuid="' + uuid + '"]'); btnEl.toggleClass('new', state); + + if (!silent) { + $(window).trigger('action:taskbar.toggleNew', uuid); + } }; taskbar.updateActive = function(uuid) { @@ -119,6 +131,8 @@ define('taskbar', function() { update(); data.element = taskbarEl; + + taskbarEl.data(data); $(window).trigger('action:taskbar.pushed', data); } diff --git a/public/src/modules/translator.js b/public/src/modules/translator.js index 4569fb0d5b..42efe5c529 100644 --- a/public/src/modules/translator.js +++ b/public/src/modules/translator.js @@ -125,7 +125,7 @@ if (typeof language === 'function') { callback = language; if ('undefined' !== typeof window && config) { - language = config.userLang || 'en_GB'; + language = utils.params().lang || config.userLang || 'en_GB'; } else { var meta = require('../../../src/meta'); language = meta.config.defaultLang || 'en_GB'; diff --git a/src/categories.js b/src/categories.js index ac89bb4ac1..d30cd0c47a 100644 --- a/src/categories.js +++ b/src/categories.js @@ -156,7 +156,7 @@ var async = require('async'), } category.name = validator.escape(category.name); - category.disabled = parseInt(category.disabled, 10) === 1; + category.disabled = category.hasOwnProperty('disabled') ? parseInt(category.disabled, 10) === 1 : undefined; category.icon = category.icon || 'hidden'; if (category.hasOwnProperty('post_count')) { category.post_count = category.totalPostCount = category.post_count || 0; @@ -166,15 +166,22 @@ var async = require('async'), category.topic_count = category.totalTopicCount = category.topic_count || 0; } - if (category.description) { - category.description = validator.escape(category.description); - } - if (category.image) { category.backgroundImage = category.image; } - callback(null, category); + if (category.description) { + plugins.fireHook('filter:parse.raw', category.description, function(err, parsedDescription) { + if (err) { + return callback(err); + } + category.descriptionParsed = parsedDescription; + category.description = validator.escape(category.description); + callback(null, category); + }); + } else { + callback(null, category); + } } Categories.getCategoryField = function(cid, field, callback) { diff --git a/src/controllers/api.js b/src/controllers/api.js index 5518addd45..c09a96490d 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -64,7 +64,7 @@ apiController.getConfig = function(req, res, next) { config.maximumFileSize = meta.config.maximumFileSize; config['theme:id'] = meta.config['theme:id']; config.defaultLang = meta.config.defaultLang || 'en_GB'; - config.userLang = config.defaultLang; + config.userLang = req.query.lang || config.defaultLang; config.environment = process.env.NODE_ENV; config.loggedIn = !!req.user; config['cache-buster'] = meta.config['cache-buster'] || ''; @@ -89,7 +89,7 @@ apiController.getConfig = function(req, res, next) { config.topicsPerPage = settings.topicsPerPage; config.postsPerPage = settings.postsPerPage; config.notificationSounds = settings.notificationSounds; - config.userLang = settings.userLang || config.defaultLang; + config.userLang = req.query.lang || settings.userLang || config.defaultLang; config.openOutgoingLinksInNewTab = settings.openOutgoingLinksInNewTab; config.topicPostSort = settings.topicPostSort || config.topicPostSort; config.categoryTopicSort = settings.categoryTopicSort || config.categoryTopicSort; diff --git a/src/controllers/unread.js b/src/controllers/unread.js index 0354ea7310..672ec37542 100644 --- a/src/controllers/unread.js +++ b/src/controllers/unread.js @@ -30,11 +30,11 @@ unreadController.unread = function(req, res, next) { }, function(_results, next) { results = _results; - categories.getMultipleCategoryFields(results.watchedCategories, ['cid', 'name', 'slug', 'icon', 'link'], next); + categories.getMultipleCategoryFields(results.watchedCategories, ['cid', 'name', 'slug', 'icon', 'link', 'disabled'], next); }, function(categories, next) { categories = categories.filter(function(category) { - return category && !category.link; + return category && !category.link && !category.disabled; }); categories.forEach(function(category) { category.selected = parseInt(category.cid, 10) === parseInt(cid, 10); diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index 0c4cca5e3e..7295efbb7f 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -66,6 +66,15 @@ middleware.pageView = function(req, res, next) { } }; +middleware.pluginHooks = function(req, res, next) { + async.each(plugins.loadedHooks['filter:router.page'], function(hookObj, next) { + hookObj.method(req, res, next) + }, function(req, res) { + // If it got here, then none of the subscribed hooks did anything, or there were no hooks + next(); + }); +}; + middleware.redirectToAccountIfLoggedIn = function(req, res, next) { if (!req.user) { return next(); @@ -168,6 +177,7 @@ middleware.isAdmin = function(req, res, next) { middleware.buildHeader = function(req, res, next) { res.locals.renderHeader = true; + res.locals.isAPI = false; middleware.applyCSRF(req, res, function() { async.parallel({ @@ -347,6 +357,7 @@ middleware.processRender = function(req, res, next) { } str = template + str; var language = res.locals.config ? res.locals.config.userLang || 'en_GB' : 'en_GB'; + language = req.query.lang || language; translator.translate(str, language, function(translated) { fn(err, translated); }); @@ -483,6 +494,14 @@ middleware.exposeUid = function(req, res, next) { } }; +middleware.requireUser = function(req, res, next) { + if (req.user) { + return next(); + } + + res.render('403', {}); +}; + function redirectToLogin(req, res) { req.session.returnTo = nconf.get('relative_path') + req.url.replace(/^\/api/, ''); return controllers.helpers.redirect(res, '/login'); diff --git a/src/posts/summary.js b/src/posts/summary.js index b41519473a..582354499d 100644 --- a/src/posts/summary.js +++ b/src/posts/summary.js @@ -72,6 +72,11 @@ module.exports = function(Posts) { }); async.map(posts, function(post, next) { + // If the post author isn't represented in the retrieved users' data, then it means they were deleted, assume guest. + if (!results.users.hasOwnProperty(post.uid)) { + post.uid = 0; + } + post.user = results.users[post.uid]; post.topic = results.topics[post.tid]; post.category = results.categories[post.topic.cid]; diff --git a/src/routes/helpers.js b/src/routes/helpers.js index 31f3ece5b2..3cd1524fc5 100644 --- a/src/routes/helpers.js +++ b/src/routes/helpers.js @@ -3,7 +3,7 @@ var helpers = {}; helpers.setupPageRoute = function(router, name, middleware, middlewares, controller) { - middlewares = middlewares.concat([middleware.pageView]); + middlewares = middlewares.concat([middleware.pageView, middleware.pluginHooks]); router.get(name, middleware.buildHeader, middlewares, controller); router.get('/api' + name, middlewares, controller); diff --git a/src/socket.io/modules.js b/src/socket.io/modules.js index fbdf2b0100..95380a4b49 100644 --- a/src/socket.io/modules.js +++ b/src/socket.io/modules.js @@ -4,7 +4,10 @@ var meta = require('../meta'), Messaging = require('../messaging'), utils = require('../../public/src/utils'), + async = require('async'), + server = require('./'), + rooms = require('./rooms'), SocketModules = { chats: {}, @@ -94,6 +97,37 @@ SocketModules.chats.getRecentChats = function(socket, data, callback) { Messaging.getRecentChats(socket.uid, start, stop, callback); }; +SocketModules.chats.sync = function(socket, data, callback) { + var chats = [], + uids = [], + socketIds = rooms.clients('uid_' + socket.uid); + + rooms.broadcast(socket, 'uid_' + socket.uid, 'query:chats.sync', {}, function(err, sessionData) { + sessionData.forEach(function(data) { + data.forEach(function(chat) { + if (uids.indexOf(chat.uid) === -1) { + chats.push(chat); + uids.push(chat.uid); + } + }); + }); + + callback(err, chats); + }); +}; + +SocketModules.chats.open = function(socket, data, callback) { + rooms.broadcast(socket, 'uid_' + socket.uid, 'event:chats.open', data); +}; + +SocketModules.chats.close = function(socket, data, callback) { + rooms.broadcast(socket, 'uid_' + socket.uid, 'event:chats.close', data); +}; + +SocketModules.chats.toggleNew = function(socket, data, callback) { + rooms.broadcast(socket, 'uid_' + socket.uid, 'event:chats.toggleNew', data); +}; + /* Sounds */ SocketModules.sounds.getSounds = function(socket, data, callback) { diff --git a/src/socket.io/plugins.js b/src/socket.io/plugins.js index a4ee9bbe89..aad0bb2841 100644 --- a/src/socket.io/plugins.js +++ b/src/socket.io/plugins.js @@ -7,7 +7,7 @@ var SocketPlugins = {}; How? From your plugin: - var SocketPlugins = require.main.require('./src/socket.io/modules'); + var SocketPlugins = require.main.require('./src/socket.io/plugins'); SocketPlugins.myPlugin = {}; SocketPlugins.myPlugin.myMethod = function() { ... }; diff --git a/src/socket.io/rooms.js b/src/socket.io/rooms.js index e392abf3f9..c32f9a5dc9 100644 --- a/src/socket.io/rooms.js +++ b/src/socket.io/rooms.js @@ -9,7 +9,8 @@ // Once they are closed switch to .clients() and async calls -var pubsub = require('../pubsub'); +var pubsub = require('../pubsub'), + async = require('async'); var rooms = {}; @@ -32,6 +33,29 @@ rooms.leaveAll = function(socket, roomsToLeave) { }); }; +rooms.broadcast = function(socket, room, msg, data, callback) { + var io = require('./'), + socketIds = rooms.clients(room); + + callback = callback || function() {}; + + async.map(socketIds, function(id, next) { + var timeout; + if (socket.id === id) { + return setImmediate(next, null, []); + } + + timeout = setTimeout(function() { + next(null, []); + }, 500); + + io.server.sockets.connected[id].emit(msg, data || {}, function(chats) { + clearTimeout(timeout); + next(null, chats); + }); + }, callback); +}; + pubsub.on('socket:join', onSocketJoin); pubsub.on('socket:leave', onSocketLeave); diff --git a/src/topics.js b/src/topics.js index d4e5b38597..ae1222a904 100644 --- a/src/topics.js +++ b/src/topics.js @@ -2,9 +2,10 @@ var async = require('async'), validator = require('validator'), - _ = require('underscore'), + db = require('./database'), + meta = require('./meta'), posts = require('./posts'), utils = require('../public/src/utils'), plugins = require('./plugins'), @@ -195,7 +196,7 @@ var async = require('async'), topics[i].locked = parseInt(topics[i].locked, 10) === 1; topics[i].deleted = parseInt(topics[i].deleted, 10) === 1; topics[i].unread = !results.hasRead[i]; - topics[i].unreplied = parseInt(topics[i].postcount, 10) <= 1; + topics[i].unreplied = parseInt(topics[i].postcount, 10) <= 1 && meta.config.teaserPost !== 'first'; } } diff --git a/src/topics/teaser.js b/src/topics/teaser.js index 2e0d228e93..2fa6baf8b4 100644 --- a/src/topics/teaser.js +++ b/src/topics/teaser.js @@ -57,6 +57,11 @@ module.exports = function(Topics) { var tidToPost = {}; async.each(postData, function(post, next) { + // If the post author isn't represented in the retrieved users' data, then it means they were deleted, assume guest. + if (!users.hasOwnProperty(post.uid)) { + post.uid = 0; + } + post.user = users[post.uid]; post.timestamp = utils.toISOString(post.timestamp); tidToPost[post.tid] = post; diff --git a/src/user/digest.js b/src/user/digest.js index 056eebd508..c1656d45c8 100644 --- a/src/user/digest.js +++ b/src/user/digest.js @@ -64,7 +64,14 @@ var async = require('async'), }; Digest.getSubscribers = function(interval, callback) { - db.getSortedSetRange('digest:' + interval + ':uids', 0, -1, callback); + db.getSortedSetRange('digest:' + interval + ':uids', 0, -1, function(err, subscribers) { + plugins.fireHook('filter:digest.subscribers', { + interval: interval, + subscribers: subscribers + }, function(err, returnData) { + callback(err, returnData.subscribers); + }); + }); }; Digest.send = function(data, callback) { diff --git a/src/views/admin/partials/categories/category-rows.tpl b/src/views/admin/partials/categories/category-rows.tpl index 2124797cb1..bdce593887 100644 --- a/src/views/admin/partials/categories/category-rows.tpl +++ b/src/views/admin/partials/categories/category-rows.tpl @@ -9,7 +9,7 @@
{categories.name}
-

{categories.description}

+

{categories.descriptionParsed}