From 93ccf604db3b482becc51feed877c98e5c538b04 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Fri, 27 Jan 2023 14:35:24 +0000 Subject: [PATCH 01/12] chore: incrementing version number - v2.8.5 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 63c02e8401..34c5e0bf05 100644 --- a/install/package.json +++ b/install/package.json @@ -2,7 +2,7 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "2.8.4", + "version": "2.8.5", "homepage": "http://www.nodebb.org", "repository": { "type": "git", From 24e58c289587c52aaf02417a276ac120dfac7606 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Fri, 27 Jan 2023 14:35:25 +0000 Subject: [PATCH 02/12] chore: update changelog for v2.8.5 --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8b58c9fce..8b793bc928 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ +#### v2.8.5 (2023-01-27) + +##### Chores + +* incrementing version number - v2.8.4 (a46b2bbc) +* update changelog for v2.8.4 (c13f0e21) +* incrementing version number - v2.8.3 (c20b20a7) +* incrementing version number - v2.8.2 (050e43f8) +* incrementing version number - v2.8.1 (727f879e) +* incrementing version number - v2.8.0 (8e77673d) +* incrementing version number - v2.7.0 (96cc0617) +* incrementing version number - v2.6.1 (7e52a7a5) +* incrementing version number - v2.6.0 (e7fcf482) +* incrementing version number - v2.5.8 (dec0e7de) +* incrementing version number - v2.5.7 (5836bf4a) +* incrementing version number - v2.5.6 (c7bd7dbf) +* incrementing version number - v2.5.5 (3509ed94) +* incrementing version number - v2.5.4 (e83260ca) +* incrementing version number - v2.5.3 (7e922936) +* incrementing version number - v2.5.2 (babcd17e) +* incrementing version number - v2.5.1 (ce3aa950) +* incrementing version number - v2.5.0 (01d276cb) +* incrementing version number - v2.4.5 (dd3e1a28) +* incrementing version number - v2.4.4 (d5525c87) +* incrementing version number - v2.4.3 (9c647c6c) +* incrementing version number - v2.4.2 (3aa7b855) +* incrementing version number - v2.4.1 (60cbd148) +* incrementing version number - v2.4.0 (4834cde3) +* incrementing version number - v2.3.1 (d2425942) +* incrementing version number - v2.3.0 (046ea120) + +##### Bug Fixes + +* import resolution within plugin modules (#11219) (f6c96948) + #### v2.8.4 (2023-01-26) ##### Chores From 6d819b056ef5e853fdaef5072cde0ad15fbb5240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 30 Jan 2023 10:43:02 -0500 Subject: [PATCH 03/12] fix: notif filter selecte field --- src/controllers/accounts/notifications.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/controllers/accounts/notifications.js b/src/controllers/accounts/notifications.js index 75c501b1ce..a235f68e4c 100644 --- a/src/controllers/accounts/notifications.js +++ b/src/controllers/accounts/notifications.js @@ -45,10 +45,11 @@ notificationsController.get = async function (req, res, next) { { separator: true }, ]).concat(filters.moderatorFilters); } - const selectedFilter = allFilters.find((filterData) => { + + allFilters.forEach((filterData) => { filterData.selected = filterData.filter === filter; - return filterData.selected; }); + const selectedFilter = allFilters.find(filterData => filterData.selected); if (!selectedFilter) { return next(); } From 1d3c0e5a2bbe6c1b93714e67edef9fa4fac7b02a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 30 Jan 2023 11:48:10 -0500 Subject: [PATCH 04/12] fix: https://github.com/NodeBB/NodeBB/issues/11239 parseInt uid received from req.body._uid or req.query._uid --- src/middleware/user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/middleware/user.js b/src/middleware/user.js index c3871bd023..11f6c849ed 100644 --- a/src/middleware/user.js +++ b/src/middleware/user.js @@ -37,7 +37,7 @@ module.exports = function (middleware) { const loginAsync = util.promisify(req.login).bind(req); await loginAsync(user, { keepSessionInfo: true }); await controllers.authentication.onSuccessfulLogin(req, user.uid); - req.uid = user.uid; + req.uid = parseInt(user.uid, 10); req.loggedIn = req.uid > 0; return true; } From 0713482bd414219ee4b51804102c7751ff2a4c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 30 Jan 2023 12:26:08 -0500 Subject: [PATCH 05/12] feat: #11240, only show relevant users in flags assignee list for user flags-> admins + all users who have `admin:users` privilege for post flags -> admins + global mods + moderators of the category the post is in refactor getModeratorUids function so it can be used for different privileges --- src/categories/index.js | 34 +--------------------------------- src/controllers/mods.js | 28 ++++++++++++++++++++++++++-- src/privileges/admin.js | 5 +++++ src/privileges/categories.js | 4 ++++ src/privileges/global.js | 5 +++++ src/privileges/helpers.js | 35 +++++++++++++++++++++++++++++++++++ 6 files changed, 76 insertions(+), 35 deletions(-) diff --git a/src/categories/index.js b/src/categories/index.js index 619f756642..027913ccd9 100644 --- a/src/categories/index.js +++ b/src/categories/index.js @@ -99,39 +99,7 @@ Categories.getModerators = async function (cid) { }; Categories.getModeratorUids = async function (cids) { - // Only check active categories - const disabled = (await Categories.getCategoriesFields(cids, ['disabled'])).map(obj => obj.disabled); - // cids = cids.filter((_, idx) => !disabled[idx]); - - const groupNames = cids.reduce((memo, cid) => { - memo.push(`cid:${cid}:privileges:moderate`); - memo.push(`cid:${cid}:privileges:groups:moderate`); - return memo; - }, []); - - const memberSets = await groups.getMembersOfGroups(groupNames); - // Every other set is actually a list of user groups, not uids, so convert those to members - const sets = memberSets.reduce((memo, set, idx) => { - if (idx % 2) { - memo.groupNames.push(set); - } else { - memo.uids.push(set); - } - - return memo; - }, { groupNames: [], uids: [] }); - - const uniqGroups = _.uniq(_.flatten(sets.groupNames)); - const groupUids = await groups.getMembersOfGroups(uniqGroups); - const map = _.zipObject(uniqGroups, groupUids); - const moderatorUids = cids.map((cid, index) => { - if (disabled[index]) { - return []; - } - - return _.uniq(sets.uids[index].concat(_.flatten(sets.groupNames[index].map(g => map[g])))); - }); - return moderatorUids; + return await privileges.categories.getUidsWithPrivilege(cids, 'moderate'); }; Categories.getCategories = async function (cids, uid) { diff --git a/src/controllers/mods.js b/src/controllers/mods.js index 48a3bd8ff3..3656146652 100644 --- a/src/controllers/mods.js +++ b/src/controllers/mods.js @@ -1,6 +1,9 @@ 'use strict'; +const _ = require('lodash'); + const user = require('../user'); +const groups = require('../groups'); const posts = require('../posts'); const flags = require('../flags'); const analytics = require('../analytics'); @@ -110,7 +113,6 @@ modsController.flags.detail = async function (req, res, next) { isAdminOrGlobalMod: user.isAdminOrGlobalMod(req.uid), moderatedCids: user.getModeratedCids(req.uid), flagData: flags.get(req.params.flagId), - assignees: user.getAdminsandGlobalModsandModerators(), privileges: Promise.all(['global', 'admin'].map(async type => privileges[type].get(req.uid))), }); results.privileges = { ...results.privileges[0], ...results.privileges[1] }; @@ -119,6 +121,28 @@ modsController.flags.detail = async function (req, res, next) { return next(); // 404 } + async function getAssignees(flagData) { + let uids = []; + const [admins, globalMods] = await Promise.all([ + groups.getMembers('administrators', 0, -1), + groups.getMembers('Global Moderators', 0, -1), + ]); + if (flagData.type === 'user') { + uids = await privileges.admin.getUidsWithPrivilege('admin:users'); + uids = _.uniq(admins.concat(uids)); + } else if (flagData.type === 'post') { + const cid = await posts.getCidByPid(flagData.targetId); + if (!cid) { + return []; + } + uids = (await privileges.categories.getUidsWithPrivilege([cid], 'moderate'))[0]; + uids = _.uniq(admins.concat(globalMods).concat(uids)); + } + const userData = await user.getUsersData(uids); + return userData.filter(u => u && u.userslug); + } + + const assignees = await getAssignees(results.flagData); results.flagData.history = results.isAdminOrGlobalMod ? (await flags.getHistory(req.params.flagId)) : null; if (results.flagData.type === 'user') { @@ -128,7 +152,7 @@ modsController.flags.detail = async function (req, res, next) { } res.render('flags/detail', Object.assign(results.flagData, { - assignees: results.assignees, + assignees: assignees, type_bool: ['post', 'user', 'empty'].reduce((memo, cur) => { if (cur !== 'empty') { memo[cur] = results.flagData.type === cur && ( diff --git a/src/privileges/admin.js b/src/privileges/admin.js index 166236ac76..e77d2e9982 100644 --- a/src/privileges/admin.js +++ b/src/privileges/admin.js @@ -211,3 +211,8 @@ privsAdmin.groupPrivileges = async function (groupName) { const groupPrivilegeList = await privsAdmin.getGroupPrivilegeList(); return await helpers.userOrGroupPrivileges(0, groupName, groupPrivilegeList); }; + +privsAdmin.getUidsWithPrivilege = async function (privilege) { + const uidsByCid = await helpers.getUidsWithPrivilege([0], privilege); + return uidsByCid[0]; +}; diff --git a/src/privileges/categories.js b/src/privileges/categories.js index 8abdd0b34f..76b9248bd2 100644 --- a/src/privileges/categories.js +++ b/src/privileges/categories.js @@ -218,3 +218,7 @@ privsCategories.groupPrivileges = async function (cid, groupName) { const groupPrivilegeList = await privsCategories.getGroupPrivilegeList(); return await helpers.userOrGroupPrivileges(cid, groupName, groupPrivilegeList); }; + +privsCategories.getUidsWithPrivilege = async function (cids, privilege) { + return await helpers.getUidsWithPrivilege(cids, privilege); +}; diff --git a/src/privileges/global.js b/src/privileges/global.js index 472448d4c4..3cfe50e522 100644 --- a/src/privileges/global.js +++ b/src/privileges/global.js @@ -134,3 +134,8 @@ privsGlobal.groupPrivileges = async function (groupName) { const groupPrivilegeList = await privsGlobal.getGroupPrivilegeList(); return await helpers.userOrGroupPrivileges(0, groupName, groupPrivilegeList); }; + +privsGlobal.getUidsWithPrivilege = async function (privilege) { + const uidsByCid = await helpers.getUidsWithPrivilege([0], privilege); + return uidsByCid[0]; +}; diff --git a/src/privileges/helpers.js b/src/privileges/helpers.js index e6a0266f67..b8c45dfdb3 100644 --- a/src/privileges/helpers.js +++ b/src/privileges/helpers.js @@ -6,6 +6,7 @@ const validator = require('validator'); const groups = require('../groups'); const user = require('../user'); +const categories = require('../categories'); const plugins = require('../plugins'); const translator = require('../translator'); @@ -189,4 +190,38 @@ helpers.userOrGroupPrivileges = async function (cid, uidOrGroup, privilegeList) return _.zipObject(privilegeList, isMembers); }; +helpers.getUidsWithPrivilege = async (cids, privilege) => { + const disabled = (await categories.getCategoriesFields(cids, ['disabled'])).map(obj => obj.disabled); + + const groupNames = cids.reduce((memo, cid) => { + memo.push(`cid:${cid}:privileges:${privilege}`); + memo.push(`cid:${cid}:privileges:groups:${privilege}`); + return memo; + }, []); + + const memberSets = await groups.getMembersOfGroups(groupNames); + // Every other set is actually a list of user groups, not uids, so convert those to members + const sets = memberSets.reduce((memo, set, idx) => { + if (idx % 2) { + memo.groupNames.push(set); + } else { + memo.uids.push(set); + } + + return memo; + }, { groupNames: [], uids: [] }); + + const uniqGroups = _.uniq(_.flatten(sets.groupNames)); + const groupUids = await groups.getMembersOfGroups(uniqGroups); + const map = _.zipObject(uniqGroups, groupUids); + const uidsByCid = cids.map((cid, index) => { + if (disabled[index]) { + return []; + } + + return _.uniq(sets.uids[index].concat(_.flatten(sets.groupNames[index].map(g => map[g])))); + }); + return uidsByCid; +}; + require('../promisify')(helpers); From d68352cce522f5f13ebb024cf97b8ca0dcb4669e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 30 Jan 2023 12:35:08 -0500 Subject: [PATCH 06/12] lint: remove unused --- src/categories/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/categories/index.js b/src/categories/index.js index 027913ccd9..9fc7479a69 100644 --- a/src/categories/index.js +++ b/src/categories/index.js @@ -5,7 +5,6 @@ const _ = require('lodash'); const db = require('../database'); const user = require('../user'); -const groups = require('../groups'); const plugins = require('../plugins'); const privileges = require('../privileges'); const cache = require('../cache'); From c241baf641d18ccc875d8d0583c64973b66cfc52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 30 Jan 2023 12:40:24 -0500 Subject: [PATCH 07/12] feat: closes #11241, add missing error lang keys --- public/language/en-GB/error.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/language/en-GB/error.json b/public/language/en-GB/error.json index 6cfc003e00..cd79886c34 100644 --- a/public/language/en-GB/error.json +++ b/public/language/en-GB/error.json @@ -70,6 +70,7 @@ "no-user": "User does not exist", "no-teaser": "Teaser does not exist", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "You do not have enough privileges for this action.", "category-disabled": "Category disabled", @@ -182,6 +183,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputation system is disabled.", From b5598a6e5d010e437bdc6c2ec87044a7a879a910 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Mon, 30 Jan 2023 15:05:57 -0500 Subject: [PATCH 08/12] fix: wrong link to topics in acp dashboard --- src/views/admin/dashboard/topics.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/admin/dashboard/topics.tpl b/src/views/admin/dashboard/topics.tpl index 98b86e5e8c..6c0951e654 100644 --- a/src/views/admin/dashboard/topics.tpl +++ b/src/views/admin/dashboard/topics.tpl @@ -17,7 +17,7 @@ {{{ end }}} {{{ each topics }}} - {../title} + {../title} [[topic:posted_by, {../user.username}]] From 705cd13ad3e983a5f020ac115403c4ce30eb69df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 31 Jan 2023 17:27:25 -0500 Subject: [PATCH 09/12] fix: closes #11249, notification uses displayname --- src/topics/scheduled.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/topics/scheduled.js b/src/topics/scheduled.js index 56c363db39..3544e54945 100644 --- a/src/topics/scheduled.js +++ b/src/topics/scheduled.js @@ -87,14 +87,15 @@ function unpin(tid, topicData) { } async function sendNotifications(uids, topicsData) { - const usernames = await Promise.all(uids.map(uid => user.getUserField(uid, 'username'))); - const uidToUsername = Object.fromEntries(uids.map((uid, idx) => [uid, usernames[idx]])); + const userData = await user.getUsersData(uids); + const uidToUserData = Object.fromEntries(uids.map((uid, idx) => [uid, userData[idx]])); - const postsData = await posts.getPostsData(topicsData.map(({ mainPid }) => mainPid)); + const postsData = await posts.getPostsData(topicsData.map(t => t && t.mainPid)); postsData.forEach((postData, idx) => { - postData.user = {}; - postData.user.username = uidToUsername[postData.uid]; - postData.topic = topicsData[idx]; + if (postData) { + postData.user = uidToUserData[topicsData[idx].uid]; + postData.topic = topicsData[idx]; + } }); return Promise.all(topicsData.map( From 202378b939a7279af7a39f597b7e75be3890deff Mon Sep 17 00:00:00 2001 From: nesro Date: Thu, 2 Feb 2023 14:19:45 +0100 Subject: [PATCH 10/12] fix: #11254, return check for reroll property --- src/controllers/authentication.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/authentication.js b/src/controllers/authentication.js index 2a006b321c..82dc6b1660 100644 --- a/src/controllers/authentication.js +++ b/src/controllers/authentication.js @@ -339,7 +339,7 @@ authenticationController.doLogin = async function (req, uid) { return; } const loginAsync = util.promisify(req.login).bind(req); - await loginAsync({ uid: uid }, { keepSessionInfo: req.res.locals !== false }); + await loginAsync({ uid: uid }, { keepSessionInfo: req.res.locals.reroll !== false }); await authenticationController.onSuccessfulLogin(req, uid); }; From 8335f90ae0aaa81b492e70ad4df7804ef953f668 Mon Sep 17 00:00:00 2001 From: Misty Release Bot Date: Thu, 2 Feb 2023 18:35:29 +0000 Subject: [PATCH 11/12] chore(i18n): fallback strings for new resources: nodebb.error --- public/language/ar/error.json | 4 ++++ public/language/bg/error.json | 4 ++++ public/language/bn/error.json | 4 ++++ public/language/cs/error.json | 4 ++++ public/language/da/error.json | 4 ++++ public/language/de/error.json | 4 ++++ public/language/el/error.json | 4 ++++ public/language/en-US/error.json | 4 ++++ public/language/en-x-pirate/error.json | 4 ++++ public/language/es/error.json | 4 ++++ public/language/et/error.json | 4 ++++ public/language/fa-IR/error.json | 4 ++++ public/language/fi/error.json | 4 ++++ public/language/fr/error.json | 4 ++++ public/language/gl/error.json | 4 ++++ public/language/he/error.json | 4 ++++ public/language/hr/error.json | 4 ++++ public/language/hu/error.json | 4 ++++ public/language/hy/error.json | 4 ++++ public/language/id/error.json | 4 ++++ public/language/it/error.json | 4 ++++ public/language/ja/error.json | 4 ++++ public/language/ko/error.json | 4 ++++ public/language/lt/error.json | 4 ++++ public/language/lv/error.json | 4 ++++ public/language/ms/error.json | 4 ++++ public/language/nb/error.json | 4 ++++ public/language/nl/error.json | 4 ++++ public/language/pl/error.json | 4 ++++ public/language/pt-BR/error.json | 4 ++++ public/language/pt-PT/error.json | 4 ++++ public/language/ro/error.json | 4 ++++ public/language/ru/error.json | 4 ++++ public/language/rw/error.json | 4 ++++ public/language/sc/error.json | 4 ++++ public/language/sk/error.json | 4 ++++ public/language/sl/error.json | 4 ++++ public/language/sq-AL/error.json | 4 ++++ public/language/sr/error.json | 4 ++++ public/language/sv/error.json | 4 ++++ public/language/th/error.json | 4 ++++ public/language/tr/error.json | 4 ++++ public/language/uk/error.json | 4 ++++ public/language/vi/error.json | 4 ++++ public/language/zh-CN/error.json | 4 ++++ public/language/zh-TW/error.json | 4 ++++ 46 files changed, 184 insertions(+) diff --git a/public/language/ar/error.json b/public/language/ar/error.json index ed2cb779b5..f71e48bfeb 100644 --- a/public/language/ar/error.json +++ b/public/language/ar/error.json @@ -62,6 +62,7 @@ "no-user": "اسم مستخدم غير موجود", "no-teaser": "مقتطف غير موجود", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية", "category-disabled": "قائمة معطلة", "topic-locked": "الموضوع مقفول", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "لقد شاركت بالتصويت ، ألا تذكر؟", "reputation-system-disabled": "نظام السمعة معطل", "downvoting-disabled": "التصويتات السلبية معطلة", diff --git a/public/language/bg/error.json b/public/language/bg/error.json index ad01a8f2d4..3334416c45 100644 --- a/public/language/bg/error.json +++ b/public/language/bg/error.json @@ -62,6 +62,7 @@ "no-user": "Потребителят не съществува", "no-teaser": "Резюмето не съществува", "no-flag": "Докладът не съществува", + "no-chat-room": "Chat room does not exist", "no-privileges": "Нямате достатъчно права за това действие.", "category-disabled": "Категорията е изключена", "topic-locked": "Темата е заключена", @@ -156,6 +157,9 @@ "chat-deleted-already": "Това съобщение вече е изтрито.", "chat-restored-already": "Това съобщение вече е възстановено.", "chat-room-does-not-exist": "Стаята за разговори не съществува.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Вече сте дали глас за тази публикация.", "reputation-system-disabled": "Системата за репутация е изключена.", "downvoting-disabled": "Отрицателното гласуване е изключено", diff --git a/public/language/bn/error.json b/public/language/bn/error.json index ff59e31fbe..0facb14642 100644 --- a/public/language/bn/error.json +++ b/public/language/bn/error.json @@ -62,6 +62,7 @@ "no-user": "এই নামে কোন সদস্য নেই", "no-teaser": "টিজারটি খুজে পাওয়া যায় নি", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই", "category-disabled": "বিভাগটি নিষ্ক্রিয়", "topic-locked": "টপিক বন্ধ", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে", "downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।", diff --git a/public/language/cs/error.json b/public/language/cs/error.json index d2c66306cf..35e9974725 100644 --- a/public/language/cs/error.json +++ b/public/language/cs/error.json @@ -62,6 +62,7 @@ "no-user": "Uživatel neexistuje", "no-teaser": "Chyták neexistuje", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Na tuto akci nemáte dostatečné oprávnění.", "category-disabled": "Kategorie zakázána", "topic-locked": "Téma uzamknuto", @@ -156,6 +157,9 @@ "chat-deleted-already": "Tato konverzační zpráva již byla odstraněna.", "chat-restored-already": "Tato konverzační zpráva již byla obnovena.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Již jste v tomto příspěvku hlasoval.", "reputation-system-disabled": "Systém reputací je zakázán.", "downvoting-disabled": "Systém nesouhlasu je zakázán", diff --git a/public/language/da/error.json b/public/language/da/error.json index d7612af9e1..587585ac00 100644 --- a/public/language/da/error.json +++ b/public/language/da/error.json @@ -62,6 +62,7 @@ "no-user": "Brugeren eksisterer ikke", "no-teaser": "Teaser eksisterer ikke", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Du har ikke nok rettigheder til at udføre denne handling", "category-disabled": "Kategorien er deaktiveret", "topic-locked": "Tråden er låst", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Vurderingssystem er slået fra.", "downvoting-disabled": "Nedvurdering er slået fra", diff --git a/public/language/de/error.json b/public/language/de/error.json index 76ba50487e..656056290e 100644 --- a/public/language/de/error.json +++ b/public/language/de/error.json @@ -62,6 +62,7 @@ "no-user": "Der Benutzer existiert nicht", "no-teaser": "Zusammenfassung existiert nicht", "no-flag": "Markierung existiert nicht", + "no-chat-room": "Chat room does not exist", "no-privileges": "Du verfügst nicht über ausreichende Berechtigungen, um die Aktion durchzuführen.", "category-disabled": "Kategorie ist deaktiviert", "topic-locked": "Thema ist gesperrt", @@ -156,6 +157,9 @@ "chat-deleted-already": "Diese Chatnachricht wurde bereits gelöscht.", "chat-restored-already": "Diese Chatnachricht wurde bereits wiederhergestellt.", "chat-room-does-not-exist": "Der Chatraum existiert nicht.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Du hast diesen Beitrag bereits bewertet.", "reputation-system-disabled": "Das Reputationssystem ist deaktiviert.", "downvoting-disabled": "Downvotes sind deaktiviert.", diff --git a/public/language/el/error.json b/public/language/el/error.json index 38d4c42c33..c6c3f83e0d 100644 --- a/public/language/el/error.json +++ b/public/language/el/error.json @@ -62,6 +62,7 @@ "no-user": "User does not exist", "no-teaser": "Teaser does not exist", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "You do not have enough privileges for this action.", "category-disabled": "Η κατηγορία έχει απενεργοποιηθεί", "topic-locked": "Το θέμα έχει κλειδωθεί", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Το σύστημα φήμης έχει απενεργοποιηθεί.", "downvoting-disabled": "Η καταψήφιση έχει απενεργοποιηθεί", diff --git a/public/language/en-US/error.json b/public/language/en-US/error.json index 4191fad94f..77316bf37b 100644 --- a/public/language/en-US/error.json +++ b/public/language/en-US/error.json @@ -62,6 +62,7 @@ "no-user": "User does not exist", "no-teaser": "Teaser does not exist", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "You do not have enough privileges for this action.", "category-disabled": "Category disabled", "topic-locked": "Topic Locked", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", diff --git a/public/language/en-x-pirate/error.json b/public/language/en-x-pirate/error.json index 4191fad94f..77316bf37b 100644 --- a/public/language/en-x-pirate/error.json +++ b/public/language/en-x-pirate/error.json @@ -62,6 +62,7 @@ "no-user": "User does not exist", "no-teaser": "Teaser does not exist", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "You do not have enough privileges for this action.", "category-disabled": "Category disabled", "topic-locked": "Topic Locked", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", diff --git a/public/language/es/error.json b/public/language/es/error.json index 89111f9ce7..354fcc588c 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -62,6 +62,7 @@ "no-user": "El usuario no existe", "no-teaser": "El resumen no existe", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "No tienes suficientes privilegios para realizar esta acción.", "category-disabled": "Categoría deshabilitada", "topic-locked": "Tema bloqueado", @@ -156,6 +157,9 @@ "chat-deleted-already": "Este mensaje de chat ya ha sido borrado.", "chat-restored-already": "Este mensaje de chat ya ha sido restaurado.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Ya has votado a este mensaje.", "reputation-system-disabled": "El sistema de reputación está deshabilitado.", "downvoting-disabled": "La votación negativa está deshabilitada.", diff --git a/public/language/et/error.json b/public/language/et/error.json index 46b6967ef2..2097bc3b46 100644 --- a/public/language/et/error.json +++ b/public/language/et/error.json @@ -62,6 +62,7 @@ "no-user": "Kasutajat ei eksisteeri", "no-teaser": "Eelvaadet ei eksisteeri", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Sul pole piisavalt õigusi.", "category-disabled": "Kategooria keelatud", "topic-locked": "Teema lukustatud", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Sa oled juba hääletanud sellel postitusel.", "reputation-system-disabled": "Reputatsiooni süsteem ei ole aktiveeritud", "downvoting-disabled": "Negatiivsete häälte andmine ei ole võimaldatud", diff --git a/public/language/fa-IR/error.json b/public/language/fa-IR/error.json index 12123473d5..4892cdf955 100644 --- a/public/language/fa-IR/error.json +++ b/public/language/fa-IR/error.json @@ -62,6 +62,7 @@ "no-user": "کاربر وجود ندارد", "no-teaser": "تیزر وجود ندارد", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "شما دسترسی کافی برای این کار را ندارید", "category-disabled": "دسته غیر‌فعال شد.", "topic-locked": "موضوع بسته شد.", @@ -156,6 +157,9 @@ "chat-deleted-already": "این پیام قبلا حذف شده است", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "شما قبلا به این پست رای داده اید.", "reputation-system-disabled": "سیستم اعتبار غیر فعال شده است", "downvoting-disabled": "رأی منفی غیر فعال شده است", diff --git a/public/language/fi/error.json b/public/language/fi/error.json index b9b0f83ab9..434322d61e 100644 --- a/public/language/fi/error.json +++ b/public/language/fi/error.json @@ -62,6 +62,7 @@ "no-user": "Käyttäjää ei ole olemassa", "no-teaser": "Teaser does not exist", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Oikeutesi eivät riitä toiminnon suorittamiseen.", "category-disabled": "Kategoria ei ole käytössä", "topic-locked": "Aihe lukittu", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", diff --git a/public/language/fr/error.json b/public/language/fr/error.json index 3d9027d164..97590c8ef0 100644 --- a/public/language/fr/error.json +++ b/public/language/fr/error.json @@ -62,6 +62,7 @@ "no-user": "Cet utilisateur n'existe pas", "no-teaser": "L’aperçu n'existe pas", "no-flag": "Le signalement n'existe pas", + "no-chat-room": "Chat room does not exist", "no-privileges": "Vous n'avez pas les privilèges nécessaires pour effectuer cette action.", "category-disabled": "Catégorie désactivée", "topic-locked": "Sujet verrouillé", @@ -156,6 +157,9 @@ "chat-deleted-already": "Ce message a déjà été supprimé.", "chat-restored-already": "Ce message de discussion a déjà été restauré.", "chat-room-does-not-exist": "Le salon de discussion n'existe pas.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Vous avez déjà voté pour ce message.", "reputation-system-disabled": "Le système de réputation est désactivé", "downvoting-disabled": "Les votes négatifs ne sont pas autorisés", diff --git a/public/language/gl/error.json b/public/language/gl/error.json index c3984cf2cc..9d0ae5a377 100644 --- a/public/language/gl/error.json +++ b/public/language/gl/error.json @@ -62,6 +62,7 @@ "no-user": "O usuario non existe", "no-teaser": "A vista previa do tema non existe", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Non tes privilexios dabondo para ver este tema.", "category-disabled": "Categoría deshabilitada", "topic-locked": "Tema Pechado", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Xa votache esta mensaxe.", "reputation-system-disabled": "O sistema de reputación está deshabilitado", "downvoting-disabled": "Os votos negativos están deshabilitados", diff --git a/public/language/he/error.json b/public/language/he/error.json index 78d7dd20ec..8c2c75783b 100644 --- a/public/language/he/error.json +++ b/public/language/he/error.json @@ -62,6 +62,7 @@ "no-user": "משתמש אינו קיים", "no-teaser": "תקציר אינו קיים", "no-flag": "דיווח לא קיים", + "no-chat-room": "Chat room does not exist", "no-privileges": "ההרשאות שלכם אינן מספיקות לביצוע פעולה זו.", "category-disabled": "קטגוריה לא פעילה", "topic-locked": "נושא נעול", @@ -156,6 +157,9 @@ "chat-deleted-already": "הודעת צ'אט זו כבר נמחקה.", "chat-restored-already": "הודעת צ'אט זו כבר שוחזרה.", "chat-room-does-not-exist": "חדר צ'אט אינו קיים.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "הצבעתם כבר בנושא זה.", "reputation-system-disabled": "מערכת המוניטין לא פעילה.", "downvoting-disabled": "היכולת להצביע נגד מושבתת", diff --git a/public/language/hr/error.json b/public/language/hr/error.json index 48a227155b..0d9fecee1a 100644 --- a/public/language/hr/error.json +++ b/public/language/hr/error.json @@ -62,6 +62,7 @@ "no-user": "Korisnik ne postoji", "no-teaser": "Zadirkivač ne postoji", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Nemate privilegije za ovu radnju.", "category-disabled": "Kategorija onemogućena", "topic-locked": "Tema zaključana", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Već ste glasali za ovu objavu", "reputation-system-disabled": "Sistem reputacije onemogućen.", "downvoting-disabled": "Oduzimanje glasova je onemogućeno", diff --git a/public/language/hu/error.json b/public/language/hu/error.json index b59878f00e..0ad745fd48 100644 --- a/public/language/hu/error.json +++ b/public/language/hu/error.json @@ -62,6 +62,7 @@ "no-user": "Nem létező felhasználó", "no-teaser": "A bevezető nem létezik", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Nincs elég jogod ehhez a művelethez.", "category-disabled": "Kategória kikapcsolva", "topic-locked": "Téma lezárva", @@ -156,6 +157,9 @@ "chat-deleted-already": "Ez az üzenet már törölve lett.", "chat-restored-already": "Ez az üzenet már vissza van állítva.", "chat-room-does-not-exist": "Csevegő szoba nem létezik.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Már szavaztál erre a hozzászólásra.", "reputation-system-disabled": "Hírnév funkció kikapcsolva.", "downvoting-disabled": "Leszavazás funkció kikapcsolva", diff --git a/public/language/hy/error.json b/public/language/hy/error.json index 9c7fb41cf3..3b52f98c6d 100644 --- a/public/language/hy/error.json +++ b/public/language/hy/error.json @@ -62,6 +62,7 @@ "no-user": "Օգտվողը գոյություն չունի", "no-teaser": "Թիզերը գոյություն չունի", "no-flag": "Դրոշ գոյություն չունի", + "no-chat-room": "Chat room does not exist", "no-privileges": "Դուք չունեք բավարար արտոնություններ այս գործողության համար:", "category-disabled": "Կատեգորիան անջատված է", "topic-locked": "Թեման փակված է", @@ -156,6 +157,9 @@ "chat-deleted-already": "Այս զրույցի հաղորդագրությունն արդեն ջնջված է", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Այս զրուցարանը գոյություն չունի:", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Դուք արդեն քվեարկել եք այս գրառման օգտին:", "reputation-system-disabled": "Վարկանիշի համակարգը անջատված է:", "downvoting-disabled": "Դեմ քվեարկությունն անջատված է", diff --git a/public/language/id/error.json b/public/language/id/error.json index d82708bf4a..e95fef93a9 100644 --- a/public/language/id/error.json +++ b/public/language/id/error.json @@ -62,6 +62,7 @@ "no-user": "Pengguna tidak ditemukan", "no-teaser": "Teaser tidak ditemukan", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Kamu tidak punya cukup izin untuk melakukan ini", "category-disabled": "Kategori ditiadakan", "topic-locked": "Topik dikunci", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Sistem reputasi ditiadakan.", "downvoting-disabled": "Downvoting ditiadakan", diff --git a/public/language/it/error.json b/public/language/it/error.json index 8fb31b0069..8b5452bc25 100644 --- a/public/language/it/error.json +++ b/public/language/it/error.json @@ -62,6 +62,7 @@ "no-user": "L'Utente non esiste", "no-teaser": "Teaser non esiste", "no-flag": "Segnalazione non esiste", + "no-chat-room": "Chat room does not exist", "no-privileges": "Non hai abbastanza privilegi per questa azione.", "category-disabled": "Categoria disabilitata", "topic-locked": "Discussione Bloccata", @@ -156,6 +157,9 @@ "chat-deleted-already": "Il messaggio è già stato eliminato.", "chat-restored-already": "Questo messaggio della chat è già stato ripristinato.", "chat-room-does-not-exist": "La stanza chat non esiste.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Hai già votato per questo post", "reputation-system-disabled": "Il sistema di reputazione è disabilitato.", "downvoting-disabled": "Votata negativamente è disabilitato", diff --git a/public/language/ja/error.json b/public/language/ja/error.json index c60b3dccc9..3b32ccc35d 100644 --- a/public/language/ja/error.json +++ b/public/language/ja/error.json @@ -62,6 +62,7 @@ "no-user": "ユーザーは存在しません", "no-teaser": "ティーザーが存在しません", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "あなたがこの行為する権利がありません。", "category-disabled": "この板は無効された", "topic-locked": "スレッドがロックされた", @@ -156,6 +157,9 @@ "chat-deleted-already": "このチャットメッセージは既に削除されています", "chat-restored-already": "このチャットメッセージは既に削除されています", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "あなたはすでにこの投稿を評価しました。", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", diff --git a/public/language/ko/error.json b/public/language/ko/error.json index dc5e0540b8..a022e1531e 100644 --- a/public/language/ko/error.json +++ b/public/language/ko/error.json @@ -62,6 +62,7 @@ "no-user": "존재하지 않는 사용자입니다.", "no-teaser": "존재하지 않는 미리보기입니다.", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "이 작업을 할 수 있는 권한이 없습니다.", "category-disabled": "카테고리가 비활성화 되었습니다.", "topic-locked": "게시물이 잠금 상태입니다.", @@ -156,6 +157,9 @@ "chat-deleted-already": "이미 삭제된 채팅 메시지입니다.", "chat-restored-already": "이 채팅 메시지는 이미 복원되었습니다.", "chat-room-does-not-exist": "채팅이 존재하지 않습니다.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "이미 이 포스트에 투표하셨습니다.", "reputation-system-disabled": "인지도 시스템이 비활성화되어있습니다.", "downvoting-disabled": "비추천 기능이 비활성 상태입니다.", diff --git a/public/language/lt/error.json b/public/language/lt/error.json index 44a93c7315..2c1cd68afe 100644 --- a/public/language/lt/error.json +++ b/public/language/lt/error.json @@ -62,6 +62,7 @@ "no-user": "Tokio vartotojo nėra", "no-teaser": "Anonsas neegzistuoja", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Šiam veiksmui jūs neturite pakankamų privilegijų.", "category-disabled": "Kategorija išjungta", "topic-locked": "Tema užrakinta", @@ -156,6 +157,9 @@ "chat-deleted-already": "Ši žinutė buvo pašalinta", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Jūs jau balsavote už šį pranešimą.", "reputation-system-disabled": "Reputacijos sistema išjungta.", "downvoting-disabled": "Downvoting yra išjungtas", diff --git a/public/language/lv/error.json b/public/language/lv/error.json index 392ca6ea12..f9129b8a56 100644 --- a/public/language/lv/error.json +++ b/public/language/lv/error.json @@ -62,6 +62,7 @@ "no-user": "Lietotājs nav atrasts", "no-teaser": "Ievadapraksts nav atrasts", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Tev nepietiek tiesības šai darbībai.", "category-disabled": "Kategorija ir atspējota", "topic-locked": "Temats ir slēgts", @@ -156,6 +157,9 @@ "chat-deleted-already": "Saruna jau ir izdzēsta.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Tu jau balsoji par šo rakstu.", "reputation-system-disabled": "Ranga punktu sistēma ir atspējota.", "downvoting-disabled": "Balsošana \"pret\" ir atspējota", diff --git a/public/language/ms/error.json b/public/language/ms/error.json index dabfbe3476..e7c9319fc5 100644 --- a/public/language/ms/error.json +++ b/public/language/ms/error.json @@ -62,6 +62,7 @@ "no-user": "Pengguna tidak wujud", "no-teaser": "Pengusik tidak wujud", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Anda tidak mempunyai cukup keistimewaan untuk perbuatan ini.", "category-disabled": "Kategori dilumpuhkan", "topic-locked": "Topik Dikunci", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Sistem reputasi dilumpuhkan.", "downvoting-disabled": "Undi turun dilumpuhkan", diff --git a/public/language/nb/error.json b/public/language/nb/error.json index 64130de51f..ab9a8148ee 100644 --- a/public/language/nb/error.json +++ b/public/language/nb/error.json @@ -62,6 +62,7 @@ "no-user": "Bruker eksisterer ikke", "no-teaser": "Teaseren eksisterer ikke", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Du har ikke nok rettigheter til å utføre denne handlingen.", "category-disabled": "Kategori deaktivert", "topic-locked": "Emne låst", @@ -156,6 +157,9 @@ "chat-deleted-already": "Denne meldingen har allerede blitt slettet.", "chat-restored-already": "Denne meldingen har allerede blitt gjenopprettet.", "chat-room-does-not-exist": "Dette chatterommet finnes ikke.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Du har allerede stemt på dette innlegget", "reputation-system-disabled": "Omdømmesystemet er deaktivert.", "downvoting-disabled": "Nedstemming er deaktivert", diff --git a/public/language/nl/error.json b/public/language/nl/error.json index b0f354ed81..a039030e88 100644 --- a/public/language/nl/error.json +++ b/public/language/nl/error.json @@ -62,6 +62,7 @@ "no-user": "Gebruiker bestaat niet", "no-teaser": "Dit voorproefje bestaat niet", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Onvoldoende rechten om deze actie uit te voeren", "category-disabled": "Categorie uitgeschakeld", "topic-locked": "Onderwerp gesloten", @@ -156,6 +157,9 @@ "chat-deleted-already": "Dit chat bericht is al verwijderd.", "chat-restored-already": "Dit chat bericht is al hersteld.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Je hebt al gestemd voor deze post.", "reputation-system-disabled": "Reputatie systeem is uitgeschakeld.", "downvoting-disabled": "Negatief stemmen is uitgeschakeld", diff --git a/public/language/pl/error.json b/public/language/pl/error.json index ba0618f597..00b8d6c74c 100644 --- a/public/language/pl/error.json +++ b/public/language/pl/error.json @@ -62,6 +62,7 @@ "no-user": "Użytkownik nie istnieje", "no-teaser": "Zwiastun nie istnieje", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Nie masz przywileju wykonywania tej akcji", "category-disabled": "Kategoria wyłączona.", "topic-locked": "Temat zablokowany", @@ -156,6 +157,9 @@ "chat-deleted-already": "Ten komunikat czatu jest już skasowany", "chat-restored-already": "Ta wiadomość została już przywrócona", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Już zagłosowałeś na ten post", "reputation-system-disabled": "System reputacji jest wyłączony.", "downvoting-disabled": "Negatywna ocena postów jest wyłączona", diff --git a/public/language/pt-BR/error.json b/public/language/pt-BR/error.json index 960e95cc55..d48aebc8e7 100644 --- a/public/language/pt-BR/error.json +++ b/public/language/pt-BR/error.json @@ -62,6 +62,7 @@ "no-user": "O usuário não existe", "no-teaser": "O teaser não existe", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Você não possui privilégios suficientes para esta ação.", "category-disabled": "Categoria desativada", "topic-locked": "Tópico Trancado", @@ -156,6 +157,9 @@ "chat-deleted-already": "Essa mensagem de chat já foi deletada", "chat-restored-already": "Essa mensagem de chat já foi restaurada.", "chat-room-does-not-exist": "A sala de chat não existe.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Você já votou neste post.", "reputation-system-disabled": "O sistema de reputação está desabilitado.", "downvoting-disabled": "Negativação está desabilitada", diff --git a/public/language/pt-PT/error.json b/public/language/pt-PT/error.json index 65e772d521..141bf43cdb 100644 --- a/public/language/pt-PT/error.json +++ b/public/language/pt-PT/error.json @@ -62,6 +62,7 @@ "no-user": "Utilizador não existente", "no-teaser": "Não existe pré-visualização", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Não possuis privilégios suficientes para esta ação.", "category-disabled": "Categoria desativada", "topic-locked": "Tópico bloqueado", @@ -156,6 +157,9 @@ "chat-deleted-already": "Esta mensagem já foi apagada.", "chat-restored-already": "Esta mensagem já foi restaurada.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Já votaste nesta publicação.", "reputation-system-disabled": "O sistema de reputação está desativado.", "downvoting-disabled": "Os votos negativos estão desativados", diff --git a/public/language/ro/error.json b/public/language/ro/error.json index ed49f99971..de05d3ab52 100644 --- a/public/language/ro/error.json +++ b/public/language/ro/error.json @@ -62,6 +62,7 @@ "no-user": "Utilizatorul nu exista.", "no-teaser": "Teaser does not exist", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "You do not have enough privileges for this action.", "category-disabled": "Categorie dezactivată", "topic-locked": "Subiect Închis", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Sistemul de reputație este dezactivat.", "downvoting-disabled": "Votarea negativă este dezactivată", diff --git a/public/language/ru/error.json b/public/language/ru/error.json index 8367b758b0..a186714e8c 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -62,6 +62,7 @@ "no-user": "Такого пользователя не существует", "no-teaser": "Такого тизера не существует", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "У вас недостаточно прав для этого действия.", "category-disabled": "Категория отключена", "topic-locked": "Тема закрыта", @@ -156,6 +157,9 @@ "chat-deleted-already": "Это сообщение чата уже удалено.", "chat-restored-already": "Это сообщение чата уже было восстановлено.", "chat-room-does-not-exist": "Комната чата не существует.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Вы уже проголосовали за это сообщение.", "reputation-system-disabled": "Система репутации отключена.", "downvoting-disabled": "Понижение рейтинга отключено", diff --git a/public/language/rw/error.json b/public/language/rw/error.json index 2153353025..878b42d95f 100644 --- a/public/language/rw/error.json +++ b/public/language/rw/error.json @@ -62,6 +62,7 @@ "no-user": "Umuntu utabaho", "no-teaser": "Inshamake itabaho", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Ntabwo uragira uburenganzira buhagije ngo wemererwe iki gikorwa", "category-disabled": "Icyiciro cyabujijwe", "topic-locked": "Ikiganiro Cyafungiranywe", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Ibijyanye n'itangwa ry'amanota ntibyemerewe. ", "downvoting-disabled": "Kwambura amanota ntibyemerewe", diff --git a/public/language/sc/error.json b/public/language/sc/error.json index 4191fad94f..77316bf37b 100644 --- a/public/language/sc/error.json +++ b/public/language/sc/error.json @@ -62,6 +62,7 @@ "no-user": "User does not exist", "no-teaser": "Teaser does not exist", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "You do not have enough privileges for this action.", "category-disabled": "Category disabled", "topic-locked": "Topic Locked", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", diff --git a/public/language/sk/error.json b/public/language/sk/error.json index 191c951b3c..6cc0528b28 100644 --- a/public/language/sk/error.json +++ b/public/language/sk/error.json @@ -62,6 +62,7 @@ "no-user": "Užívateľ neexistuje", "no-teaser": "Ukážka neexistuje", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Na túto akciu nemáte dostatočné oprávnenia.", "category-disabled": "Kategória je zablokovaná", "topic-locked": "Téma je uzamknutá", @@ -156,6 +157,9 @@ "chat-deleted-already": "Táto správa konverzácie už bola odstránená.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Za tento príspevok ste už hlasovali.", "reputation-system-disabled": "Systém reputácie je zablokovaný.", "downvoting-disabled": "Hlasovanie proti je zablokované", diff --git a/public/language/sl/error.json b/public/language/sl/error.json index 20f0be3469..eac8f93810 100644 --- a/public/language/sl/error.json +++ b/public/language/sl/error.json @@ -62,6 +62,7 @@ "no-user": "Uporabnik ne obstaja.", "no-teaser": "Predogled ne obstaja.", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Nimate dovolj pravic za to dejanje.", "category-disabled": "Kategorija je onemogočena.", "topic-locked": "Tema je zaklenjena.", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Za to objavo ste že glasovali.", "reputation-system-disabled": "Sistem za ugled je onemogočen.", "downvoting-disabled": "Negativno glasovanje je onemogočeno.", diff --git a/public/language/sq-AL/error.json b/public/language/sq-AL/error.json index 8c2c0b7d5e..62ef322bae 100644 --- a/public/language/sq-AL/error.json +++ b/public/language/sq-AL/error.json @@ -62,6 +62,7 @@ "no-user": "Përdoruesi nuk ekziston", "no-teaser": "Përmbledhja nuk ekziston", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Nuk keni akses të mjaftueshem për këtë veprim.", "category-disabled": "Kategori e çaktivizuar", "topic-locked": "Temë e kyçur", @@ -156,6 +157,9 @@ "chat-deleted-already": "Ky mesazh është fshirë tashmë.", "chat-restored-already": "Ky mesazh është rikthyer tashmë.", "chat-room-does-not-exist": "Kjo dhomë bisede nuk ekziston.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Ju keni votuar tashmë për këtë postim.", "reputation-system-disabled": "Sistemi i reputacionit është i çaktivizuar.", "downvoting-disabled": "Votimi kundër është i çaktivizuar", diff --git a/public/language/sr/error.json b/public/language/sr/error.json index 2816cd21b3..990a0ca5b8 100644 --- a/public/language/sr/error.json +++ b/public/language/sr/error.json @@ -62,6 +62,7 @@ "no-user": "Корисник не постоји", "no-teaser": "Исечак не постоји", "no-flag": "Заставица не постоји", + "no-chat-room": "Chat room does not exist", "no-privileges": "Немате довољне привилегије за обављање ове радње.", "category-disabled": "Категорија је онемогућена", "topic-locked": "Тема је закључана", @@ -156,6 +157,9 @@ "chat-deleted-already": "Ова порука ћаскања је већ избрисана.", "chat-restored-already": "Ова порука ћаскања је већ обновљена.", "chat-room-does-not-exist": "Соба за ћаскање не постоји.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Већ сте гласали за ову поруку.", "reputation-system-disabled": "Угледи су онемогућени.", "downvoting-disabled": "Негативно гласање је онемогућено", diff --git a/public/language/sv/error.json b/public/language/sv/error.json index 5951c4e022..328d289d6e 100644 --- a/public/language/sv/error.json +++ b/public/language/sv/error.json @@ -62,6 +62,7 @@ "no-user": "Användaren finns inte", "no-teaser": "Förhandsvisningen finns inte", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "Du har inte tillräckliga rättigheter för den här åtgärden.", "category-disabled": "Kategorin inaktiverad", "topic-locked": "Ämnet låst", @@ -156,6 +157,9 @@ "chat-deleted-already": "Detta chattmeddelande har redan raderats.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Du har redan röstat på det här inlägget.", "reputation-system-disabled": "Ryktessystemet är inaktiverat.", "downvoting-disabled": "Nedröstning är inaktiverat", diff --git a/public/language/th/error.json b/public/language/th/error.json index a92289d675..d84a9bfb20 100644 --- a/public/language/th/error.json +++ b/public/language/th/error.json @@ -62,6 +62,7 @@ "no-user": "ยังไม่มีผู้ใช้งานนี้", "no-teaser": "ยังไม่มีทีเซอร์นี้", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "คุณมีสิทธิ์ไม่เพียงพอที่จะทำรายการนี้", "category-disabled": "Category นี้ถูกปิดการใช้งานแล้ว", "topic-locked": "กระทู้ถูกล็อก", @@ -156,6 +157,9 @@ "chat-deleted-already": "This chat message has already been deleted.", "chat-restored-already": "This chat message has already been restored.", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "คุณได้โหวตโพสต์นี้แล้ว", "reputation-system-disabled": "ระบบชื่อเสียงถูกปิดใช้งาน", "downvoting-disabled": "\"การโหวตลง\" ถูกปิดใช้งาน", diff --git a/public/language/tr/error.json b/public/language/tr/error.json index 3b4fb00e45..7848c97f32 100644 --- a/public/language/tr/error.json +++ b/public/language/tr/error.json @@ -62,6 +62,7 @@ "no-user": "Kullanıcı Yok", "no-teaser": "İleti Yok", "no-flag": "Şikayet Yok", + "no-chat-room": "Chat room does not exist", "no-privileges": "Bu işlemi yapmak için yeterli yetkiniz yok.", "category-disabled": "Kategori aktif değil", "topic-locked": "Başlık Kilitli", @@ -156,6 +157,9 @@ "chat-deleted-already": "Bu sohbet mesajı zaten silinmiş.", "chat-restored-already": "Bu sohbet mesajı zaten geri yüklendi.", "chat-room-does-not-exist": "Sohbet Odası Mevcut Değil", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Bu gönderi için zaten oy verdin.", "reputation-system-disabled": "İtibar sistemi devre dışı.", "downvoting-disabled": "Eksi oylama devre dışı bırakılmış. ", diff --git a/public/language/uk/error.json b/public/language/uk/error.json index 9418ca4bf6..0d7c0a94d8 100644 --- a/public/language/uk/error.json +++ b/public/language/uk/error.json @@ -62,6 +62,7 @@ "no-user": "Користувач не існує", "no-teaser": "Тизер не існує", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "У вас недостатньо повноважень для цієї дії. ", "category-disabled": "Категорію відключено", "topic-locked": "Тему заблоковано", @@ -156,6 +157,9 @@ "chat-deleted-already": "Це повідомлення чату вже було видалено.", "chat-restored-already": "Це чат повідомлення вже було відновлене", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Ви вже проголосували за цей пост.", "reputation-system-disabled": "Система репутацій вимкнена.", "downvoting-disabled": "Голосування проти вимкнено", diff --git a/public/language/vi/error.json b/public/language/vi/error.json index 0c41fe1498..ca14a3a120 100644 --- a/public/language/vi/error.json +++ b/public/language/vi/error.json @@ -62,6 +62,7 @@ "no-user": "Người dùng không tồn tại", "no-teaser": "Đoạn giới thiệu không tồn tại", "no-flag": "Cờ không tồn tại", + "no-chat-room": "Chat room does not exist", "no-privileges": "Bạn không đủ quyền để thực thi hành động này", "category-disabled": "Chuyên mục bị khóa", "topic-locked": "Chủ đề bị khóa", @@ -156,6 +157,9 @@ "chat-deleted-already": "Cuộc trò chuyện này đã được xóa.", "chat-restored-already": "Tin nhắn trò chuyện này đã được khôi phục.", "chat-room-does-not-exist": "Phòng trò chuyện không tồn tại.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "Bạn đã bỏ phiếu cho bài viết này", "reputation-system-disabled": "Hệ thống đánh giá uy tính đã bị vô hiệu hóa.", "downvoting-disabled": "Phản đối đã bị tắt", diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json index 4517693259..520524781f 100644 --- a/public/language/zh-CN/error.json +++ b/public/language/zh-CN/error.json @@ -62,6 +62,7 @@ "no-user": "用户不存在", "no-teaser": "主题预览不存在", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "您没有权限执行此操作。", "category-disabled": "版块已禁用", "topic-locked": "主题已锁定", @@ -156,6 +157,9 @@ "chat-deleted-already": "聊天消息已经被删除", "chat-restored-already": "此聊天消息已经恢复。\n", "chat-room-does-not-exist": "聊天室不存在。", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "您已为此帖回复投过票了。", "reputation-system-disabled": "声望系统已禁用。", "downvoting-disabled": "踩已被禁用", diff --git a/public/language/zh-TW/error.json b/public/language/zh-TW/error.json index 57bb0fa200..1b1381b91f 100644 --- a/public/language/zh-TW/error.json +++ b/public/language/zh-TW/error.json @@ -62,6 +62,7 @@ "no-user": "使用者不存在", "no-teaser": "主題預覽不存在", "no-flag": "Flag does not exist", + "no-chat-room": "Chat room does not exist", "no-privileges": "您的權限不足以執行此操作。", "category-disabled": "版面已停用", "topic-locked": "主題已鎖定", @@ -156,6 +157,9 @@ "chat-deleted-already": "聊天訊息已經被刪除", "chat-restored-already": "此聊天訊息已經恢復。", "chat-room-does-not-exist": "Chat room does not exist.", + "cant-add-users-to-chat-room": "Can't add users to chat room.", + "cant-remove-users-from-chat-room": "Can't remove users from chat room.", + "chat-room-name-too-long": "Chat room name too long.", "already-voting-for-this-post": "您已讚過此貼文回覆了。", "reputation-system-disabled": "聲望系統已停用。", "downvoting-disabled": "倒讚已被停用", From bf92ee0e5fcd0b7a69bb58ec4baaf3b6225ebd6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 3 Feb 2023 09:46:02 -0500 Subject: [PATCH 12/12] feat: add sitemap filter hooks for categories/topic pages --- src/sitemap.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/sitemap.js b/src/sitemap.js index 353ed23f43..6e17514352 100644 --- a/src/sitemap.js +++ b/src/sitemap.js @@ -79,7 +79,11 @@ sitemap.getPages = async function () { async function getSitemapCategories() { const cids = await categories.getCidsByPrivilege('categories:cid', 0, 'find'); - return await categories.getCategoriesFields(cids, ['slug']); + const categoryData = await categories.getCategoriesFields(cids, ['slug']); + const data = await plugins.hooks.fire('filter:sitemap.getCategories', { + categories: categoryData, + }); + return data.categories; } sitemap.getCategories = async function () { @@ -128,7 +132,12 @@ sitemap.getTopicPage = async function (page) { tids = await privileges.topics.filterTids('topics:read', tids, 0); const topicData = await topics.getTopicsFields(tids, ['tid', 'title', 'slug', 'lastposttime']); - if (!topicData.length) { + const data = await plugins.hooks.fire('filter:sitemap.getCategories', { + page: page, + topics: topicData, + }); + + if (!data.topics.length) { sitemap.maps.topics[page - 1] = { sm: '', cacheExpireTimestamp: Date.now() + (1000 * 60 * 60 * 24), @@ -136,7 +145,7 @@ sitemap.getTopicPage = async function (page) { return sitemap.maps.topics[page - 1].sm; } - topicData.forEach((topic) => { + data.topics.forEach((topic) => { if (topic) { topicUrls.push({ url: `${nconf.get('relative_path')}/topic/${topic.slug}`,