From 000f8b8d925e9fb9e9fc0c0c39167d0f87f349e6 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 28 Jul 2017 14:19:27 -0400 Subject: [PATCH 01/35] fixed incorrect library module ref --- src/search.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/search.js b/src/search.js index d54f1e0ae2..a0207d5844 100644 --- a/src/search.js +++ b/src/search.js @@ -89,7 +89,7 @@ function searchInContent(data, callback) { filterAndSort(pids, data, next); }, function (pids, next) { - plugin.fireHook('filter:search.inContent', { + plugins.fireHook('filter:search.inContent', { pids: pids, }, next); }, From d76a67a084f95cf569a9ca8516a6fb20c8929bfd Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Sat, 29 Jul 2017 09:23:20 +0000 Subject: [PATCH 02/35] Latest translations and fallbacks --- public/language/hu/admin/settings/group.json | 16 ++++++------ public/language/hu/users.json | 26 ++++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/public/language/hu/admin/settings/group.json b/public/language/hu/admin/settings/group.json index 08ee285f63..6ab814a86a 100644 --- a/public/language/hu/admin/settings/group.json +++ b/public/language/hu/admin/settings/group.json @@ -1,12 +1,12 @@ { "general": "Általános", "private-groups": "Privát Csoportok", - "private-groups.help": "If enabled, joining of groups requires the approval of the group owner (Default: enabled)", - "private-groups.warning": "Beware! If this option is disabled and you have private groups, they automatically become public.", - "allow-creation": "Allow Group Creation", - "allow-creation-help": "If enabled, users can create groups (Default: disabled)", - "max-name-length": "Maximum Group Name Length", - "cover-image": "Group Cover Image", - "default-cover": "Default Cover Images", - "default-cover-help": "Add comma-separated default cover images for groups that don't have an uploaded cover image" + "private-groups.help": "Ha engedélyezve van, a csoporthoz való csatlakozáshoz szükség van a csoport tulajdonosának jóváhagyására (Alapértelmezett: engedélyezve)", + "private-groups.warning": "Vigyázat! Ha ez a lehetőség le van tiltva, és vannak privát csoportjaid, azok automatikusan nyilvánosak lesznek.", + "allow-creation": "Csoport Létrehozás Engedélyezése", + "allow-creation-help": "Ha engedélyezve van, a felhasználók létrehozhatnak csoportokat (Alapértelmezett: letiltva)", + "max-name-length": "Maximális Csoportnév Hossz", + "cover-image": "Csoport Borítókép", + "default-cover": "Alapértelmezett Borítóképek", + "default-cover-help": "Alapértelmezett borítóképek hozzáadása vesszővel elválasztva olyan csoportokhoz, amelyeknek nincs feltöltött borítóképük." } \ No newline at end of file diff --git a/public/language/hu/users.json b/public/language/hu/users.json index 8deea8b8c2..8580355c1c 100644 --- a/public/language/hu/users.json +++ b/public/language/hu/users.json @@ -2,20 +2,20 @@ "latest_users": "Legújabb felhasználók", "top_posters": "Legaktívabbak", "most_reputation": "Legnépszerűbbek", - "most_flags": "Most Flags", + "most_flags": "Legjelentettebbek", "search": "Keresés", "enter_username": "Írj be egy nicknevet a kereséshez", "load_more": "Több betöltése", - "users-found-search-took": "%1 user(s) found! Search took %2 seconds.", - "filter-by": "Filter By", - "online-only": "Online 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", - "no-users-found": "No users found!" + "users-found-search-took": "%1 felhasználó találat! A keresés %2 másodpercet vett igénybe.", + "filter-by": "Szűrés Eszerint", + "online-only": "Csak online", + "invite": "Meghívás", + "invitation-email-sent": "Egy meghívó email el lett küldve %1 részére", + "user_list": "Felhasználólista", + "recent_topics": "Friss Témák", + "popular_topics": "Népszerű Témák", + "unread_topics": "Olvasatlan Témák", + "categories": "Kategóriák", + "tags": "Címkék", + "no-users-found": "Nincs felhasználó találat!" } \ No newline at end of file From c0fa404b6ce692f3027c06e392f1cec78abaf15a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 31 Jul 2017 16:47:28 -0400 Subject: [PATCH 03/35] fix test --- src/search.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/search.js b/src/search.js index a0207d5844..fdfcf6fdfb 100644 --- a/src/search.js +++ b/src/search.js @@ -93,7 +93,8 @@ function searchInContent(data, callback) { pids: pids, }, next); }, - function (metadata, next) { + function (_metadata, next) { + metadata = _metadata; matchCount = metadata.pids.length; if (data.page) { var start = Math.max(0, (data.page - 1)) * 10; From 493cd16f39d2331ffa3a8c39d094064b950742f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 31 Jul 2017 16:48:28 -0400 Subject: [PATCH 04/35] closes #5848 --- src/middleware/header.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/middleware/header.js b/src/middleware/header.js index a30034df69..29716e1f60 100644 --- a/src/middleware/header.js +++ b/src/middleware/header.js @@ -104,6 +104,11 @@ module.exports = function (middleware) { next(null, translated); }); }, + browserTitle: function (next) { + translator.translate(controllers.helpers.buildTitle(translator.unescape(data.title)), function (translated) { + next(null, translated); + }); + }, navigation: async.apply(navigation.get), tags: async.apply(meta.tags.parse, req, data, res.locals.metaTags, res.locals.linkTags), banned: async.apply(user.isBanned, req.uid), @@ -126,7 +131,7 @@ module.exports = function (middleware) { setBootswatchCSS(templateValues, res.locals.config); - templateValues.browserTitle = controllers.helpers.buildTitle(data.title); + templateValues.browserTitle = results.browserTitle; templateValues.navigation = results.navigation; templateValues.metaTags = results.tags.meta; templateValues.linkTags = results.tags.link; From 53508e58c35493120f2f3894722b18584fa08348 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Tue, 1 Aug 2017 09:23:25 +0000 Subject: [PATCH 05/35] Latest translations and fallbacks --- .../language/cs/admin/development/info.json | 18 +- .../language/cs/admin/development/logger.json | 18 +- public/language/cs/admin/extend/plugins.json | 80 +++---- public/language/cs/admin/extend/rewards.json | 28 +-- public/language/cs/admin/extend/widgets.json | 24 +- public/language/cs/category.json | 12 +- public/language/cs/email.json | 8 +- public/language/cs/error.json | 210 +++++++++--------- public/language/cs/flags.json | 100 ++++----- public/language/cs/user.json | 44 ++-- 10 files changed, 271 insertions(+), 271 deletions(-) diff --git a/public/language/cs/admin/development/info.json b/public/language/cs/admin/development/info.json index 0a4ae6fe2c..f146fe61b2 100644 --- a/public/language/cs/admin/development/info.json +++ b/public/language/cs/admin/development/info.json @@ -1,18 +1,18 @@ { - "you-are-on": "Info - You are on %1:%2", - "nodes-responded": "%1 nodes responded within %2ms!", + "you-are-on": "Informace - jste na %1%2", + "nodes-responded": "%1 vazeb odpovědělo během %2ms.", "host": "host", "pid": "pid", "nodejs": "nodejs", "online": "online", "git": "git", - "memory": "memory", - "load": "load", - "uptime": "uptime", + "memory": "paměť", + "load": "načíst", + "uptime": "čas spuštění", - "registered": "Registered", - "sockets": "Sockets", - "guests": "Guests", + "registered": "Registrován", + "sockets": "Sockety", + "guests": "Hosté", - "info": "Info" + "info": "Informace" } \ No newline at end of file diff --git a/public/language/cs/admin/development/logger.json b/public/language/cs/admin/development/logger.json index 6ab9558149..688358d8d3 100644 --- a/public/language/cs/admin/development/logger.json +++ b/public/language/cs/admin/development/logger.json @@ -1,12 +1,12 @@ { - "logger-settings": "Logger Settings", - "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", - "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", - "enable-http": "Enable HTTP logging", - "enable-socket": "Enable socket.io event logging", - "file-path": "Path to log file", - "file-path-placeholder": "/path/to/log/file.log ::: leave blank to log to your terminal", + "logger-settings": "Nastavení protokolování", + "description": "Povolením zaškrtávacích polí, budete dostávat protokoly na váš terminál. Nastavíte-li cestu, protokoly budou místo toho uloženy do souboru. Protokolování HTTP je vhodné pro vytvoření statistiky o tom, kdo, kdy a jací lidé přistupují k vašemu fóru. Dodatečně k těmto protokolům můžeme zapisovat i události z socket.io. Protokolování socket.io v kombinaci s monitorem redis-cli je vhodné k porozumění vnitřním strukturám NodeBB.", + "explanation": "Jednoduše zaškrtněte/odškrtněte nastavení protokolu, změny se projeví okamžitě bez restartování.", + "enable-http": "Povolit protokolování HTTP", + "enable-socket": "Povolit protokolování socket.io", + "file-path": "Cesta k protokolovému souboru", + "file-path-placeholder": "/path/to/log/file.log ::: zanechte prázdné pro protokolování na vašem terminále", - "control-panel": "Logger Control Panel", - "update-settings": "Update Logger Settings" + "control-panel": "Ovládací panel protokolování", + "update-settings": "Aktualizovat nastavení protokolů" } \ No newline at end of file diff --git a/public/language/cs/admin/extend/plugins.json b/public/language/cs/admin/extend/plugins.json index 1f6ae21683..5f29cfe530 100644 --- a/public/language/cs/admin/extend/plugins.json +++ b/public/language/cs/admin/extend/plugins.json @@ -1,47 +1,47 @@ { - "installed": "Installed", - "active": "Active", - "inactive": "Inactive", - "out-of-date": "Out of Date", - "none-found": "No plugins found.", - "none-active": "No Active Plugins", - "find-plugins": "Find Plugins", + "installed": "Nainstalováno", + "active": "Aktivní", + "inactive": "Neaktivní", + "out-of-date": "Zastaralé", + "none-found": "Nebyly nalezeny žádná rozšíření", + "none-active": "Žádné aktivní rozšíření", + "find-plugins": "Najít rozšíření", - "plugin-search": "Plugin Search", + "plugin-search": "Hledat rozšíření", "plugin-search-placeholder": "Hledat rozšíření…", - "reorder-plugins": "Re-order Plugins", - "order-active": "Order Active Plugins", - "dev-interested": "Interested in writing plugins for NodeBB?", - "docs-info": "Full documentation regarding plugin authoring can be found in the NodeBB Docs Portal.", + "reorder-plugins": "Roztřídit rozšíření", + "order-active": "Pořadí aktivních rozšíření", + "dev-interested": "Zajímá vás psaní rozšíření pro NodeBB?", + "docs-info": "Plná dokumentace ohledně autorizace rozšíření je k nalezení na Portále dokumentů NodeBB.", - "order.description": "Certain plugins work ideally when they are initialised before/after other plugins.", - "order.explanation": "Plugins load in the order specified here, from top to bottom", + "order.description": "Některá rozšíření fungují správně až jsou-li inicializovány před/po ostatních rozšířeních.", + "order.explanation": "Rozšíření jsou načteny dle pořadí zde určeném, odshora dolů", - "plugin-item.themes": "Themes", - "plugin-item.deactivate": "Deactivate", - "plugin-item.activate": "Activate", - "plugin-item.install": "Install", - "plugin-item.uninstall": "Uninstall", - "plugin-item.settings": "Settings", - "plugin-item.installed": "Installed", - "plugin-item.latest": "Latest", - "plugin-item.upgrade": "Upgrade", - "plugin-item.more-info": "For more information:", - "plugin-item.unknown": "Unknown", - "plugin-item.unknown-explanation": "The state of this plugin could not be determined, possibly due to a misconfiguration error.", + "plugin-item.themes": "Motivy", + "plugin-item.deactivate": "Deaktivovat", + "plugin-item.activate": "Aktivovat", + "plugin-item.install": "Nainstalovat", + "plugin-item.uninstall": "Odinstalovat", + "plugin-item.settings": "Nastavení", + "plugin-item.installed": "Nainstalováno", + "plugin-item.latest": "Poslední", + "plugin-item.upgrade": "Aktualizace", + "plugin-item.more-info": "Pro více informací:", + "plugin-item.unknown": "Neznámí", + "plugin-item.unknown-explanation": "Stav tohoto rozšíření nemohl být zjištěn, možná díky chybě v konfiguraci.", - "alert.enabled": "Plugin Enabled", - "alert.disabled": "Plugin Disabled", - "alert.upgraded": "Plugin Upgraded", - "alert.installed": "Plugin Installed", - "alert.uninstalled": "Plugin Uninstalled", - "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", - "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", - "alert.install-success": "Plugin successfully installed, please activate the plugin.", - "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", - "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", - "alert.package-manager-unreachable": "

NodeBB could not reach the package manager, an upgrade is not suggested at this time.

", - "alert.incompatible": "

Your version of NodeBB (v%1) is only cleared to upgrade to v%2 of this plugin. Please update your NodeBB if you wish to install a newer version of this plugin.

", - "alert.possibly-incompatible": "

No Compatibility Information Found

This plugin did not specify a specific version for installation given your NodeBB version. Full compatibility cannot be guaranteed, and may cause your NodeBB to no longer start properly.

In the event that NodeBB cannot boot properly:

$ ./nodebb reset plugin=\"%1\"

Continue installation of latest version of this plugin?

" + "alert.enabled": "Rozšíření povoleno", + "alert.disabled": "Rozšíření zakázáno", + "alert.upgraded": "Rozšíření bylo aktualizováno", + "alert.installed": "Rozšíření bylo nainstalováno", + "alert.uninstalled": "Rozšíření bylo odinstalováno", + "alert.activate-success": "Pro plnou aktivaci tohoto rozšíření, restartujte NodeBB", + "alert.deactivate-success": "Rozšíření bylo úspěšně deaktivováno", + "alert.upgrade-success": "Pro plnou aktualizace tohoto rozšíření, znovu načtěte vaše NodeBB", + "alert.install-success": "Rozšíření bylo úspěšně nainstalováno, můžete ho aktivovat.", + "alert.uninstall-success": "Rozšíření bylo úspěšně deaktivováno a odinstalováno.", + "alert.suggest-error": "

NodeBB se nemohl připojit ke správce balíčku, pokračovat v instalaci poslední verze?

Server odpověděl (%1): %2
", + "alert.package-manager-unreachable": "

NodeBB se nemohl připojit ke správci balíčku, aktualizace není doporučena.

", + "alert.incompatible": "

Vaše verze NodeBB (v%1) umožňuje jen aktualizovat toto rozšíření na v%2. Aktualizujte prosím NodeBB, chcete-li nainstalovat nejnovější verzi tohoto rozšíření.

", + "alert.possibly-incompatible": "

Nebyla nalezena žádná informace o kompatibilitě

Toto rozšíření nemá nastavenou požadovanou verzi NodeBB. Plná kompatibilita nemůže být garantována a může způsobit, že se vám již NodeBB nespustí.

Nespustí-li se správně NodeBB:

$ ./nodebb reset plugin=\"%1\"

Pokračovat v instalaci této aktuální verze rozšíření?

" } diff --git a/public/language/cs/admin/extend/rewards.json b/public/language/cs/admin/extend/rewards.json index 5383a90b33..dc8962e778 100644 --- a/public/language/cs/admin/extend/rewards.json +++ b/public/language/cs/admin/extend/rewards.json @@ -1,17 +1,17 @@ { - "rewards": "Rewards", - "condition-if-users": "If User's", - "condition-is": "Is:", - "condition-then": "Then:", - "max-claims": "Amount of times reward is claimable", - "zero-infinite": "Enter 0 for infinite", - "delete": "Delete", - "enable": "Enable", - "disable": "Disable", - "control-panel": "Rewards Control", - "new-reward": "New Reward", + "rewards": "Odměny", + "condition-if-users": "Pokud uživatel", + "condition-is": "je:", + "condition-then": "Pak:", + "max-claims": "Počet dosažitelnosti odměny", + "zero-infinite": "Pro neomezeně zadejte 0", + "delete": "Smazat", + "enable": "Povolit", + "disable": "Zakázat", + "control-panel": "Ovládací panel odměn", + "new-reward": "Nová odměna", - "alert.delete-success": "Successfully deleted reward", - "alert.no-inputs-found": "Illegal reward - no inputs found!", - "alert.save-success": "Successfully saved rewards" + "alert.delete-success": "Odměna byla úspěšně smazána", + "alert.no-inputs-found": "Nepovolená odměna - nebyl nalezen žádný záznam.", + "alert.save-success": "Odměny byly úspěšně uloženy" } \ No newline at end of file diff --git a/public/language/cs/admin/extend/widgets.json b/public/language/cs/admin/extend/widgets.json index 477bb15e56..17935c1920 100644 --- a/public/language/cs/admin/extend/widgets.json +++ b/public/language/cs/admin/extend/widgets.json @@ -1,19 +1,19 @@ { - "available": "Available Widgets", - "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", - "none-installed": "No widgets found! Activate the essential widgets plugin in the plugins control panel.", - "containers.available": "Available Containers", - "containers.explanation": "Drag and drop on top of any active widget", - "containers.none": "None", + "available": "Dostupné miniaplikace", + "explanation": "Vyberte si miniaplikaci z vysouvací nabídky a přetáhněte ji do oblasti šablony miniaplikace nalevo.", + "none-installed": "Nebyly nalezeny žádné miniaplikace. Aktivujte rozšíření základních miniaplikací v ovládacím panelu Rozšíření.", + "containers.available": "Dostupné moduly", + "containers.explanation": "Přetáhněte na jakoukoliv aktivní miniaplikaci", + "containers.none": "Nic", "container.well": "Well", "container.jumbotron": "Jumbotron", "container.panel": "Panel", - "container.panel-header": "Panel Header", - "container.panel-body": "Panel Body", - "container.alert": "Alert", + "container.panel-header": "Hlavička panelu", + "container.panel-body": "Tělo panelu", + "container.alert": "Upozornění", - "alert.confirm-delete": "Are you sure you wish to delete this widget?", - "alert.updated": "Widgets Updated", - "alert.update-success": "Successfully updated widgets" + "alert.confirm-delete": "Jste si jist/a, že chcete smazat tuto miniaplikaci?", + "alert.updated": "Miniaplikace byly aktualizovány", + "alert.update-success": "Miniaplikace byly úspěšně aktualizovány" } \ No newline at end of file diff --git a/public/language/cs/category.json b/public/language/cs/category.json index fa0e52e759..8118e85006 100644 --- a/public/language/cs/category.json +++ b/public/language/cs/category.json @@ -3,18 +3,18 @@ "subcategories": "Podkategorie", "new_topic_button": "Nové téma", "guest-login-post": "Přihlásit se pro přispívání", - "no_topics": "V této kategorii zatím nejsou žádné příspěvky.
Můžeš být první!", + "no_topics": "V této kategorii zatím nejsou žádné příspěvky.
Můžeš být první.", "browsing": "prohlíží", "no_replies": "Nikdo ještě neodpověděl", "no_new_posts": "Žádné nové příspěvky", - "share_this_category": "Share this category", + "share_this_category": "Sdílet tuto kategorii", "watch": "Sledovat", "ignore": "Ignorovat", "watching": "Sledováno", - "ignoring": "Ignoring", - "watching.description": "Show topics in unread", - "ignoring.description": "Do not show topics in unread", + "ignoring": "Ignorováno", + "watching.description": "Zobrazit témata jako nepřečtená", + "ignoring.description": "Nezobrazovat témata v nepřečtených", "watch.message": "Nyní sledujete všechny aktualizace z této kategorie a všech podkategorií", - "ignore.message": "You are now ignoring updates from this category and all subcategories", + "ignore.message": "Nyní ignorujete aktualizace z této kategorie a všech podkategoriích", "watched-categories": "Sledované kategorie" } \ No newline at end of file diff --git a/public/language/cs/email.json b/public/language/cs/email.json index dae40450bd..4e25586458 100644 --- a/public/language/cs/email.json +++ b/public/language/cs/email.json @@ -32,9 +32,9 @@ "notif.post.unsub.info": "Toto upozornění na příspěvek vám bylo odesláno na základě vašeho nastavení odběru.", "test.text1": "Tento testovací e-mail slouží k ověření, že je e-mailer správně nastaven pro práci s NodeBB.", "unsub.cta": "Chcete-li změnit tyto nastavení, klikněte zde.", - "banned.subject": "Byl jste zabanován od %1", - "banned.text1": "Uživatel %1 byl zabanován od %2", - "banned.text2": "Ban bude trvat do %1", - "banned.text3": "Toto je důvod, proč jste byl zabanován:", + "banned.subject": "Byl jste zablokován od %1", + "banned.text1": "Uživatel %1 byl zablokován od %2", + "banned.text2": "Blokace bude trvat do %1", + "banned.text3": "Toto je důvod, proč jste byl zablokován:", "closing": "Díky." } \ No newline at end of file diff --git a/public/language/cs/error.json b/public/language/cs/error.json index 628b1c9109..86faaa928b 100644 --- a/public/language/cs/error.json +++ b/public/language/cs/error.json @@ -1,134 +1,134 @@ { "invalid-data": "Neplatná data", - "invalid-json": "Invalid JSON", - "not-logged-in": "Zdá se, že nejste přihlášen(a)", - "account-locked": "Váš účet byl dočasně uzamčen", - "search-requires-login": "Searching requires an account - please login or register.", + "invalid-json": "Neplatný JSON", + "not-logged-in": "Zdá se, že nejste přihlášen/a", + "account-locked": "Váš účet byl dočasně uzamknut", + "search-requires-login": "Pro hledání je vyžadován účet - přihlaste se nebo zaregistrujte.", "invalid-cid": "Neplatné ID kategorie", "invalid-tid": "Neplatné ID tématu", "invalid-pid": "Neplatné ID příspěvku", "invalid-uid": "Neplatné ID uživatele", "invalid-username": "Neplatné uživatelské jméno", "invalid-email": "Neplatný e-mail", - "invalid-title": "Neplatný titulek!", + "invalid-title": "Neplatný titulek.", "invalid-user-data": "Neplatná uživatelská data", "invalid-password": "Neplatné heslo", - "invalid-login-credentials": "Invalid login credentials", - "invalid-username-or-password": "Stanovte, prosím, oboje, jak uživatelské jméno, tak heslo", + "invalid-login-credentials": "Neplatné přihlašovací údaje", + "invalid-username-or-password": "Zadejte prosím uživatelské jméno a i heslo", "invalid-search-term": "Neplatný výraz pro vyhledávání", - "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", - "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", + "csrf-invalid": "Není možné vás přihlásit, díky vypršení relace. Zkuste to prosím znovu.", + "invalid-pagination-value": "Neplatná hodnota stránkování, musí být alespoň %1 a nejvýše %2", "username-taken": "Uživatelské jméno je již použito", - "email-taken": "E-mail je již používán", + "email-taken": "Tento e-mail je již použit", "email-not-confirmed": "Vaše e-mailová adresa zatím nebyla potvrzena. Klepněte zde pro její potvrzení.", - "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", - "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", - "email-confirm-failed": "We could not confirm your email, please try again later.", - "confirm-email-already-sent": "Potvrzovací e-mail byl již odeslán. Vyčkejte %1 minut pokud chcete odeslat další.", - "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", - "username-too-short": "Uživatelské jméno je příliš krátké", - "username-too-long": "Uživatelské jméno je příliš dlouhé", - "password-too-long": "Heslo je příliš dlouhé", - "user-banned": "Uživatel byl zakázán", - "user-banned-reason": "Sorry, this account has been banned (Reason: %1)", - "user-banned-reason-until": "Sorry, this account has been banned until %1 (Reason: %2)", - "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", - "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", - "ban-expiry-missing": "Please provide an end date for this ban", + "email-not-confirmed-chat": "Nebude schopen konverzovat, dokud nebude váš e-mail potvrzen. Pro jeho potvrzení klikněte zde.", + "email-not-confirmed-email-sent": "Vaše e-mailová schránka nebyla ještě potvrzena. Ověřte prosím vaši příchozí poštu.", + "no-email-to-confirm": "Toto fórum vyžaduje ověření e-mailové adresy. Pro zadání e-mailu, klikněte zde.", + "email-confirm-failed": "Nemohli jsme ověřit vaši e-mailovou adresu, zkuste to později.", + "confirm-email-already-sent": "Potvrzovací e-mail byl již odeslán. Vyčkejte %1 minut/y, chcete-li odeslat další.", + "sendmail-not-found": "Modul pro odeslání e-mailů nebyl nalezen. Zkontrolujte prosím, zda je nainstalován a spuštěn uživatelem, který spustil NodeBB.", + "username-too-short": "Uživatelské jméno je moc krátké", + "username-too-long": "Uživatelské jméno je moc dlouhé", + "password-too-long": "Heslo je moc dlouhé", + "user-banned": "Uživatel byl zablokován", + "user-banned-reason": "Omlouváme se, ale tento účet byl zablokován (důvod: %1)", + "user-banned-reason-until": "Omlouváme se, ale tento účet je zablokován do %1 (důvod: %2)", + "user-too-new": "Omlouváme se, ale před vytvoření vašeho prvního příspěvku musíte vyčkat %1 sekund/u/y", + "blacklisted-ip": "Omlouváme se, ale vaše adresa IP byla u této komunity zablokována. Máte-li pocit, že je to chyba, kontaktujte správce.", + "ban-expiry-missing": "Zadejte prosím datum konce této blokace", "no-category": "Kategorie neexistuje", "no-topic": "Téma neexistuje", "no-post": "Příspěvek neexistuje", "no-group": "Skupina neexistuje", "no-user": "Uživatel neexistuje", - "no-teaser": "Teaser does not exist", - "no-privileges": "Na tuto akci nemáte dostatečná práva", + "no-teaser": "Chyták neexistuje", + "no-privileges": "Na tuto akci nemáte dostatečné oprávnění.", "category-disabled": "Kategorie zakázána", - "topic-locked": "Téma uzamčeno", - "post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting", - "post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting", - "post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting", - "post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting", - "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", - "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", - "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", - "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", - "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", - "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", - "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", - "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", - "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", - "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", - "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply", + "topic-locked": "Téma uzamknuto", + "post-edit-duration-expired": "Je vám umožněno upravit příspěvky jen po %1 sekund/y od jeho vytvoření", + "post-edit-duration-expired-minutes": "Je vám umožněno upravit příspěvky jen po %1 minut/y od jeho vytvoření", + "post-edit-duration-expired-minutes-seconds": "Je vám umožněno upravit příspěvky jen po %1 minut/y a %2 sekund/y od jeho vytvoření", + "post-edit-duration-expired-hours": "Je vám umožněno upravit příspěvky jen po %1 hodin/u/y od jeho vytvoření", + "post-edit-duration-expired-hours-minutes": "Je vám umožněno upravit příspěvky jen po %1 hodin/u/y %2 minut/y od jeho vytvoření", + "post-edit-duration-expired-days": "Je vám umožněno upravit příspěvky jen po %1 den/y/ů od jeho vytvoření", + "post-edit-duration-expired-days-hours": "Je vám umožněno upravit příspěvky jen po %1 den/y/ů %2 hodin/y od jeho vytvoření", + "post-delete-duration-expired": "Je vám umožněno odstranit příspěvky jen po %1 sekund/y od jeho vytvoření", + "post-delete-duration-expired-minutes": "Je vám umožněno odstranit příspěvky jen po %1 minut/y od jeho vytvoření", + "post-delete-duration-expired-minutes-seconds": "Je vám umožněno odstranit příspěvky jen po %1 minut/y %2 sekund/y od jeho vytvoření", + "post-delete-duration-expired-hours": "Je vám umožněno odstranit příspěvky jen po %1 hodin/y od jeho vytvoření", + "post-delete-duration-expired-hours-minutes": "Je vám umožněno odstranit příspěvky jen po 1% hodin/y %2 minut/y od jeho vytvoření", + "post-delete-duration-expired-days": "Je vám umožněno odstranit příspěvky jen po 1% den/y/ů od jeho vytvoření", + "post-delete-duration-expired-days-hours": "Je vám umožněno odstranit příspěvky jen po 1% den/y/ů %2 hodin/y od jeho vytvoření", + "cant-delete-topic-has-reply": "Nemůžete odstranit vaše téma, po tom co obsahuje odpověď", "cant-delete-topic-has-replies": "Téma nelze odstranit poté, co obsahuje %1 odpovědí", - "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).", - "category-not-selected": "Category not selected.", - "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)", - "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)", - "still-uploading": "Vyčkejte, prosím, nežli se vše kompletně nahraje.", - "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file", - "guest-upload-disabled": "Guest uploading has been disabled", - "already-bookmarked": "You have already bookmarked this post", - "already-unbookmarked": "You have already unbookmarked this post", - "cant-ban-other-admins": "Nemůžete zakazovat ostatní administrátory!", - "cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin", - "cant-delete-admin": "Remove administrator privileges from this account before attempting to delete it.", - "invalid-image-type": "Invalid image type. Allowed types are: %1", - "invalid-image-extension": "Invalid image extension", - "invalid-file-type": "Invalid file type. Allowed types are: %1", - "group-name-too-short": "Název skupiny je příliš krátký", - "group-name-too-long": "Group name too long", - "group-already-exists": "Skupina už exstuje", + "content-too-short": "Zadejte prosím delší příspěvek. Každý příspěvek musí obsahovat alespoň %1 znaků.", + "content-too-long": "Zadejte kratší příspěvek. Příspěvky nesmí být delší než %1 znaků.", + "title-too-short": "Zadejte delší název. Titul by měl obsahovat nejméně %1 znaků.", + "title-too-long": "Zadejte kratší název. Titul by neměl být delší než %1 znaků.", + "category-not-selected": "Nebyla vybrána kategorie.", + "too-many-posts": "Můžete přispívat jednou za %1 sekund - vyčkejte tedy, než vytvoříte další příspěvek", + "too-many-posts-newbie": "Jako nový uživatel, můžete přispívat jednou za %1 sekund, dokud nezískáte pověst %2 - vyčkejte tedy, než vytvoříte další příspěvek", + "tag-too-short": "Zadejte delší značku. Značky by měli mít alespoň %1 znaků", + "tag-too-long": "Zadejte kratší značku. Značky nesmí být delší než %1 znaků", + "not-enough-tags": "Málo značek. Téma musí obsahovat alespoň %1 značek", + "too-many-tags": "Příliš mnoho značek. Téma nesmí mít více než %1 značek", + "still-uploading": "Vyčkejte, než se vše kompletně nahraje.", + "file-too-big": "Maximální povolená velikost je %1 kB - nahrajte menší soubor", + "guest-upload-disabled": "Nahrávání od hostů nebylo povoleno", + "already-bookmarked": "Již jste tento příspěvek zazáložkoval", + "already-unbookmarked": "Již jste u tohoto příspěvku odebral záložku", + "cant-ban-other-admins": "Nemůžete zablokovat jiné správce.", + "cant-remove-last-admin": "Jste jediným správcem. Před vlastním odebráním oprávnění správce nejdříve přidejte jiného uživatele jako správce", + "cant-delete-admin": "Před odstraněním účtu mu nejprve odeberte oprávnění správce.", + "invalid-image-type": "Neplatný typ obrázku. Povolené typy jsou: %1", + "invalid-image-extension": "Neplatná přípona obrázku", + "invalid-file-type": "Neplatný typ souboru. Povolené typy jsou: %1", + "group-name-too-short": "Název skupiny je moc krátký", + "group-name-too-long": "Název skupiny je moc dlouhý", + "group-already-exists": "Skupina už existuje", "group-name-change-not-allowed": "Změna názvu skupiny není povolena", - "group-already-member": "Already part of this group", - "group-not-member": "Not a member of this group", - "group-needs-owner": "This group requires at least one owner", - "group-already-invited": "This user has already been invited", - "group-already-requested": "Your membership request has already been submitted", - "post-already-deleted": "Tento příspěvek byl již vymazán", + "group-already-member": "Již je součástí této skupiny", + "group-not-member": "Není součástí této skupiny", + "group-needs-owner": "Tato skupina vyžaduje nejméně jednoho vlastníka", + "group-already-invited": "Tento uživatel již byl pozván", + "group-already-requested": "Váš požadavek o členství již byl odeslán", + "post-already-deleted": "Tento příspěvek byl již odstraněn", "post-already-restored": "Tento příspěvek byl již obnoven", - "topic-already-deleted": "Toto téma bylo již vymazáno", + "topic-already-deleted": "Toto téma bylo již odstraněno", "topic-already-restored": "Toto téma bylo již obnoveno", - "cant-purge-main-post": "You can't purge the main post, please delete the topic instead", - "topic-thumbnails-are-disabled": "Topic thumbnails are disabled.", + "cant-purge-main-post": "Nemůžete vymazat hlavní příspěvek, místo toho odstraňte téma", + "topic-thumbnails-are-disabled": "Miniatury témat jsou zakázány.", "invalid-file": "Neplatný soubor", "uploads-are-disabled": "Nahrávání je zakázáno", - "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).", - "cant-chat-with-yourself": "Nemůžete chatovat sami se sebou!", - "chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them", - "chat-disabled": "Chat system disabled", - "too-many-messages": "You have sent too many messages, please wait awhile.", - "invalid-chat-message": "Invalid chat message", - "chat-message-too-long": "Chat messages can not be longer than %1 characters.", - "cant-edit-chat-message": "You are not allowed to edit this message", - "cant-remove-last-user": "You can't remove the last user", - "cant-delete-chat-message": "You are not allowed to delete this message", - "already-voting-for-this-post": "You have already voted for this post.", + "signature-too-long": "Omlouváme se, ale podpis nesmí být delší než %1 znaků.", + "about-me-too-long": "Omlouváme se, ale \"O mně\" nesmí být delší než %1 znaků.", + "cant-chat-with-yourself": "Nemůžete konverzovat sami se sebou.", + "chat-restricted": "Tento uživatel má omezené konverzační zprávy. Nejdříve vás musí začít sledovat, než začnete spolu konverzovat", + "chat-disabled": "Konverzační systém zakázán", + "too-many-messages": "Odeslal/a jste příliš mnoho zpráv, vyčkejte chvíli.", + "invalid-chat-message": "Neplatná konverzační zpráva", + "chat-message-too-long": "Konverzační zprávy nemohou být delší než %1 znaků.", + "cant-edit-chat-message": "Tuto zprávu nemůžete upravit", + "cant-remove-last-user": "Posledního uživatele nemůžete vyjmout", + "cant-delete-chat-message": "Tuto zprávu nemůžete odstranit", + "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": "Downvoting is disabled", - "not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post", - "not-enough-reputation-to-flag": "You do not have enough reputation to flag this post", - "already-flagged": "You have already flagged this post", - "reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading.", + "downvoting-disabled": "Systém nesouhlasu je zakázán", + "not-enough-reputation-to-downvote": "Nemáte dostatečnou reputaci pro vyjádření nesouhlasu u tohoto příspěvku", + "not-enough-reputation-to-flag": "Pro označení tohoto příspěvku nemáte dostatečnou reputaci", + "already-flagged": "Tento příspěvek jste již označil", + "reload-failed": "Vyskytla se chyba v NodeBB při znovu načtení: \"%1\". NodeBB bude pokračovat v běhu na straně klienta, nicméně byste měl/a přenastavit zpět to, co jste udělal/a před opětovným načtením.", "registration-error": "Chyba při registraci", - "parse-error": "Something went wrong while parsing server response", - "wrong-login-type-email": "Použijte prosím Váš e-mail pro přihlášení", - "wrong-login-type-username": "Použijte prosím Váše přihlašovací jméno pro přihlášení", + "parse-error": "Při analýze odpovědi serveru nastala chyba", + "wrong-login-type-email": "Pro přihlášení použijte vaši e-mailovou adresu", + "wrong-login-type-username": "Pro přihlášení použijte vaše uživatelské jméno", "invite-maximum-met": "Již jste pozval/a maximálně možný počet lidí (%1 z %2).", - "no-session-found": "No login session found!", - "not-in-room": "User not in room", - "no-users-in-room": "No users in this room", - "cant-kick-self": "Nemůžete vyhodit sami sebe ze kupiny", - "no-users-selected": "No user(s) selected", - "invalid-home-page-route": "Invalid home page route", - "invalid-session": "Session Mismatch", - "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page." + "no-session-found": "Nebyla nalezena relace s přihlášením.", + "not-in-room": "Uživatel není přítomen v místnosti", + "no-users-in-room": "Žádní uživatelé v této místnosti", + "cant-kick-self": "Nemůžete vyhodit sami sebe ze skupiny", + "no-users-selected": "Žádný uživatel/é nebyl/y vybrán/i", + "invalid-home-page-route": "Neplatná cesta k domovské stránkce", + "invalid-session": "Nesoulad v relacích", + "invalid-session-text": "Zdá se, že vše relace s přihlášením již není aktivní nebo již neodpovídá s relací na serveru. Obnovte prosím tuto stránku." } \ No newline at end of file diff --git a/public/language/cs/flags.json b/public/language/cs/flags.json index aea0e868e4..78d15bf1e7 100644 --- a/public/language/cs/flags.json +++ b/public/language/cs/flags.json @@ -1,60 +1,60 @@ { - "state": "State", - "reporter": "Reporter", - "reported-at": "Reported At", - "description": "Description", - "no-flags": "Hooray! No flags found.", - "assignee": "Assignee", - "update": "Update", - "updated": "Updated", - "target-purged": "The content this flag referred to has been purged and is no longer available.", + "state": "Stav", + "reporter": "Nahlásil", + "reported-at": "Nahlásil v", + "description": "Popis", + "no-flags": "Hurá, žádné označení.", + "assignee": "Nabyvatel", + "update": "Aktualizovat", + "updated": "Aktualizováno", + "target-purged": "Obsah, na který se toto označení vztahuje, byl vymazán a již není k dispozici.", - "quick-filters": "Quick Filters", - "filter-active": "There are one or more filters active in this list of flags", - "filter-reset": "Remove Filters", - "filters": "Filter Options", - "filter-reporterId": "Reporter UID", - "filter-targetUid": "Flagged UID", - "filter-type": "Flag Type", - "filter-type-all": "All Content", - "filter-type-post": "Post", - "filter-state": "State", - "filter-assignee": "Assignee UID", - "filter-cid": "Category", - "filter-quick-mine": "Assigned to me", - "filter-cid-all": "All categories", - "apply-filters": "Apply Filters", + "quick-filters": "Rychlé filtry", + "filter-active": "V tomto seznamu označení je jeden nebo více aktivních filtrů", + "filter-reset": "Vyjmout filtry", + "filters": "Možnosti filtru", + "filter-reporterId": "UID ohlašovatele", + "filter-targetUid": "UID označení", + "filter-type": "Typ označení", + "filter-type-all": "Všechen obsah", + "filter-type-post": "Příspěvek", + "filter-state": "Stav", + "filter-assignee": "UID nabyvatele", + "filter-cid": "Kategorie", + "filter-quick-mine": "Přiřazeno mě", + "filter-cid-all": "Všechny kategorie", + "apply-filters": "Použít filtry", - "quick-links": "Quick Links", - "flagged-user": "Flagged User", - "view-profile": "View Profile", - "start-new-chat": "Start New Chat", - "go-to-target": "View Flag Target", + "quick-links": "Rychlé odkazy", + "flagged-user": "Označený uživatel", + "view-profile": "Zobrazit profil", + "start-new-chat": "Začít novou konverzaci", + "go-to-target": "Zobrazit cílové označení", - "user-view": "View Profile", - "user-edit": "Edit Profile", + "user-view": "Zobrazit profil", + "user-edit": "Upravit profil", - "notes": "Flag Notes", - "add-note": "Add Note", - "no-notes": "No shared notes.", + "notes": "Poznámky označení", + "add-note": "Přidat poznámku", + "no-notes": "Žádné sdílené poznámky.", - "history": "Flag History", - "back": "Back to Flags List", - "no-history": "No flag history.", + "history": "Historie označení", + "back": "Zpět k seznamu označení", + "no-history": "Žádná historie označení.", - "state-all": "All states", - "state-open": "New/Open", - "state-wip": "Work in Progress", - "state-resolved": "Resolved", - "state-rejected": "Rejected", - "no-assignee": "Not Assigned", - "note-added": "Note Added", + "state-all": "Všechny stavy", + "state-open": "Nové/Otevřít", + "state-wip": "Pracujeme na tom", + "state-resolved": "Vyřešeno", + "state-rejected": "Zamítnuto", + "no-assignee": "Nepřiřazeno", + "note-added": "Poznámka přidána", - "modal-title": "Report Inappropriate Content", - "modal-body": "Please specify your reason for flagging %1 %2 for review. Alternatively, use one of the quick report buttons if applicable.", + "modal-title": "Nahlásit nevhodný obsah", + "modal-body": "Zadejte váš důvod k označení %1 %2 pro kontrolu. Nebo použijte tlačítko je-li dostupné.", "modal-reason-spam": "Spam", - "modal-reason-offensive": "Offensive", - "modal-reason-custom": "Důvod nahlášení tohoto obsahu…", - "modal-submit": "Submit Report", - "modal-submit-success": "Content has been flagged for moderation." + "modal-reason-offensive": "Urážlivé", + "modal-reason-custom": "Důvod ohlášení tohoto obsahu…", + "modal-submit": "Předat hlášení", + "modal-submit-success": "Obsah byl označen pro moderaci." } \ No newline at end of file diff --git a/public/language/cs/user.json b/public/language/cs/user.json index 02c92e06f4..c096bbde85 100644 --- a/public/language/cs/user.json +++ b/public/language/cs/user.json @@ -33,11 +33,11 @@ "chat": "Chat", "chat_with": "Pokračovat v chatu s %1", "new_chat_with": "Začít nový chat s %1", - "flag-profile": "Flag Profile", + "flag-profile": "Označit profil", "follow": "Sledovat", "unfollow": "Nesledovat", "more": "Více", - "profile_update_success": "Profil byl úspěšně aktualizován!", + "profile_update_success": "Profil byl úspěšně aktualizován.", "change_picture": "Změnit obrázek", "change_username": "Změnit uživatelské jméno", "change_email": "Změnit e-mail", @@ -50,11 +50,11 @@ "current_password": "Současné heslo", "change_password": "Změnit heslo", "change_password_error": "Neplatné heslo", - "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é!", + "change_password_error_wrong_current": "Aktuální 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 oprávnění toto heslo změnit.", + "change_password_success": "Heslo bylo aktualizováno.", "confirm_password": "Potvrzení hesla", "password": "Heslo", "username_taken_workaround": "Zvolené uživatelské jméno je již zabrané, takže jsme ho trochu upravili. Nyní jste znám jako %1", @@ -89,7 +89,7 @@ "has_no_upvoted_posts": "This user hasn't upvoted any posts yet.", "has_no_downvoted_posts": "This user hasn't downvoted any posts yet.", "has_no_voted_posts": "Tento uživatel nemá žádné hlasovací příspěvky", - "email_hidden": "E-mail skryt", + "email_hidden": "E-mail je skryt", "hidden": "skrytý", "paginate_description": "Stránkovat témata a příspěvky místo použití nekonečného posunování", "topics_per_page": "Témat na stránce", @@ -103,29 +103,29 @@ "browsing": "Nastavení prohlížení", "open_links_in_new_tab": "Otevřít odchozí odkaz v nové záložce", "enable_topic_searching": "Povolit vyhledávání v tématu", - "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", + "topic_search_help": "Je-li povoleno, hledání v tématu přepíše výchozí chování vyhledávání v prohlížeči a umožní vám prohledávat celé téma, namísto pouze toho, co je zobrazeno na obrazovce", "delay_image_loading": "Zpoždění načtení obrázku", - "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", + "image_load_delay_help": "Je-li povoleno, obrázky v tématech se nebudou načítat, dokud nebude proveden posun do zobrazení", "scroll_to_my_post": "Po odeslání odpovědi, zobrazit nový příspěvek", "follow_topics_you_reply_to": "Sledovat témata, do kterých přispějete", "follow_topics_you_create": "Sledovat témata, která vytvoříte", "grouptitle": "Nadpis skupiny", "no-group-title": "Žádný nadpis skupiny", - "select-skin": "Vybrat skin", + "select-skin": "Vybrat vzhled", "select-homepage": "Vybrat domovskou stránku", "homepage": "Domovská stránka", "homepage_description": "Vyberte stránku, která má být domovskou stránkou fóra nebo vyberte 'Nic' a bude použita výchozí domovská stránka.", - "custom_route": "Custom Homepage Route", - "custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")", - "sso.title": "Single Sign-on Services", - "sso.associated": "Associated with", - "sso.not-associated": "Click here to associate with", - "info.latest-flags": "Latest Flags", - "info.no-flags": "No Flagged Posts Found", - "info.ban-history": "Poslední historie banování", - "info.no-ban-history": "Tento uživatel nebyl nikdy zabanován", - "info.banned-until": "Zabanován do %1", - "info.banned-permanently": "Permanentně zabanován", + "custom_route": "Cesta k uživatelské domovské stránce", + "custom_route_help": "Zde zadejte název cesty - bez předcházejícího lomítka (např.: \"Poslední\" nebo \"oblíbené\")", + "sso.title": "Služby jednotného přihlášení", + "sso.associated": "Přiřazeno k", + "sso.not-associated": "Zde klikněte pro přiřazení k", + "info.latest-flags": "Poslední označené", + "info.no-flags": "Nebyly nalezeny žádné označené příspěvky", + "info.ban-history": "Poslední historie blokovaných", + "info.no-ban-history": "Tento uživatel nebyl nikdy zablokován", + "info.banned-until": "Zablokován do %1", + "info.banned-permanently": "Trvale zablokován", "info.banned-reason-label": "Důvod", "info.banned-no-reason": "Bez důvodu", "info.username-history": "Historie uživatelského jména", From 0ecd2300b361100950ab5ca06f81f1c0d573b25c Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 1 Aug 2017 10:12:05 -0400 Subject: [PATCH 06/35] Closes #5849 --- public/src/client/account/edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/src/client/account/edit.js b/public/src/client/account/edit.js index dd8cbd8406..0f9ae7cf96 100644 --- a/public/src/client/account/edit.js +++ b/public/src/client/account/edit.js @@ -186,7 +186,7 @@ define('forum/account/edit', ['forum/account/header', 'translator', 'components' function handleImageUpload(modal) { function onUploadComplete(urlOnServer) { - urlOnServer = config.relative_path + urlOnServer + '?' + Date.now(); + urlOnServer = (!urlOnServer.startsWith('http') ? config.relative_path : '') + urlOnServer + '?' + Date.now(); updateHeader(urlOnServer); From 4ac8d29f060d4208afbfc15a11f9e447549cd149 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Tue, 1 Aug 2017 13:17:03 -0400 Subject: [PATCH 07/35] closes #5847 --- src/middleware/user.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/middleware/user.js b/src/middleware/user.js index 6b0abaf5b0..b80b91fea3 100644 --- a/src/middleware/user.js +++ b/src/middleware/user.js @@ -166,7 +166,13 @@ module.exports = function (middleware) { return next(); } - req.session.returnTo = req.path.replace(/^\/api/, ''); + var returnTo = req.path; + if (nconf.get('relative_path')) { + returnTo = req.path.replace(new RegExp('^' + nconf.get('relative_path')), ''); + } + returnTo = returnTo.replace(/^\/api/, ''); + + req.session.returnTo = nconf.get('relative_path') + returnTo; req.session.forceLogin = 1; if (res.locals.isAPI) { res.status(401).json({}); From 9dc0069ce74682eb2d7a20d1b562b57863e2ff8a Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Tue, 1 Aug 2017 14:09:55 -0400 Subject: [PATCH 08/35] closes #5845 --- package.json | 2 +- src/user.js | 5 ----- src/user/data.js | 5 +++++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 26825c5f7e..79c002a098 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "nodebb-plugin-spam-be-gone": "0.5.0", "nodebb-rewards-essentials": "0.0.9", "nodebb-theme-lavender": "4.0.5", - "nodebb-theme-persona": "5.0.16", + "nodebb-theme-persona": "5.0.18", "nodebb-theme-slick": "1.1.0", "nodebb-theme-vanilla": "6.0.13", "nodebb-widget-essentials": "3.0.1", diff --git a/src/user.js b/src/user.js index db265f76bc..577afee7a4 100644 --- a/src/user.js +++ b/src/user.js @@ -88,11 +88,6 @@ User.getUsersWithFields = function (uids, fields, uid, callback) { user.banned = parseInt(user.banned, 10) === 1; } - if (user.hasOwnProperty('banned:expire')) { - user.banned_until = parseInt(user['banned:expire'], 10) || 0; - user.banned_until_readable = user.banned_until ? new Date(user.banned_until).toString() : 'Not Banned'; - } - if (user.hasOwnProperty(['email:confirmed'])) { user['email:confirmed'] = parseInt(user['email:confirmed'], 10) === 1; } diff --git a/src/user/data.js b/src/user/data.js index 3c79a9095f..a0e89924af 100644 --- a/src/user/data.js +++ b/src/user/data.js @@ -168,6 +168,11 @@ module.exports = function (User) { if (user.hasOwnProperty('lastonline')) { user.lastonlineISO = utils.toISOString(user.lastonline) || user.joindateISO; } + + if (user.hasOwnProperty('banned:expire')) { + user.banned_until = parseInt(user['banned:expire'], 10) || 0; + user.banned_until_readable = user.banned_until ? new Date(user.banned_until).toString() : 'Not Banned'; + } }); plugins.fireHook('filter:users.get', users, callback); From c0861277de3c549846ca5935f557fb1eb7a6dfae Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Tue, 1 Aug 2017 14:36:55 -0400 Subject: [PATCH 09/35] closes #5775 --- package.json | 4 ++-- src/controllers/mods.js | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 79c002a098..ebaaa2e724 100644 --- a/package.json +++ b/package.json @@ -65,9 +65,9 @@ "nodebb-plugin-spam-be-gone": "0.5.0", "nodebb-rewards-essentials": "0.0.9", "nodebb-theme-lavender": "4.0.5", - "nodebb-theme-persona": "5.0.18", + "nodebb-theme-persona": "5.0.19", "nodebb-theme-slick": "1.1.0", - "nodebb-theme-vanilla": "6.0.13", + "nodebb-theme-vanilla": "6.0.14", "nodebb-widget-essentials": "3.0.1", "nodemailer": "2.6.4", "nodemailer-sendmail-transport": "1.0.0", diff --git a/src/controllers/mods.js b/src/controllers/mods.js index 98990e97ba..51d66dda30 100644 --- a/src/controllers/mods.js +++ b/src/controllers/mods.js @@ -110,6 +110,12 @@ modsController.flags.detail = function (req, res, next) { return next(new Error('[[error:no-privileges]]')); } + if (results.flagData.type === 'user') { + results.flagData.type_path = 'uid'; + } else if (results.flagData.type === 'post') { + results.flagData.type_path = 'post'; + } + res.render('flags/detail', Object.assign(results.flagData, { assignees: results.assignees, type_bool: ['post', 'user', 'empty'].reduce(function (memo, cur) { From 0cf1fbceffa7cb2dd99b564f42b96ac276df7226 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 1 Aug 2017 16:22:54 -0400 Subject: [PATCH 10/35] added moderator tools to tracked language strings, closes NodeBB/nodebb-theme-persona/370 --- public/language/en-GB/pages.json | 1 + 1 file changed, 1 insertion(+) diff --git a/public/language/en-GB/pages.json b/public/language/en-GB/pages.json index 5efa686fc3..d34a370480 100644 --- a/public/language/en-GB/pages.json +++ b/public/language/en-GB/pages.json @@ -6,6 +6,7 @@ "popular-month": "Popular topics this month", "popular-alltime": "All time popular topics", "recent": "Recent Topics", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", From bb11d286cecc796f4fc93915059ac0b978458177 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 1 Aug 2017 16:26:20 -0400 Subject: [PATCH 11/35] up themes --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index ebaaa2e724..09b8d4dfe3 100644 --- a/package.json +++ b/package.json @@ -65,9 +65,9 @@ "nodebb-plugin-spam-be-gone": "0.5.0", "nodebb-rewards-essentials": "0.0.9", "nodebb-theme-lavender": "4.0.5", - "nodebb-theme-persona": "5.0.19", + "nodebb-theme-persona": "5.0.20", "nodebb-theme-slick": "1.1.0", - "nodebb-theme-vanilla": "6.0.14", + "nodebb-theme-vanilla": "6.0.15", "nodebb-widget-essentials": "3.0.1", "nodemailer": "2.6.4", "nodemailer-sendmail-transport": "1.0.0", From e071f94173f6370e34e155a29eb601e7aa6ac7d6 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Tue, 1 Aug 2017 16:51:17 -0400 Subject: [PATCH 12/35] test debugParams.js --- src/meta/debugParams.js | 7 ++++--- test/meta.js | 10 ++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/meta/debugParams.js b/src/meta/debugParams.js index 952dc8dd04..6b84500bff 100644 --- a/src/meta/debugParams.js +++ b/src/meta/debugParams.js @@ -1,7 +1,8 @@ 'use strict'; -module.exports = function () { - var debugArg = process.execArgv.find(function (arg) { +module.exports = function (execArgv) { + execArgv = execArgv || process.execArgv; + var debugArg = execArgv.find(function (arg) { return /^--(debug|inspect)/.test(arg); }); if (global.v8debug || debugArg) { @@ -11,5 +12,5 @@ module.exports = function () { return { execArgv: [debugArg[0] + '=' + num, '--nolazy'] }; } - return { execArgv: [] }; + return { execArgv: [] }; }; diff --git a/test/meta.js b/test/meta.js index 9338580274..539cb57c98 100644 --- a/test/meta.js +++ b/test/meta.js @@ -275,4 +275,14 @@ describe('meta', function () { }); }); }); + + describe('debug params', function () { + it('should return fork arguments for debug', function (done) { + var debugParams = require('../src/meta/debugParams'); + var data = debugParams(['--debug=5858', '--foo=1']); + assert.equal(data.execArgv[0], '--debug=5859'); + assert.equal(data.execArgv[1], '--nolazy'); + done(); + }); + }); }); From 88e0ee4ffe602a08f8db3dd69c1ac958e18c19c0 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Wed, 2 Aug 2017 09:23:39 +0000 Subject: [PATCH 13/35] Latest translations and fallbacks --- public/language/ar/admin/settings/user.json | 4 +- public/language/ar/pages.json | 1 + public/language/bg/admin/settings/user.json | 4 +- public/language/bg/pages.json | 1 + public/language/bn/admin/settings/user.json | 4 +- public/language/bn/pages.json | 1 + public/language/cs/admin/settings/user.json | 4 +- public/language/cs/groups.json | 18 +++--- public/language/cs/notifications.json | 8 +-- public/language/cs/pages.json | 45 +++++++------- public/language/cs/recent.json | 4 +- public/language/cs/register.json | 8 +-- public/language/cs/reset_password.json | 4 +- public/language/cs/search.json | 28 ++++----- public/language/cs/success.json | 2 +- public/language/cs/tags.json | 10 ++-- public/language/cs/topic.json | 58 +++++++++---------- public/language/cs/unread.json | 2 +- public/language/cs/uploads.json | 6 +- public/language/cs/user.json | 48 +++++++-------- public/language/da/admin/settings/user.json | 4 +- public/language/da/pages.json | 1 + public/language/de/admin/settings/user.json | 4 +- public/language/de/pages.json | 1 + public/language/el/admin/settings/user.json | 4 +- public/language/el/pages.json | 1 + .../language/en-US/admin/settings/user.json | 4 +- public/language/en-US/pages.json | 1 + .../en-x-pirate/admin/settings/user.json | 4 +- public/language/en-x-pirate/pages.json | 1 + public/language/es/admin/settings/user.json | 4 +- public/language/es/pages.json | 1 + public/language/et/admin/settings/user.json | 4 +- public/language/et/pages.json | 1 + .../language/fa-IR/admin/settings/user.json | 4 +- public/language/fa-IR/pages.json | 1 + public/language/fi/admin/settings/user.json | 4 +- public/language/fi/pages.json | 1 + public/language/fr/admin/extend/plugins.json | 2 +- .../language/fr/admin/general/dashboard.json | 4 +- .../language/fr/admin/settings/uploads.json | 6 +- public/language/fr/admin/settings/user.json | 4 +- public/language/fr/pages.json | 1 + public/language/gl/admin/settings/user.json | 4 +- public/language/gl/pages.json | 1 + public/language/he/admin/settings/user.json | 4 +- public/language/he/pages.json | 1 + public/language/hr/admin/settings/user.json | 4 +- public/language/hr/pages.json | 1 + public/language/hu/admin/settings/user.json | 4 +- public/language/hu/pages.json | 1 + public/language/id/admin/settings/user.json | 4 +- public/language/id/pages.json | 1 + public/language/it/admin/settings/user.json | 4 +- public/language/it/pages.json | 1 + public/language/ja/admin/settings/user.json | 4 +- public/language/ja/pages.json | 1 + public/language/ko/admin/settings/user.json | 4 +- public/language/ko/pages.json | 1 + public/language/lt/admin/settings/user.json | 4 +- public/language/lt/pages.json | 1 + public/language/ms/admin/settings/user.json | 4 +- public/language/ms/pages.json | 1 + public/language/nb/admin/settings/user.json | 4 +- public/language/nb/pages.json | 1 + public/language/nl/admin/settings/user.json | 4 +- public/language/nl/pages.json | 1 + public/language/pl/admin/settings/user.json | 4 +- public/language/pl/pages.json | 1 + .../language/pt-BR/admin/extend/plugins.json | 2 +- .../pt-BR/admin/general/dashboard.json | 4 +- .../pt-BR/admin/settings/uploads.json | 6 +- .../language/pt-BR/admin/settings/user.json | 4 +- public/language/pt-BR/pages.json | 1 + .../language/pt-PT/admin/settings/user.json | 4 +- public/language/pt-PT/pages.json | 1 + public/language/ro/admin/settings/user.json | 4 +- public/language/ro/pages.json | 1 + public/language/ru/admin/settings/user.json | 4 +- public/language/ru/pages.json | 1 + public/language/rw/admin/settings/user.json | 4 +- public/language/rw/pages.json | 1 + public/language/sc/admin/settings/user.json | 4 +- public/language/sc/pages.json | 1 + public/language/sk/admin/settings/user.json | 4 +- public/language/sk/pages.json | 1 + public/language/sl/admin/settings/user.json | 4 +- public/language/sl/pages.json | 1 + public/language/sr/admin/settings/user.json | 4 +- public/language/sr/pages.json | 1 + public/language/sv/admin/settings/user.json | 4 +- public/language/sv/pages.json | 1 + public/language/th/admin/settings/user.json | 4 +- public/language/th/pages.json | 1 + public/language/tr/admin/settings/user.json | 4 +- public/language/tr/pages.json | 1 + public/language/uk/admin/settings/user.json | 4 +- public/language/uk/pages.json | 1 + public/language/vi/admin/settings/user.json | 4 +- public/language/vi/pages.json | 1 + .../language/zh-CN/admin/extend/plugins.json | 2 +- .../zh-CN/admin/general/dashboard.json | 2 +- .../zh-CN/admin/settings/uploads.json | 6 +- .../language/zh-CN/admin/settings/user.json | 4 +- public/language/zh-CN/pages.json | 1 + .../language/zh-TW/admin/settings/user.json | 4 +- public/language/zh-TW/pages.json | 1 + 107 files changed, 309 insertions(+), 180 deletions(-) diff --git a/public/language/ar/admin/settings/user.json b/public/language/ar/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/ar/admin/settings/user.json +++ b/public/language/ar/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/ar/pages.json b/public/language/ar/pages.json index c978c623b3..4beb6487c3 100644 --- a/public/language/ar/pages.json +++ b/public/language/ar/pages.json @@ -6,6 +6,7 @@ "popular-month": "المواضيع الشائعة هذا الشهر", "popular-alltime": "المواضيع الشائعة منذ القدم", "recent": "المواضيع الحديثة", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "اﻷعضاء المتصلون", diff --git a/public/language/bg/admin/settings/user.json b/public/language/bg/admin/settings/user.json index 294ee7939a..c0e975323f 100644 --- a/public/language/bg/admin/settings/user.json +++ b/public/language/bg/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Забраняване на промяната на е-пощата", "disable-password-changes": "Забраняване на промяната на паролата", "allow-account-deletion": "Позволяване на изтриването на профила", - "user-info-private": "Потребителската информация да бъде частна", + "user-info-private": "Скриване на списъка от потребители и данните от гостите.", + "hide-fullname": "Скриване на пълното име от потребителите", + "hide-email": "Скриване на е-пощата от потребителите", "themes": "Теми", "disable-user-skins": "Потребителите да не могат да избират собствен облик", "account-protection": "Защита на акаунта", diff --git a/public/language/bg/pages.json b/public/language/bg/pages.json index 39def92b24..aa5be14aa6 100644 --- a/public/language/bg/pages.json +++ b/public/language/bg/pages.json @@ -6,6 +6,7 @@ "popular-month": "Популярните теми този месец", "popular-alltime": "Популярните теми за всички времена", "recent": "Скорошни теми", + "moderator-tools": "Модераторски инструменти", "flagged-content": "Докладвано съдържание", "ip-blacklist": "Черен списък за IP адреси", "users/online": "Потребители на линия", diff --git a/public/language/bn/admin/settings/user.json b/public/language/bn/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/bn/admin/settings/user.json +++ b/public/language/bn/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/bn/pages.json b/public/language/bn/pages.json index e08fb8f743..d3e8144063 100644 --- a/public/language/bn/pages.json +++ b/public/language/bn/pages.json @@ -6,6 +6,7 @@ "popular-month": "Popular topics this month", "popular-alltime": "All time popular topics", "recent": "সাম্প্রতিক টপিক", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Online Users", diff --git a/public/language/cs/admin/settings/user.json b/public/language/cs/admin/settings/user.json index ae13549aab..c91c6cfbec 100644 --- a/public/language/cs/admin/settings/user.json +++ b/public/language/cs/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Zakázat změnu e-mailu", "disable-password-changes": "Zakázat změnu hesla", "allow-account-deletion": "Povolit smazání účtu", - "user-info-private": "Informace o uživateli jsou soukromé", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Témata", "disable-user-skins": "Zabránit uživateli ve výběru vlastního vzhledu", "account-protection": "Ochrana účtu", diff --git a/public/language/cs/groups.json b/public/language/cs/groups.json index 5b2b89412a..55d8a80948 100644 --- a/public/language/cs/groups.json +++ b/public/language/cs/groups.json @@ -1,6 +1,6 @@ { "groups": "Skupiny", - "view_group": "Prohlédnout skupinu", + "view_group": "Zobrazit skupinu", "owner": "Vlastník skupiny", "new_group": "Vytvořit novou skupinu", "no_groups_found": "Žádné skupiny k prohlížení", @@ -27,8 +27,8 @@ "details.disableJoinRequests": "Zakázat žádosti o připojení", "details.grant": "Přidat/Zrušit vlastnictví", "details.kick": "Vyhodit", - "details.kick_confirm": "Are you sure you want to remove this member from the group?", - "details.owner_options": "Administrátor skupiny", + "details.kick_confirm": "Jste si jist/a, že chcete vyjmout tohoto uživatele ze skupiny?", + "details.owner_options": "Správa skupiny", "details.group_name": "Název skupiny", "details.member_count": "Počet členů", "details.creation_date": "Datum vytvoření", @@ -38,11 +38,11 @@ "details.change_colour": "Změnit barvu", "details.badge_text": "Text odznaku", "details.userTitleEnabled": "Zobrazit odznak", - "details.private_help": "Pokud je povoleno, připojování do skupin vyžaduje schválení od vlastníka skupiny", + "details.private_help": "Je-li povoleno, připojování do skupin vyžaduje schválení od vlastníka skupiny", "details.hidden": "Skrytý", - "details.hidden_help": "Pokud je povoleno, tato skupina nebude zobrazena v seznamu skupin, uživatelé budou muset být pozváni manuálně", + "details.hidden_help": "Je-li povoleno, tato skupina nebude zobrazena v seznamu skupin, uživatelé budou muset být pozváni ručně", "details.delete_group": "Odstranit skupinu", - "details.private_system_help": "Soukromé skupiny jsou zakázáné na systémové úrovni, tato možnost nic nedělá", + "details.private_system_help": "Soukromé skupiny jsou zakázány na systémové úrovni, tato možnost nebude mít žádný vliv", "event.updated": "Podrobnosti skupiny byly aktualizovány", "event.deleted": "Skupina \"%1\" byla odstraněna", "membership.accept-invitation": "Přijmout pozvání", @@ -52,7 +52,7 @@ "membership.reject": "Odmítnout", "new-group.group_name": "Název skupiny:", "upload-group-cover": "Nahrát titulní obrázek skupiny", - "bulk-invite-instructions": "Enter a list of comma separated usernames to invite to this group", - "bulk-invite": "Bulk Invite", - "remove_group_cover_confirm": "Are you sure you want to remove the cover picture?" + "bulk-invite-instructions": "Pro pozvání do skupiny, zadejte jména uživatelů oddělených čárkou", + "bulk-invite": "Hromadná pozvánka", + "remove_group_cover_confirm": "Jste si jist/a, že chcete smazat obrázek?" } \ No newline at end of file diff --git a/public/language/cs/notifications.json b/public/language/cs/notifications.json index 395917d382..309bd13e3f 100644 --- a/public/language/cs/notifications.json +++ b/public/language/cs/notifications.json @@ -13,12 +13,12 @@ "all": "Vše", "topics": "Témata", "replies": "Odpovědi", - "chat": "Chaty", + "chat": "Konverzace", "follows": "Sledování", "upvote": "Souhlasy", - "new-flags": "Nové štítky", - "my-flags": "Šítky přiřazené mě", - "bans": "Bany", + "new-flags": "Nové označení", + "my-flags": "Označení přiřazené mě", + "bans": "Blokace", "new_message_from": "Nová zpráva od %1", "upvoted_your_post_in": "%1 has upvoted your post in %2.", "upvoted_your_post_in_dual": "%1 and %2 have upvoted your post in %3.", diff --git a/public/language/cs/pages.json b/public/language/cs/pages.json index 99962b5908..19b043c11b 100644 --- a/public/language/cs/pages.json +++ b/public/language/cs/pages.json @@ -5,18 +5,19 @@ "popular-week": "Oblíbená témata pro tento týden", "popular-month": "Oblíbená témata pro tento měsíc", "popular-alltime": "Oblíbená témata za celou dobu", - "recent": "Současná témata", + "recent": "Aktuální témata", + "moderator-tools": "Moderator Tools", "flagged-content": "Nahlášený obsah", "ip-blacklist": "Černá listina IP adres", - "users/online": "Uživatelé online", + "users/online": "Připojení uživatelé", "users/latest": "Nejnovější uživatelé", "users/sort-posts": "Uživatelé s nejvíce příspěvky", - "users/sort-reputation": "Uživatelé s nejlepší reputací", + "users/sort-reputation": "Uživatelé s nejvyšší reputací", "users/banned": "Zablokovaní uživatelé", - "users/most-flags": "Most flagged users", - "users/search": "Hledání uživatele", + "users/most-flags": "Nejoznačovanější uživatelé", + "users/search": "Hledat uživatele", "notifications": "Upozornění", - "tags": "Tagy", + "tags": "Značky", "tag": "Téma označeno pod \"%1\"", "register": "Zaregistrovat účet", "registration-complete": "Registrace dokončena", @@ -25,28 +26,28 @@ "categories": "Kategorie", "groups": "Skupiny", "group": "%1 skupina", - "chats": "Chaty", - "chat": "Chatovat s %1", - "flags": "Flags", - "flag-details": "Flag %1 Details", - "account/edit": "Editing \"%1\"", - "account/edit/password": "Editing password of \"%1\"", - "account/edit/username": "Editing username of \"%1\"", - "account/edit/email": "Editing email of \"%1\"", - "account/info": "Account Info", - "account/following": "People %1 follows", + "chats": "Konverzace", + "chat": "Konverzace s %1", + "flags": "Označení", + "flag-details": "Detaily označení %1", + "account/edit": "Úprava \"%1\"", + "account/edit/password": "Úprava hesla \"%1\"", + "account/edit/username": "Úprava jména uživatele \"%1\"", + "account/edit/email": "Úprava e-mailu \"%1\"", + "account/info": "Informace o účtu", + "account/following": "Sleduje %1 lidí", "account/followers": "Lidé kteří sledují %1", "account/posts": "Příspěvky od %1", "account/topics": "Příspěvky vytvořeny uživatelem %1", "account/groups": "%1's skupiny", - "account/bookmarks": "%1's Bookmarked Posts", + "account/bookmarks": "%1's zazáložkované příspěvky", "account/settings": "Uživatelské nastavení", "account/watched": "Témata sledovaná uživatelem %1", - "account/upvoted": "Posts upvoted by %1", - "account/downvoted": "Posts downvoted by %1", + "account/upvoted": "Souhlasí s příspěvkem %1", + "account/downvoted": "Nesouhlasí s příspěvkem %1", "account/best": "Nejlepší příspěvky od %1", "confirm": "E-mail potvrzen", - "maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.", - "maintenance.messageIntro": "Additionally, the administrator has left this message:", - "throttled.text": "%1 je v současnou chvíli nedostupný pro velkou zátěž. Prosíme zkuste to za chvíli." + "maintenance.text": "%1 momentálně prochází údržbou. Vraťte se později.", + "maintenance.messageIntro": "Správce zanechal tuto zprávu:", + "throttled.text": "%1 je v současnou chvíli nedostupný pro velkou zátěž. Zkuste to později." } \ No newline at end of file diff --git a/public/language/cs/recent.json b/public/language/cs/recent.json index 68867fe0a5..34c0235f91 100644 --- a/public/language/cs/recent.json +++ b/public/language/cs/recent.json @@ -7,7 +7,7 @@ "alltime": "Pořád", "no_recent_topics": "Nebyly nalezeny žádné nové téma.", "no_popular_topics": "Žádná oblíbená téma.", - "there-is-a-new-topic": "K dispozici je nová téma.", + "there-is-a-new-topic": "K dispozici je nové téma.", "there-is-a-new-topic-and-a-new-post": "K dispozici je nové téma a nový příspěvěk.", "there-is-a-new-topic-and-new-posts": "K dispozici je nové téma a %1 nových příspěvků.", "there-are-new-topics": "K dispozici je %1 nových témat.", @@ -15,5 +15,5 @@ "there-are-new-topics-and-new-posts": "K dispozici je %1 nových témat a %2 nových příspěvků.", "there-is-a-new-post": "K dispozici je nový příspěvek.", "there-are-new-posts": "K dispozici je %1 nových příspěvků.", - "click-here-to-reload": "Kliknutím sem znovu načtete." + "click-here-to-reload": "Kliknutím sem znovu načtete stránku." } \ No newline at end of file diff --git a/public/language/cs/register.json b/public/language/cs/register.json index fccff9ac25..2d4c449794 100644 --- a/public/language/cs/register.json +++ b/public/language/cs/register.json @@ -2,7 +2,7 @@ "register": "Registrace", "cancel_registration": "Zrušit registraci", "help.email": "Ve výchozím nastavení bude váš e-mail skrytý.", - "help.username_restrictions": "Jedinečné uživatelské jméno dlouhé %1 až %2 znaků. Ostatní uživatelé Vás mohou zmínit jako @uživatelské-jméno.", + "help.username_restrictions": "Jedinečné uživatelské jméno dlouhé %1 až %2 znaků. Ostatní uživatelé Vás mohou zmínit jako @uživatelské jméno.", "help.minimum_password_length": "Délka vašeho hesla musí být alespoň %1 znaků.", "email_address": "E-mailová adresa", "email_address_placeholder": "Zadejte e-mailovou adresu", @@ -16,8 +16,8 @@ "alternative_registration": "Jiný způsob registrace", "terms_of_use": "Podmínky", "agree_to_terms_of_use": "Souhlasím s Podmínkami", - "terms_of_use_error": "You must agree to the Terms of Use", + "terms_of_use_error": "Musíte souhlasit s podmínkami.", "registration-added-to-queue": "Vaše registrace byla přidána do fronty. Obdržíte e-mail až ji správce schválí.", - "interstitial.intro": "We require some additional information before we can create your account.", - "interstitial.errors-found": "We could not complete your registration:" + "interstitial.intro": "Před vytvořením účtu vyžadujeme některé dodatečné informace.", + "interstitial.errors-found": "Nebylo možné dokončit vaší registraci:" } \ No newline at end of file diff --git a/public/language/cs/reset_password.json b/public/language/cs/reset_password.json index 288550bd87..232b6fd5b8 100644 --- a/public/language/cs/reset_password.json +++ b/public/language/cs/reset_password.json @@ -2,7 +2,7 @@ "reset_password": "Obnovit heslo", "update_password": "Upravit heslo", "password_changed.title": "Heslo změněno", - "password_changed.message": "

Heslo bylo úspěšně změněno, přihlaste se znovu prosím.", + "password_changed.message": "

Heslo bylo úspěšně změněno, přihlaste se znovu.", "wrong_reset_code.title": "Špatný kód", "wrong_reset_code.message": "Byl zadán špatný kód. Zadejte ho prosím znovu, nebo si nechte poslat nový.", "new_password": "Nové heslo", @@ -10,7 +10,7 @@ "enter_email": "Zadejte svou e-mailovou adresu a my vám pošleme informace, jak můžete obnovit svůj účet.", "enter_email_address": "Zadejte e-mailovou adresu", "password_reset_sent": "Obnova hesla odeslána", - "invalid_email": "Neplatný e-mail / E-mail neexistuje!", + "invalid_email": "Neplatný e-mail / E-mail neexistuje.", "password_too_short": "Zadané heslo je příliš krátké, zvolte si prosím jiné.", "passwords_do_not_match": "Vámi zadaná hesla se neshodují.", "password_expired": "Platnost Vašeho hesla vypršela, zvolte si prosím nové." diff --git a/public/language/cs/search.json b/public/language/cs/search.json index 7500385c23..bb6f0b8cfa 100644 --- a/public/language/cs/search.json +++ b/public/language/cs/search.json @@ -1,18 +1,18 @@ { - "results_matching": "%1 result(s) matching \"%2\", (%3 seconds)", - "no-matches": "No matches found", + "results_matching": "%1 shodných výsledků dle \"%2\", (%3 sekund/y)", + "no-matches": "Nic nebylo nalezeno", "advanced-search": "Pokročilé hledání", "in": "v", - "titles": "Titles", - "titles-posts": "Titles and Posts", + "titles": "Název", + "titles-posts": "Název a příspěvky", "posted-by": "Napsal", "in-categories": "V kategoriích", - "search-child-categories": "Search child categories", + "search-child-categories": "Hledat podružné kategorie", "has-tags": "Obsahuje značky", - "reply-count": "Reply Count", + "reply-count": "Počet odpovědí", "at-least": "Nejméně", "at-most": "Nejvíce", - "relevance": "Relevance", + "relevance": "Relevantnost", "post-time": "Čas příspěvku", "newer-than": "Novější než", "older-than": "Starší než", @@ -29,14 +29,14 @@ "topic-title": "Název tématu", "number-of-replies": "Počet odpovědí", "number-of-views": "Počet zobrazení", - "topic-start-date": "Topic start date", + "topic-start-date": "Počáteční datum tématu", "username": "Uživatelské jméno", "category": "Kategorie", - "descending": "In descending order", - "ascending": "In ascending order", + "descending": "Sestupně", + "ascending": "Vzestupně", "save-preferences": "Uložit nastavení", - "clear-preferences": "Vymazat nastavení", - "search-preferences-saved": "Search preferences saved", - "search-preferences-cleared": "Search preferences cleared", - "show-results-as": "Show results as" + "clear-preferences": "Smazat nastavení", + "search-preferences-saved": "Hledat dle uložených nastavení", + "search-preferences-cleared": "Hledat dle smazaných nastavení", + "show-results-as": "Zobrazit výsledek jako" } \ No newline at end of file diff --git a/public/language/cs/success.json b/public/language/cs/success.json index e9dec2704e..e008b71ccb 100644 --- a/public/language/cs/success.json +++ b/public/language/cs/success.json @@ -2,5 +2,5 @@ "success": "Úspěch", "topic-post": "Úspěšně umístěno.", "authentication-successful": "Úspěšné přihlášení", - "settings-saved": "Nastavení byla uložena!" + "settings-saved": "Nastavení byla uložena." } \ No newline at end of file diff --git a/public/language/cs/tags.json b/public/language/cs/tags.json index 9e7cb73dc8..cc33e9a661 100644 --- a/public/language/cs/tags.json +++ b/public/language/cs/tags.json @@ -1,7 +1,7 @@ { - "no_tag_topics": "Není zde žádné téma s tímto tagem.", - "tags": "Tagy", - "enter_tags_here": "Zde vložte tagy, každý o délce %1 až %2 znaků.", - "enter_tags_here_short": "Zadejte tagy…", - "no_tags": "Zatím tu není žádný tag." + "no_tag_topics": "Není zde žádné téma s touto značkou.", + "tags": "Značky", + "enter_tags_here": "Zde vložte značky, každý o délce %1 až %2 znaků.", + "enter_tags_here_short": "Zadejte značky…", + "no_tags": "Zatím tu není žádná značka." } \ No newline at end of file diff --git a/public/language/cs/topic.json b/public/language/cs/topic.json index b496f980b1..f3835419c5 100644 --- a/public/language/cs/topic.json +++ b/public/language/cs/topic.json @@ -2,14 +2,14 @@ "topic": "Téma", "topic_id": "ID tématu", "topic_id_placeholder": "Vložte ID tématu", - "no_topics_found": "Nebyla nalezena žádná témata!", - "no_posts_found": "Nebyly nalezeny žádné příspěvky!", - "post_is_deleted": "Tento příspěvek je vymazán!", - "topic_is_deleted": "Toto téma je smazané!", + "no_topics_found": "Nebyla nalezena žádná témata.", + "no_posts_found": "Nebyly nalezeny žádné příspěvky.", + "post_is_deleted": "Tento příspěvek je vymazán.", + "topic_is_deleted": "Toto téma je smazáno.", "profile": "Profil", "posted_by": "Přidal %1", "posted_by_guest": "Přidal Host", - "chat": "Chat", + "chat": "Konverzace", "notify_me": "Dostávat upozornění na nové odpovědi", "quote": "Citovat", "reply": "Odpovědět", @@ -30,28 +30,28 @@ "locked": "Uzamčeno", "pinned": "Připnuto", "moved": "Přesunuto", - "bookmark_instructions": "Click here to return to the last read post in this thread.", - "flag_title": "Flag this post for moderation", - "deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.", - "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", - "not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.", - "ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.", - "login_to_subscribe": "Please register or log in in order to subscribe to this topic.", + "bookmark_instructions": "Pro návrat k poslednímu čtenému příspěvku v tématu, klikněte zde.", + "flag_title": "Označit tento příspěvek k moderování", + "deleted_message": "Toto téma bylo odstraněno. Jen uživatelé s oprávněním správy témat ho mohou vidět.", + "following_topic.message": "Nyní budete dostávat upozornění, jakmile někdo přidá příspěvek do tohoto tématu.", + "not_following_topic.message": "Uvidíte toto téma v seznamu nepřečtených témat, ale neobdržíte upozornění. pokud sem někdo přidá příspěvek.", + "ignoring_topic.message": "Již nadále neuvidíte toto téma v seznamu nepřečtených témat. Budete upozorněn, jakmile se někdo o vás zmíní nebo bude vyjádřen souhlas s příspěvkem.", + "login_to_subscribe": "Pro sledování tohoto tématu se prosím přihlaste nebo zaregistrujte.", "markAsUnreadForAll.success": "Téma označeno jako nepřečtené pro všechny.", - "mark_unread": "Označ za nepřečtené", + "mark_unread": "Označ jako nepřečtené", "mark_unread.success": "Téma označeno jako nepřečtené", "watch": "Sledovat", - "unwatch": "Přesta sledovat", + "unwatch": "Přestat sledovat", "watch.title": "Být upozorněn u nových odpovědí v tomto tématu", "unwatch.title": "Přestat sledovat toto téma", "share_this_post": "Sdílet toto téma", "watching": "Sledováno", "not-watching": "Nesledováno", "ignoring": "Ignorování", - "watching.description": "Notify me of new replies.
Show topic in unread.", - "not-watching.description": "Do not notify me of new replies.
Show topic in unread if category is not ignored.", - "ignoring.description": "Do not notify me of new replies.
Do not show topic in unread.", - "thread_tools.title": "Správa tématu", + "watching.description": "Upozornit mě na nové odpovědi.
Zobrazit téma v nepřečtených.", + "not-watching.description": "Neupozorňovat na nové odpovědi.
Zobrazit téma v nepřečtených, není-li tato kategorie ignorována", + "ignoring.description": "Neupozorňovat na nové odpovědi.
Nezobrazovat téma v nepřečtených.", + "thread_tools.title": "Nástroje tématu", "thread_tools.markAsUnreadForAll": "Označit jako nepřečtené pro všechny", "thread_tools.pin": "Připnout téma", "thread_tools.unpin": "Odepnout téma", @@ -63,9 +63,9 @@ "thread_tools.fork": "Větvit téma", "thread_tools.delete": "Odstranit téma", "thread_tools.delete-posts": "Odstranit přispěvky", - "thread_tools.delete_confirm": "Opravdu chcete smazat toto téma.", + "thread_tools.delete_confirm": "Jste si jist/a, že chcete toto téma smazat.", "thread_tools.restore": "Obnovit téma", - "thread_tools.restore_confirm": "Jste si jist/a, že chcete obnovit toto téma?", + "thread_tools.restore_confirm": "Jste si jist/a, že chcete toto téma obnovit?", "thread_tools.purge": "Vyčistit téma", "thread_tools.purge_confirm": "Jste si jist/a, že chcete vyčistit toto téma?", "topic_move_success": "Toto téma bylo úspěšně přesunuto do %1", @@ -82,12 +82,12 @@ "move_topic": "Přesunout téma", "move_topics": "Přesunout témata", "move_post": "Přesunout příspěvek", - "post_moved": "Příspěvek přesunut!", + "post_moved": "Příspěvek přesunut.", "fork_topic": "Rozdělit příspěvek", - "fork_topic_instruction": "Vyber příspěvky, které chceš oddělit", - "fork_no_pids": "Žádné příspěvky nebyly vybrány!", + "fork_topic_instruction": "Vyberte příspěvky, které chcete oddělit", + "fork_no_pids": "Nebyly vybrány žádné příspěvky.", "fork_pid_count": "Vybráno %1 příspěvek/ů", - "fork_success": "Successfully forked topic! Click here to go to the forked topic.", + "fork_success": "Téma úspěšně rozděleno. Pro přejití na rozdělené téma, zde klikněte.", "delete_posts_instruction": "Klikněte na příspěvek, který chcete odstranit/vyčistit", "composer.title_placeholder": "Zadejte název tématu…", "composer.handle_placeholder": "Jméno", @@ -96,12 +96,12 @@ "composer.replying_to": "Odpovídání na %1", "composer.new_topic": "Nové téma", "composer.uploading": "nahrávání…", - "composer.thumb_url_label": "Vložit URL náhled tématu", + "composer.thumb_url_label": "Vložit URL náhledu tématu", "composer.thumb_title": "Přidat k tématu náhled", "composer.thumb_url_placeholder": "http://example.com/thumb.png", "composer.thumb_file_label": "Nebo nahrajte soubor", "composer.thumb_remove": "Vymazat pole", - "composer.drag_and_drop_images": "Přesuňte sem myší obrázek", + "composer.drag_and_drop_images": "Přetáhněte sem obrázek", "more_users_and_guests": "%1 další/ch uživatel/é/ů a %2 host/i/ů", "more_users": "%1 další/ch uživatel/ů", "more_guests": "%1 další/ch host/ů", @@ -111,9 +111,9 @@ "newest_to_oldest": "Od nejnovějších po nejstarší", "most_votes": "Nejvíce hlasů", "most_posts": "Nejvíce příspěvků", - "stale.title": "Přesto vytvořit nové téma", - "stale.warning": "Reagujete na starší téma. Nechcete raději vytvořit téma nové a na původní v něm odkázat?", + "stale.title": "Raději vytvořit nové téma?", + "stale.warning": "Reagujete na starší téma. Nechcete raději vytvořit nové téma a na původní v něm odkázat?", "stale.create": "Vytvořit nové téma", "stale.reply_anyway": "Přesto reagovat na toto téma", - "link_back": "Re: [%1](%2)" + "link_back": "Odpověď: [%1](%2)" } \ No newline at end of file diff --git a/public/language/cs/unread.json b/public/language/cs/unread.json index 0c6ee0319f..569af1e577 100644 --- a/public/language/cs/unread.json +++ b/public/language/cs/unread.json @@ -6,7 +6,7 @@ "selected": "Vybrané", "all": "Vše", "all_categories": "Všechny kategorie", - "topics_marked_as_read.success": "Téma bylo označeno jako přečtené!", + "topics_marked_as_read.success": "Téma bylo označeno jako přečtené.", "all-topics": "Všechna témata", "new-topics": "Nová témata", "watched-topics": "Sledovaná témata" diff --git a/public/language/cs/uploads.json b/public/language/cs/uploads.json index f0b4b0cb80..d998aaa65e 100644 --- a/public/language/cs/uploads.json +++ b/public/language/cs/uploads.json @@ -1,6 +1,6 @@ { "uploading-file": "Nahrávání souboru…", - "select-file-to-upload": "Vyberte soubor pro nahrání!", - "upload-success": "Soubor byl úspěšně nahrán!", - "maximum-file-size": "Maximum %1 kb" + "select-file-to-upload": "Vyberte soubor pro nahrání.", + "upload-success": "Soubor byl úspěšně nahrán.", + "maximum-file-size": "Maximálně %1 kb" } \ No newline at end of file diff --git a/public/language/cs/user.json b/public/language/cs/user.json index c096bbde85..ed91913fa1 100644 --- a/public/language/cs/user.json +++ b/public/language/cs/user.json @@ -1,8 +1,8 @@ { - "banned": "Banned", - "offline": "Offline", + "banned": "Zablokován", + "offline": "Nepřipojen", "username": "Uživatelské jméno", - "joindate": "Datum ragistrace", + "joindate": "Datum registrace", "postcount": "Počet příspěvků", "email": "E-mail", "confirm_email": "Potvrdit e-mail", @@ -10,16 +10,16 @@ "ban_account": "Zablokovat účet", "ban_account_confirm": "Opravdu chcete zablokovat tohoto uživatele?", "unban_account": "Odblokovat účet", - "delete_account": "Vymazat účet", - "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": "Skutečně chcete zrušit tento účet?
Tato akce je nevratná a již nebude žádná možnost obnovení vašich dat

", - "account-deleted": "Účet smazán", + "delete_account": "Odstranit účet", + "delete_account_confirm": "Opravdu chcete odstranit váš účet?
Tato akce je nevratná a nebude možné obnovit žádné vaše data.

Pro potvrzení odstranění účtu napište vaše uživatelské jméno.", + "delete_this_account_confirm": "Opravdu chcete odstranit tento účet?
Tato akce je nevratná a již nebude žádná možnost obnovení vašich dat

", + "account-deleted": "Účet odstraněn", "fullname": "Jméno a příjmení", "website": "Webové stránky", "location": "Poloha", "age": "Věk", "joined": "Registrován", - "lastonline": "Naposledy online", + "lastonline": "Naposledy připojen", "profile": "Profil", "profile_views": "Zobrazení profilu", "reputation": "Reputace", @@ -30,9 +30,9 @@ "aboutme": "O mně", "signature": "Podpis", "birthday": "Datum narození", - "chat": "Chat", - "chat_with": "Pokračovat v chatu s %1", - "new_chat_with": "Začít nový chat s %1", + "chat": "Konverzace", + "chat_with": "Pokračovat v konverzaci s %1", + "new_chat_with": "Začít novou konverzaci s %1", "flag-profile": "Označit profil", "follow": "Sledovat", "unfollow": "Nesledovat", @@ -42,22 +42,22 @@ "change_username": "Změnit uživatelské jméno", "change_email": "Změnit e-mail", "edit": "Upravit", - "edit-profile": "Editovat profil", + "edit-profile": "Upravit profil", "default_picture": "Výchozí ikonka", "uploaded_picture": "Nahraný obrázek", "upload_new_picture": "Nahrát nový obrázek", "upload_new_picture_from_url": "Nahrát nový obrázek z URL", - "current_password": "Současné heslo", + "current_password": "Aktuální heslo", "change_password": "Změnit heslo", - "change_password_error": "Neplatné heslo", - "change_password_error_wrong_current": "Aktuální heslo není správně", - "change_password_error_length": "Heslo je příliš krátké.", + "change_password_error": "Neplatné heslo.", + "change_password_error_wrong_current": "Aktuální heslo není správně.", + "change_password_error_length": "Heslo je moc krátké.", "change_password_error_match": "Hesla se neshodují.", - "change_password_error_privileges": "Nemáte oprávnění toto heslo změnit.", + "change_password_error_privileges": "Nemáte oprávnění změnit heslo.", "change_password_success": "Heslo bylo aktualizováno.", - "confirm_password": "Potvrzení hesla", + "confirm_password": "Potvrdit heslo", "password": "Heslo", - "username_taken_workaround": "Zvolené uživatelské jméno je již zabrané, takže jsme ho trochu upravili. Nyní jste znám jako %1", + "username_taken_workaround": "Zvolené uživatelské jméno již někdo používá, takže jsme ho trochu upravili. Nyní jste znám jako %1", "password_same_as_username": "Vaše heslo je stejné jako vaše přihlašovací jméno. Zvolte si prosím jiné heslo.", "password_same_as_email": "Vaše heslo je stejné jako váš e-mail. Zvolte si prosím jiné heslo.", "weak_password": "Slabé heslo.", @@ -65,13 +65,13 @@ "upload_a_picture": "Nahrát obrázek", "remove_uploaded_picture": "Odstranit nahraný obrázek", "upload_cover_picture": "Náhrát titulní obrázek", - "remove_cover_picture_confirm": "Jste si jist, že vyjmout obrázek coveru?", + "remove_cover_picture_confirm": "Jste si jist/a, že chcete smazat obrázek?", "crop_picture": "Oříznout obrázek", "upload_cropped_picture": "Oříznout a nahrát", "settings": "Nastavení", - "show_email": "Zobrazovat můj e-mail v profilu", + "show_email": "Zobrazovat můj e-mail", "show_fullname": "Zobrazovat celé jméno", - "restrict_chats": "Povolit chatovací zprávy pouze od uživatelů, které sleduji.", + "restrict_chats": "Povolit konverzační zprávy pouze od uživatelů, které sleduji.", "digest_label": "Odebírat přehled", "digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule", "digest_off": "Vypnuto", @@ -84,7 +84,7 @@ "has_no_follower": "Tohoto uživatele nikdo nesleduje :(", "follows_no_one": "Tento uživatel nikoho nesleduje :(", "has_no_posts": "Tento uživatel ještě nic nenapsal.", - "has_no_topics": "Tento uživatel ještě nenapsal žádné téma.", + "has_no_topics": "Tento uživatel ještě nezaložil žádné téma.", "has_no_watched_topics": "Tento uživatel zatím nesleduje žádná témata.", "has_no_upvoted_posts": "This user hasn't upvoted any posts yet.", "has_no_downvoted_posts": "This user hasn't downvoted any posts yet.", @@ -94,7 +94,7 @@ "paginate_description": "Stránkovat témata a příspěvky místo použití nekonečného posunování", "topics_per_page": "Témat na stránce", "posts_per_page": "Příspěvků na stránce", - "notification_sounds": "Přehrát zvuk když dostanete notifikaci", + "notification_sounds": "Přehrát zvuk, obdržíte-li oznámení", "notifications_and_sounds": "Upozornění a zvuky", "incoming-message-sound": "Zvuk příchozí zprávy", "outgoing-message-sound": "Zvuk odchozí zprávy", diff --git a/public/language/da/admin/settings/user.json b/public/language/da/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/da/admin/settings/user.json +++ b/public/language/da/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/da/pages.json b/public/language/da/pages.json index 40c5478269..787dcddfbf 100644 --- a/public/language/da/pages.json +++ b/public/language/da/pages.json @@ -6,6 +6,7 @@ "popular-month": "Populære tråde denne måned", "popular-alltime": "Top populære tråde", "recent": "Seneste tråde", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Online brugere", diff --git a/public/language/de/admin/settings/user.json b/public/language/de/admin/settings/user.json index e7d7e34d1c..31d04d849a 100644 --- a/public/language/de/admin/settings/user.json +++ b/public/language/de/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Deaktiviere Änderungen der E-Mail Adresse", "disable-password-changes": "Deaktiviere Änderungen des Passwortes", "allow-account-deletion": "Erlaube löschen des Kontos", - "user-info-private": "Stelle Benutzerinformationen auf Privat", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Verhindere das Benutzer eigene Skins verwenden", "account-protection": "Kontosicherheit", diff --git a/public/language/de/pages.json b/public/language/de/pages.json index ce67bbcc10..4ccb0e6456 100644 --- a/public/language/de/pages.json +++ b/public/language/de/pages.json @@ -6,6 +6,7 @@ "popular-month": "Beliebte Themen dieses Monats", "popular-alltime": "Beliebteste Themen", "recent": "Neueste Themen", + "moderator-tools": "Moderator Tools", "flagged-content": "Gemeldeter Inhalt", "ip-blacklist": "IP Blacklist", "users/online": "Benutzer online", diff --git a/public/language/el/admin/settings/user.json b/public/language/el/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/el/admin/settings/user.json +++ b/public/language/el/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/el/pages.json b/public/language/el/pages.json index 242d4309e6..bfbce9f09b 100644 --- a/public/language/el/pages.json +++ b/public/language/el/pages.json @@ -6,6 +6,7 @@ "popular-month": "Popular topics this month", "popular-alltime": "All time popular topics", "recent": "Πρόσφατα Θέματα", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Συνδεδεμένοι Χρήστες", diff --git a/public/language/en-US/admin/settings/user.json b/public/language/en-US/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/en-US/admin/settings/user.json +++ b/public/language/en-US/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/en-US/pages.json b/public/language/en-US/pages.json index dcbb38b5b9..af36850ff4 100644 --- a/public/language/en-US/pages.json +++ b/public/language/en-US/pages.json @@ -6,6 +6,7 @@ "popular-month": "Popular topics this month", "popular-alltime": "All time popular topics", "recent": "Recent Topics", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Online Users", diff --git a/public/language/en-x-pirate/admin/settings/user.json b/public/language/en-x-pirate/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/en-x-pirate/admin/settings/user.json +++ b/public/language/en-x-pirate/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/en-x-pirate/pages.json b/public/language/en-x-pirate/pages.json index dcbb38b5b9..af36850ff4 100644 --- a/public/language/en-x-pirate/pages.json +++ b/public/language/en-x-pirate/pages.json @@ -6,6 +6,7 @@ "popular-month": "Popular topics this month", "popular-alltime": "All time popular topics", "recent": "Recent Topics", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Online Users", diff --git a/public/language/es/admin/settings/user.json b/public/language/es/admin/settings/user.json index b3fde20150..73e93f05d0 100644 --- a/public/language/es/admin/settings/user.json +++ b/public/language/es/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/es/pages.json b/public/language/es/pages.json index dd59a3e867..97f264a822 100644 --- a/public/language/es/pages.json +++ b/public/language/es/pages.json @@ -6,6 +6,7 @@ "popular-month": "Temas populares del mes", "popular-alltime": "Temas populares de siempre", "recent": "Temas recientes", + "moderator-tools": "Moderator Tools", "flagged-content": "Contenido reportado", "ip-blacklist": "Lista negra de IPS", "users/online": "Conectados", diff --git a/public/language/et/admin/settings/user.json b/public/language/et/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/et/admin/settings/user.json +++ b/public/language/et/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/et/pages.json b/public/language/et/pages.json index e3ca3603dc..0ded5b8380 100644 --- a/public/language/et/pages.json +++ b/public/language/et/pages.json @@ -6,6 +6,7 @@ "popular-month": "Populaarsed teemad sel kuul", "popular-alltime": "Populaarseimad teemad üldse", "recent": "Hiljutised teemad", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Sisseloginud kasutajad", diff --git a/public/language/fa-IR/admin/settings/user.json b/public/language/fa-IR/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/fa-IR/admin/settings/user.json +++ b/public/language/fa-IR/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/fa-IR/pages.json b/public/language/fa-IR/pages.json index 9b55e53351..e44a61db94 100644 --- a/public/language/fa-IR/pages.json +++ b/public/language/fa-IR/pages.json @@ -6,6 +6,7 @@ "popular-month": "موضوعات پربازدید این ماه", "popular-alltime": "پربازدیدترین موضوعات", "recent": "موضوع‌های تازه", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "لیست سیاه آی‌پی", "users/online": "کاربران آنلاین", diff --git a/public/language/fi/admin/settings/user.json b/public/language/fi/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/fi/admin/settings/user.json +++ b/public/language/fi/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/fi/pages.json b/public/language/fi/pages.json index a5e8b87187..8155008e3d 100644 --- a/public/language/fi/pages.json +++ b/public/language/fi/pages.json @@ -6,6 +6,7 @@ "popular-month": "Suositut aiheet tässä kuussa", "popular-alltime": "Suositut aiheet koko ajalta", "recent": "Viimeisimmät aiheet", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Paikalla olevat käyttäjät", diff --git a/public/language/fr/admin/extend/plugins.json b/public/language/fr/admin/extend/plugins.json index f812b2c13e..3c6c5f15ea 100644 --- a/public/language/fr/admin/extend/plugins.json +++ b/public/language/fr/admin/extend/plugins.json @@ -12,7 +12,7 @@ "reorder-plugins": "Re-ordonner les plugins", "order-active": "Trier les plugins actifs", "dev-interested": "Êtes-vous intéressés par l'écriture de plugins pour NodeBB ?", - "docs-info": "Full documentation regarding plugin authoring can be found in the NodeBB Docs Portal.", + "docs-info": "La documentation complète concernant l’écriture de plugin peut être trouvée sur lePortail Documentation NodeBB.", "order.description": "Certains plugins fonctionnent mieux lorsqu'ils sont initialisés avant/après d'autres plugins.", "order.explanation": "Les plugins se chargent dans l'ordre spécifié, ici de haut en bas.", diff --git a/public/language/fr/admin/general/dashboard.json b/public/language/fr/admin/general/dashboard.json index dd7fb0ecac..fbc878c950 100644 --- a/public/language/fr/admin/general/dashboard.json +++ b/public/language/fr/admin/general/dashboard.json @@ -23,8 +23,8 @@ "running-version": "NodeBB v%1 est actuellement installé.", "keep-updated": "Assurez-vous que votre version de NodeBB est à jour pour les derniers patchs de sécurité et correctifs de bugs.", "up-to-date": "

Votre version est à jour

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-upgrade-available": "

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", + "upgrade-available": "

Une nouvelle version (v%1) a été publiée. Merci d’envisager de mettre à jour NodeBB.

", + "prerelease-upgrade-available": "

Ceci est une version pre-release obsolète de NodeBB. Une nouvelle version (v%1) a été publiée. Merci d’envisager de mettre à jour NodeBB.

", "prerelease-warning": "

Ceci est une version préliminaire de NodeBB. Des bugs inattendus peuvent se produire.

", "running-in-development": "Le forum est en mode développement. Il peut être sujet à certaines vulnérabilités, veuillez contacter votre administrateur système.", diff --git a/public/language/fr/admin/settings/uploads.json b/public/language/fr/admin/settings/uploads.json index afa63fd613..3549aa69ab 100644 --- a/public/language/fr/admin/settings/uploads.json +++ b/public/language/fr/admin/settings/uploads.json @@ -5,7 +5,7 @@ "max-image-width": "Redimensionner les images à un largeur spécifique (en pixels)", "max-image-width-help": "(En pixels, par défaut : 760 pixels, définir à 0 si désactivé)", "max-file-size": "Taille maximum d'un fichier (en Ko)", - "max-file-size-help": "(in kibibytes, default: 2048 KiB)", + "max-file-size-help": "(en kibioctets, défaut : 2048 Kio)", "allow-topic-thumbnails": "Autoriser les utilisateurs à télécharger des miniatures de sujet", "topic-thumb-size": "Miniature du sujet", "allowed-file-extensions": "Extensions de fichier autorisés", @@ -18,9 +18,9 @@ "profile-image-dimension": "Dimensions de l'avatar", "profile-image-dimension-help": "(En pixel, par défaut : 128 pixels)", "max-profile-image-size": "Taille maximum des avatars", - "max-profile-image-size-help": "(in kibibytes, default: 256 KiB)", + "max-profile-image-size-help": "(en kibioctets, défaut : 256 Kio)", "max-cover-image-size": "Taille maximum des images de couverture", - "max-cover-image-size-help": "(in kibibytes, default: 2,048 KiB)", + "max-cover-image-size-help": "(en kibioctets, défaut : 2048 Kio)", "keep-all-user-images": "Garder les anciennes versions d'avatars et d'images de couverture sur le serveur", "profile-covers": "Image de couverture", "default-covers": "Image de couverture par défaut", diff --git a/public/language/fr/admin/settings/user.json b/public/language/fr/admin/settings/user.json index 0f8bc4e171..aeb9c7e9e6 100644 --- a/public/language/fr/admin/settings/user.json +++ b/public/language/fr/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Désactiver le changement d'adresse e-mail", "disable-password-changes": "Désactiver le changement de mot de passe", "allow-account-deletion": "Autoriser la suppression des comptes", - "user-info-private": "Rendre privées les informations des utilisateurs", + "user-info-private": "Masquer la liste et les données utilisateurs aux invités", + "hide-fullname": "Masquer le nom complet aux utilisateurs", + "hide-email": "Masquer les emails aux utilisateurs", "themes": "Thèmes", "disable-user-skins": "Empêcher les utilisateurs de choisir un skin personnalisé", "account-protection": "Protection du compte", diff --git a/public/language/fr/pages.json b/public/language/fr/pages.json index 740b7f70fc..3dd00ee381 100644 --- a/public/language/fr/pages.json +++ b/public/language/fr/pages.json @@ -6,6 +6,7 @@ "popular-month": "Sujets populaires ce mois-ci", "popular-alltime": "Sujets populaires depuis toujours", "recent": "Sujets récents", + "moderator-tools": "Outils de modération", "flagged-content": "Contenu signalé", "ip-blacklist": "Liste noire d'adresses IP", "users/online": "Utilisateurs en ligne", diff --git a/public/language/gl/admin/settings/user.json b/public/language/gl/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/gl/admin/settings/user.json +++ b/public/language/gl/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/gl/pages.json b/public/language/gl/pages.json index ce26b384ea..40f29c9b94 100644 --- a/public/language/gl/pages.json +++ b/public/language/gl/pages.json @@ -6,6 +6,7 @@ "popular-month": "Temas populares do mes", "popular-alltime": "Temas populares de tódolos tempos", "recent": "Temas recentes", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "Lista negra de IPs", "users/online": "Usuarios conectados", diff --git a/public/language/he/admin/settings/user.json b/public/language/he/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/he/admin/settings/user.json +++ b/public/language/he/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/he/pages.json b/public/language/he/pages.json index 854e1f33f4..5ca56df98c 100644 --- a/public/language/he/pages.json +++ b/public/language/he/pages.json @@ -6,6 +6,7 @@ "popular-month": "נושאים חמים החודש", "popular-alltime": "הנושאים החמים בכל הזמנים", "recent": "נושאים אחרונים", + "moderator-tools": "Moderator Tools", "flagged-content": "תוכן מדווח", "ip-blacklist": "רשימת IP שחורה", "users/online": "משתמשים מחוברים", diff --git a/public/language/hr/admin/settings/user.json b/public/language/hr/admin/settings/user.json index 46f7b8bac3..a39e4b7472 100644 --- a/public/language/hr/admin/settings/user.json +++ b/public/language/hr/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Onemogući promjenu emaila", "disable-password-changes": "Onemogući promjenu lozinke", "allow-account-deletion": "Dozvoli brisanje računa korisnicima", - "user-info-private": "Postavi korisničke informacije privatne", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Predlošci", "disable-user-skins": "Onemogući korisnicima odabir predloška", "account-protection": "Zaštita računa", diff --git a/public/language/hr/pages.json b/public/language/hr/pages.json index 76cd7ae518..8ea01a73b1 100644 --- a/public/language/hr/pages.json +++ b/public/language/hr/pages.json @@ -6,6 +6,7 @@ "popular-month": "Popularne teme ovaj mjesec", "popular-alltime": "Najpopularnije teme ", "recent": "Nedavne teme", + "moderator-tools": "Moderator Tools", "flagged-content": "Označene objave", "ip-blacklist": "IP crna lista", "users/online": "Online korisnici", diff --git a/public/language/hu/admin/settings/user.json b/public/language/hu/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/hu/admin/settings/user.json +++ b/public/language/hu/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/hu/pages.json b/public/language/hu/pages.json index e3c175a2b5..1d04f56e18 100644 --- a/public/language/hu/pages.json +++ b/public/language/hu/pages.json @@ -6,6 +6,7 @@ "popular-month": "Havi népszerű témakörök", "popular-alltime": "Mindenkori legnépszerűbb témakörök", "recent": "Legfrissebb témakörök", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Aktiv Felhasználok", diff --git a/public/language/id/admin/settings/user.json b/public/language/id/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/id/admin/settings/user.json +++ b/public/language/id/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/id/pages.json b/public/language/id/pages.json index e3b340e0de..2ca45423a8 100644 --- a/public/language/id/pages.json +++ b/public/language/id/pages.json @@ -6,6 +6,7 @@ "popular-month": "Popular topics this month", "popular-alltime": "All time popular topics", "recent": "Topik Terkini", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Online Users", diff --git a/public/language/it/admin/settings/user.json b/public/language/it/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/it/admin/settings/user.json +++ b/public/language/it/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/it/pages.json b/public/language/it/pages.json index 818fca88e0..b990e75f60 100644 --- a/public/language/it/pages.json +++ b/public/language/it/pages.json @@ -6,6 +6,7 @@ "popular-month": "Discussioni popolari questo mese", "popular-alltime": "Discussioni più popolari di sempre", "recent": "Discussioni Recenti", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "Lista nera degli IP", "users/online": "Utenti Online", diff --git a/public/language/ja/admin/settings/user.json b/public/language/ja/admin/settings/user.json index 8bdd9fdb73..15d50a459a 100644 --- a/public/language/ja/admin/settings/user.json +++ b/public/language/ja/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Eメールの変更を無効にする", "disable-password-changes": "パスワードの変更を無効にする", "allow-account-deletion": "アカウントが解除されました", - "user-info-private": "ユーザー情報を非公開にする", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "テーマ", "disable-user-skins": "ユーザーがカスタムスキンを選択できないようにする", "account-protection": "アカウント保護", diff --git a/public/language/ja/pages.json b/public/language/ja/pages.json index e25dffa625..99beb3cf1a 100644 --- a/public/language/ja/pages.json +++ b/public/language/ja/pages.json @@ -6,6 +6,7 @@ "popular-month": "今月人気のスレッド", "popular-alltime": "人気のスレッド", "recent": "最新スレッド", + "moderator-tools": "Moderator Tools", "flagged-content": "フラグ付きコンテンツ", "ip-blacklist": "IPブラックリスト", "users/online": "オンラインのユーザー", diff --git a/public/language/ko/admin/settings/user.json b/public/language/ko/admin/settings/user.json index 0f670b8ead..78a9bac909 100644 --- a/public/language/ko/admin/settings/user.json +++ b/public/language/ko/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "이메일 주소 변경 비활성화", "disable-password-changes": "패스워드 변경 비활성화", "allow-account-deletion": "계정 삭제 허용", - "user-info-private": "사용자 정보를 개인만 볼수 있게 바꿉니다.", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "테마", "disable-user-skins": "일반 사용자가 스킨 지정 금지", "account-protection": "계정 보호", diff --git a/public/language/ko/pages.json b/public/language/ko/pages.json index 5bcd9ba573..8010aefe3f 100644 --- a/public/language/ko/pages.json +++ b/public/language/ko/pages.json @@ -6,6 +6,7 @@ "popular-month": "인기있는 게시물 (월간)", "popular-alltime": "인기있는 게시물", "recent": "최근 게시물", + "moderator-tools": "Moderator Tools", "flagged-content": "신고된 컨텐츠", "ip-blacklist": "IP 블랙리스트", "users/online": "접속중인 사용자", diff --git a/public/language/lt/admin/settings/user.json b/public/language/lt/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/lt/admin/settings/user.json +++ b/public/language/lt/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/lt/pages.json b/public/language/lt/pages.json index 62fe318c71..71d3c23dac 100644 --- a/public/language/lt/pages.json +++ b/public/language/lt/pages.json @@ -6,6 +6,7 @@ "popular-month": "Popular topics this month", "popular-alltime": "All time popular topics", "recent": "Paskutinės temos", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Online Users", diff --git a/public/language/ms/admin/settings/user.json b/public/language/ms/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/ms/admin/settings/user.json +++ b/public/language/ms/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/ms/pages.json b/public/language/ms/pages.json index bfade44f86..32ef8d361f 100644 --- a/public/language/ms/pages.json +++ b/public/language/ms/pages.json @@ -6,6 +6,7 @@ "popular-month": "Topik Popular Bulan Ini", "popular-alltime": "Topik Popular Sepanjang Masa", "recent": "Topik Baru", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Pengguna Atas Talian", diff --git a/public/language/nb/admin/settings/user.json b/public/language/nb/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/nb/admin/settings/user.json +++ b/public/language/nb/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/nb/pages.json b/public/language/nb/pages.json index 39f5bd7800..dc6084cd12 100644 --- a/public/language/nb/pages.json +++ b/public/language/nb/pages.json @@ -6,6 +6,7 @@ "popular-month": "Populære emner denne måneden", "popular-alltime": "Mest populære emner for all tid", "recent": "Nylige emner", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Påloggede Brukere", diff --git a/public/language/nl/admin/settings/user.json b/public/language/nl/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/nl/admin/settings/user.json +++ b/public/language/nl/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/nl/pages.json b/public/language/nl/pages.json index 23e86a67b0..f3aef4cc67 100644 --- a/public/language/nl/pages.json +++ b/public/language/nl/pages.json @@ -6,6 +6,7 @@ "popular-month": "De populaire onderwerpen van deze maand", "popular-alltime": "De populaire onderwerpen", "recent": "Recente onderwerpen", + "moderator-tools": "Moderator Tools", "flagged-content": "Gemarkeerde content", "ip-blacklist": "IP zwarte lijst", "users/online": "Online Gebruikers", diff --git a/public/language/pl/admin/settings/user.json b/public/language/pl/admin/settings/user.json index f9383ab222..35d1a79b5c 100644 --- a/public/language/pl/admin/settings/user.json +++ b/public/language/pl/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Wyłącz możliwość zmiany emaila", "disable-password-changes": "Wyłącz możliwość zmiany hasła", "allow-account-deletion": "Pozwól na możliwość usunięcia konta", - "user-info-private": "Informację użytkownika są prywatne", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Style", "disable-user-skins": "Uniemożliwić użytkownikom wybranie niestandardowej skórę", "account-protection": "Ochrona Konta", diff --git a/public/language/pl/pages.json b/public/language/pl/pages.json index 4ba9517037..6c9397d75c 100644 --- a/public/language/pl/pages.json +++ b/public/language/pl/pages.json @@ -6,6 +6,7 @@ "popular-month": "Tematy popularne w tym miesiącu", "popular-alltime": "Wszystkie popularne tematy", "recent": "Ostatnie Tematy", + "moderator-tools": "Moderator Tools", "flagged-content": "Treść oflagowanego posta", "ip-blacklist": "Czarna lista adresów IP", "users/online": "Dostępni Użytkownicy", diff --git a/public/language/pt-BR/admin/extend/plugins.json b/public/language/pt-BR/admin/extend/plugins.json index 1f566545ca..1dfcf4a36b 100644 --- a/public/language/pt-BR/admin/extend/plugins.json +++ b/public/language/pt-BR/admin/extend/plugins.json @@ -12,7 +12,7 @@ "reorder-plugins": "Re-ordenar Plugins", "order-active": "Ordenar Plugins Ativos", "dev-interested": "Interessado em escrever plugins para o NodeBB?", - "docs-info": "Full documentation regarding plugin authoring can be found in the NodeBB Docs Portal.", + "docs-info": "Documentação completa sobre criação de plugins pode ser encontrada noPortal de Documentação do NodeBB.", "order.description": "Certos plugins funcionam melhor quando eles são inicializados antes/após outros plugins.", "order.explanation": "Os plugins são carregados na ordem especificada aqui, de cima para baixo", diff --git a/public/language/pt-BR/admin/general/dashboard.json b/public/language/pt-BR/admin/general/dashboard.json index 2fdb2937bb..c15201b07c 100644 --- a/public/language/pt-BR/admin/general/dashboard.json +++ b/public/language/pt-BR/admin/general/dashboard.json @@ -23,8 +23,8 @@ "running-version": "Você está rodando o NodeBB v%1.", "keep-updated": "Sempre se certifique de que o seu NodeBB está atualizado para os últimos patches de segurança e bug fixes.", "up-to-date": "

Você está atualizado

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-upgrade-available": "

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", + "upgrade-available": "

Uma nova versão (v%1) foi lançada. Leve em consideração fazer um upgrade do seu NodeBB.

", + "prerelease-upgrade-available": "

Esta é uma versão pre-release do NodeBB. Uma nova versão (v%1) foi lançada. Leve em consideração fazer um upgrade do seu NodeBB.

", "prerelease-warning": "

Esta é uma versão pre-release do NodeBB. Bugs inesperados podem ocorrer.

", "running-in-development": "O fórum está sendo executado em modo de desenvolvedor. O fórum pode estar abrto à potenciais vulnerabilidades; por favor, entre em contato com o seu administrador de sistemas.", diff --git a/public/language/pt-BR/admin/settings/uploads.json b/public/language/pt-BR/admin/settings/uploads.json index 45f34b8043..19c813b390 100644 --- a/public/language/pt-BR/admin/settings/uploads.json +++ b/public/language/pt-BR/admin/settings/uploads.json @@ -5,7 +5,7 @@ "max-image-width": "Redimensionar imagens até a largura especificada (em pixels)", "max-image-width-help": "(em pixels, padrão: 760 pixels, defina como 0 para desligar)", "max-file-size": "Tamanho Máximo de Arquivo (em KiB)", - "max-file-size-help": "(in kibibytes, default: 2048 KiB)", + "max-file-size-help": "(em kibibytes, padrão: 2048 KiB)", "allow-topic-thumbnails": "Permitir usuários de enviar miniaturas de tópico", "topic-thumb-size": "Tamanho da Miniatura de Tópico", "allowed-file-extensions": "Extensões de Arquivo Permitidas", @@ -18,9 +18,9 @@ "profile-image-dimension": "Dimensão da Imagem de Perfil", "profile-image-dimension-help": "(em pixels, padrão: 128 pixels)", "max-profile-image-size": "Tamanho Máximo do Arquivo de Imagem de Perfil", - "max-profile-image-size-help": "(in kibibytes, default: 256 KiB)", + "max-profile-image-size-help": "(em kibibytes, padrão: 256 KiB)", "max-cover-image-size": "Tamanho Máximo do Arquivo de Imagem de Capa", - "max-cover-image-size-help": "(in kibibytes, default: 2,048 KiB)", + "max-cover-image-size-help": "(em kibibytes, padrão: 2,048 KiB)", "keep-all-user-images": "Manter versões antigas de avatares e capas de perfil no servidor", "profile-covers": "Capas de Perfil", "default-covers": "Imagens de Capa Padrão", diff --git a/public/language/pt-BR/admin/settings/user.json b/public/language/pt-BR/admin/settings/user.json index ac07df60f3..bb4d776376 100644 --- a/public/language/pt-BR/admin/settings/user.json +++ b/public/language/pt-BR/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Desabilitar mudanças de email", "disable-password-changes": "Desabilitar mudanças de senha", "allow-account-deletion": "Permitir exclusão de conta", - "user-info-private": "Tornar informação de usuário privada", + "user-info-private": "Esconder lista e dados de usuários de visitantes", + "hide-fullname": "Esconder nome completo de outros usuários", + "hide-email": "Esconder email de outros usuários", "themes": "Temas", "disable-user-skins": "Impedir usuários de escolherem um skin personalizado", "account-protection": "Proteção de Conta", diff --git a/public/language/pt-BR/pages.json b/public/language/pt-BR/pages.json index 42444ed4bd..2913e5a4f6 100644 --- a/public/language/pt-BR/pages.json +++ b/public/language/pt-BR/pages.json @@ -6,6 +6,7 @@ "popular-month": "Tópicos populares deste mês", "popular-alltime": "Tópicos populares de todos os tempos", "recent": "Tópicos Recentes", + "moderator-tools": "Ferramentas de Moderação", "flagged-content": "Conteúdo Sinalizado", "ip-blacklist": "Lista negra de IPs", "users/online": "Usuários Online", diff --git a/public/language/pt-PT/admin/settings/user.json b/public/language/pt-PT/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/pt-PT/admin/settings/user.json +++ b/public/language/pt-PT/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/pt-PT/pages.json b/public/language/pt-PT/pages.json index d22a86e4d1..543266881e 100644 --- a/public/language/pt-PT/pages.json +++ b/public/language/pt-PT/pages.json @@ -6,6 +6,7 @@ "popular-month": "Tópicos populares este mês", "popular-alltime": "Tópicos populares desde sempre", "recent": "Tópicos recentes", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "Lista negra de IPs", "users/online": "Utilizadores online", diff --git a/public/language/ro/admin/settings/user.json b/public/language/ro/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/ro/admin/settings/user.json +++ b/public/language/ro/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/ro/pages.json b/public/language/ro/pages.json index 4816853bef..b675c153c8 100644 --- a/public/language/ro/pages.json +++ b/public/language/ro/pages.json @@ -6,6 +6,7 @@ "popular-month": "Subiecte populare în luna asta", "popular-alltime": "All time popular topics", "recent": "Subiecte Noi", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Utilizatori online", diff --git a/public/language/ru/admin/settings/user.json b/public/language/ru/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/ru/admin/settings/user.json +++ b/public/language/ru/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/ru/pages.json b/public/language/ru/pages.json index 86cfc9da3e..f35c6c9c12 100644 --- a/public/language/ru/pages.json +++ b/public/language/ru/pages.json @@ -6,6 +6,7 @@ "popular-month": "Популярные темы этого месяца", "popular-alltime": "Популярные темы за всё время", "recent": "Последние темы", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "Чёрный список IP", "users/online": "В сети", diff --git a/public/language/rw/admin/settings/user.json b/public/language/rw/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/rw/admin/settings/user.json +++ b/public/language/rw/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/rw/pages.json b/public/language/rw/pages.json index 6b1fcdccca..b6b2110759 100644 --- a/public/language/rw/pages.json +++ b/public/language/rw/pages.json @@ -6,6 +6,7 @@ "popular-month": "Ibiganiro bikunzwe uku kwezi", "popular-alltime": "Ibiganiro byakunzwe ibihe byose", "recent": "Ibiganiro Biheruka", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Abariho", diff --git a/public/language/sc/admin/settings/user.json b/public/language/sc/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/sc/admin/settings/user.json +++ b/public/language/sc/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/sc/pages.json b/public/language/sc/pages.json index 25d7ccb5ce..f674e9cd07 100644 --- a/public/language/sc/pages.json +++ b/public/language/sc/pages.json @@ -6,6 +6,7 @@ "popular-month": "Popular topics this month", "popular-alltime": "All time popular topics", "recent": "Ùrtimas Arresonadas", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Online Users", diff --git a/public/language/sk/admin/settings/user.json b/public/language/sk/admin/settings/user.json index bff94e851e..d3bdd791e8 100644 --- a/public/language/sk/admin/settings/user.json +++ b/public/language/sk/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/sk/pages.json b/public/language/sk/pages.json index 8573de0733..abb487d995 100644 --- a/public/language/sk/pages.json +++ b/public/language/sk/pages.json @@ -6,6 +6,7 @@ "popular-month": "Populárne témy za tento mesiac", "popular-alltime": "Populárne témy za celé obdobie", "recent": "Nedávne témy", + "moderator-tools": "Moderator Tools", "flagged-content": "Označený obsah", "ip-blacklist": "IP Blacklist", "users/online": "Online užívatelia", diff --git a/public/language/sl/admin/settings/user.json b/public/language/sl/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/sl/admin/settings/user.json +++ b/public/language/sl/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/sl/pages.json b/public/language/sl/pages.json index 88cd0f8afc..bbf1b740c0 100644 --- a/public/language/sl/pages.json +++ b/public/language/sl/pages.json @@ -6,6 +6,7 @@ "popular-month": "Priljubljene teme v tem mesecu", "popular-alltime": "Vse priljubljene teme", "recent": "Zadnje teme", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Dosegljivi uporabniki", diff --git a/public/language/sr/admin/settings/user.json b/public/language/sr/admin/settings/user.json index a9e9709e24..99a15e7c09 100644 --- a/public/language/sr/admin/settings/user.json +++ b/public/language/sr/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Onemogući promenu email-a", "disable-password-changes": "Onemogući promenu šifre", "allow-account-deletion": "Dozvoli brisanje naloga", - "user-info-private": "Načini korisničke podatke privatnim", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Teme", "disable-user-skins": "Onemogući korisnike da izaberu određenu temu", "account-protection": "Začtita naloga", diff --git a/public/language/sr/pages.json b/public/language/sr/pages.json index 198d7045ed..9f1c594dc2 100644 --- a/public/language/sr/pages.json +++ b/public/language/sr/pages.json @@ -6,6 +6,7 @@ "popular-month": "Популарне теме овог месеца", "popular-alltime": "Популарне теме свих времена", "recent": "Недавне теме", + "moderator-tools": "Алати модератора", "flagged-content": "Садржај означен заставицом", "ip-blacklist": "Црна листа IP адреса", "users/online": "Корисници на мрежи", diff --git a/public/language/sv/admin/settings/user.json b/public/language/sv/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/sv/admin/settings/user.json +++ b/public/language/sv/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/sv/pages.json b/public/language/sv/pages.json index cdc9019082..317c1ad401 100644 --- a/public/language/sv/pages.json +++ b/public/language/sv/pages.json @@ -6,6 +6,7 @@ "popular-month": "Populära ämnen denna månad", "popular-alltime": "Populäraste ämnena genom tiderna", "recent": "Senaste ämnena", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Svartlista", "users/online": "Användare online", diff --git a/public/language/th/admin/settings/user.json b/public/language/th/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/th/admin/settings/user.json +++ b/public/language/th/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/th/pages.json b/public/language/th/pages.json index e1f1dd8a6a..2bb83cbbb3 100644 --- a/public/language/th/pages.json +++ b/public/language/th/pages.json @@ -6,6 +6,7 @@ "popular-month": "กระทู้ฮิตเดือนนี้", "popular-alltime": "กระทู้ฮิตตลาดกาล", "recent": "กระทู้ล่าสุด", + "moderator-tools": "Moderator Tools", "flagged-content": "เนื้อหาที่ถูกปักธง", "ip-blacklist": "ไอดีที่ถูกขึ้นบัญชีดำ", "users/online": "ผู้ใช้ออนไลน์", diff --git a/public/language/tr/admin/settings/user.json b/public/language/tr/admin/settings/user.json index d0037cf8fc..eb98c1ad78 100644 --- a/public/language/tr/admin/settings/user.json +++ b/public/language/tr/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Email değişikliği kapalı", "disable-password-changes": "Parola değişikliği kapalı", "allow-account-deletion": "Hesap silmeye izin ver", - "user-info-private": "Kullanıcı bilgilerini gizli yap", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Temalar", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Hesap Koruma", diff --git a/public/language/tr/pages.json b/public/language/tr/pages.json index e29ac65fb9..3e70582386 100644 --- a/public/language/tr/pages.json +++ b/public/language/tr/pages.json @@ -6,6 +6,7 @@ "popular-month": "Bu ayki popüler başlıklar", "popular-alltime": "En popüler başlıklar", "recent": "Güncel Konular", + "moderator-tools": "Moderator Tools", "flagged-content": "Bayraklanan İçerik", "ip-blacklist": "IP Karaliste", "users/online": "Çevrimiçi Kullanıcılar", diff --git a/public/language/uk/admin/settings/user.json b/public/language/uk/admin/settings/user.json index 83753d78f3..91efbc8af3 100644 --- a/public/language/uk/admin/settings/user.json +++ b/public/language/uk/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Вимкнути зміну електронної пошти", "disable-password-changes": "Вимкнути зміну пароля", "allow-account-deletion": "Дозволити видалення акаунту", - "user-info-private": "Зробити інформацію користувачів приватною", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Теми", "disable-user-skins": "Заборонити користувачам обирати стиль сайту", "account-protection": "Захист акаунту", diff --git a/public/language/uk/pages.json b/public/language/uk/pages.json index 5d72bdc64c..0cac18c161 100644 --- a/public/language/uk/pages.json +++ b/public/language/uk/pages.json @@ -6,6 +6,7 @@ "popular-month": "Популярні теми цього місяця", "popular-alltime": "Популярні теми за весь час", "recent": "Свіжі теми", + "moderator-tools": "Moderator Tools", "flagged-content": "Оскаржений вміст", "ip-blacklist": "Чорний список IP адрес", "users/online": "Користувачі в мережі", diff --git a/public/language/vi/admin/settings/user.json b/public/language/vi/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/vi/admin/settings/user.json +++ b/public/language/vi/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/vi/pages.json b/public/language/vi/pages.json index ba094bf22e..bd41a9c2dd 100644 --- a/public/language/vi/pages.json +++ b/public/language/vi/pages.json @@ -6,6 +6,7 @@ "popular-month": "Chủ đề nổi bật tháng này", "popular-alltime": "Chủ đề nổi bật mọi thời đại", "recent": "Chủ đề gần đây", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "Thành viên đang online", diff --git a/public/language/zh-CN/admin/extend/plugins.json b/public/language/zh-CN/admin/extend/plugins.json index 575c327555..b3523af1cf 100644 --- a/public/language/zh-CN/admin/extend/plugins.json +++ b/public/language/zh-CN/admin/extend/plugins.json @@ -12,7 +12,7 @@ "reorder-plugins": "重新排序插件", "order-active": "排序生效插件", "dev-interested": "有兴趣为NodeBB开发插件?", - "docs-info": "Full documentation regarding plugin authoring can be found in the NodeBB Docs Portal.", + "docs-info": "有关插件创作的完整文档可以在 NodeBB 文档中找到。", "order.description": "部分插件需要在其它插件启用之后才能完美运作。", "order.explanation": "插件将按照以下顺序载入,从上至下。", diff --git a/public/language/zh-CN/admin/general/dashboard.json b/public/language/zh-CN/admin/general/dashboard.json index faa2fbc602..a16f2dd433 100644 --- a/public/language/zh-CN/admin/general/dashboard.json +++ b/public/language/zh-CN/admin/general/dashboard.json @@ -23,7 +23,7 @@ "running-version": "你正在使用 NodeBB v%1 .", "keep-updated": "请确保您已及时更新 NodeBB 以获得最新的安全补丁与 Bug 修复。", "up-to-date": "

正在使用 最新版本

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

", + "upgrade-available": "

新版本 (v%1) 已经发布! 建议 更新你的 NodeBB

", "prerelease-upgrade-available": "

你正在使用NodeBB过期的实验版本。新的版本 (v%1) 已经发布。 请考虑更新你的 NodeBB

", "prerelease-warning": "

正在使用测试版 NodeBB。可能会出现意外的 Bug。

", "running-in-development": "论坛正处于开发模式,这可能使其暴露于潜在的危险之中;请联系您的系统管理员。", diff --git a/public/language/zh-CN/admin/settings/uploads.json b/public/language/zh-CN/admin/settings/uploads.json index 0674ef5d82..8f6916ff7f 100644 --- a/public/language/zh-CN/admin/settings/uploads.json +++ b/public/language/zh-CN/admin/settings/uploads.json @@ -5,7 +5,7 @@ "max-image-width": "缩小图片到指定宽度(单位像素)", "max-image-width-help": "(像素单位,默认 760 px,设置为0以禁用)", "max-file-size": "最大文件尺寸(单位 KiB)", - "max-file-size-help": "(in kibibytes, default: 2048 KiB)", + "max-file-size-help": "(单位 KiB ,默认 2048KiB)", "allow-topic-thumbnails": "允许用户上传主题缩略图", "topic-thumb-size": "主题缩略图大小", "allowed-file-extensions": "允许的文件扩展名", @@ -18,9 +18,9 @@ "profile-image-dimension": "个人资料相片尺寸", "profile-image-dimension-help": "(使用 px 作为单位,默认:128px)", "max-profile-image-size": "个人资料相片最大大小", - "max-profile-image-size-help": "(in kibibytes, default: 256 KiB)", + "max-profile-image-size-help": "(单位 KiB ,默认 256 KiB)", "max-cover-image-size": "最大封面图片文件大小", - "max-cover-image-size-help": "(in kibibytes, default: 2,048 KiB)", + "max-cover-image-size-help": "(单位 KiB,默认 2048KiB)", "keep-all-user-images": "在服务器上保留旧头像和旧的资料封面", "profile-covers": "资料封面", "default-covers": "默认封面图片", diff --git a/public/language/zh-CN/admin/settings/user.json b/public/language/zh-CN/admin/settings/user.json index 7fb7f68bf3..568510b880 100644 --- a/public/language/zh-CN/admin/settings/user.json +++ b/public/language/zh-CN/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "禁用修改邮箱", "disable-password-changes": "禁用修改密码", "allow-account-deletion": "允许消除帐号", - "user-info-private": "使用户信息私有化", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "主题", "disable-user-skins": "阻止用户选择自定义皮肤", "account-protection": "帐号保护", diff --git a/public/language/zh-CN/pages.json b/public/language/zh-CN/pages.json index c76c550395..7faa8cee78 100644 --- a/public/language/zh-CN/pages.json +++ b/public/language/zh-CN/pages.json @@ -6,6 +6,7 @@ "popular-month": "当月热门话题", "popular-alltime": "热门主题", "recent": "最新主题", + "moderator-tools": "版主工具", "flagged-content": "已举报的内容", "ip-blacklist": "IP 黑名单", "users/online": "在线会员", diff --git a/public/language/zh-TW/admin/settings/user.json b/public/language/zh-TW/admin/settings/user.json index fa8049c3a9..a8bc2b176e 100644 --- a/public/language/zh-TW/admin/settings/user.json +++ b/public/language/zh-TW/admin/settings/user.json @@ -13,7 +13,9 @@ "disable-email-changes": "Disable email changes", "disable-password-changes": "Disable password changes", "allow-account-deletion": "Allow account deletion", - "user-info-private": "Make user info private", + "user-info-private": "Hide user list and data from guests", + "hide-fullname": "Hide fullname from users", + "hide-email": "Hide email from users", "themes": "Themes", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", diff --git a/public/language/zh-TW/pages.json b/public/language/zh-TW/pages.json index 708850a33d..aeeece295f 100644 --- a/public/language/zh-TW/pages.json +++ b/public/language/zh-TW/pages.json @@ -6,6 +6,7 @@ "popular-month": "本月受歡迎的主題", "popular-alltime": "所有時間受歡迎的主題", "recent": "近期的主題", + "moderator-tools": "Moderator Tools", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "users/online": "線上使用者", From 5fc6fe1c804e5a6aa50127e3fd8860b125ea8711 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 2 Aug 2017 12:25:47 -0400 Subject: [PATCH 14/35] closes #5162 --- src/meta/settings.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/meta/settings.js b/src/meta/settings.js index d157a4cd95..1263e9c811 100644 --- a/src/meta/settings.js +++ b/src/meta/settings.js @@ -18,7 +18,14 @@ Settings.getOne = function (hash, field, callback) { db.getObjectField('settings:' + hash, field, callback); }; -Settings.set = function (hash, values, callback) { +Settings.set = function (hash, values, quiet, callback) { + if (!callback && typeof quiet === 'function') { + callback = quiet; + quiet = false; + } else { + quiet = quiet || false; + } + async.waterfall([ function (next) { db.setObject('settings:' + hash, values, next); @@ -29,7 +36,7 @@ Settings.set = function (hash, values, callback) { settings: values, }); - Meta.reloadRequired = true; + Meta.reloadRequired = !quiet; next(); }, ], callback); From de55c8e43176f90970dddc9d035d27d57a2bfd66 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Wed, 2 Aug 2017 13:03:34 -0400 Subject: [PATCH 15/35] closes #4070 --- public/src/admin/manage/category.js | 4 +- public/src/admin/manage/group.js | 4 ++ src/controllers/admin/groups.js | 50 +++++++++++++++++++------ src/controllers/groups.js | 58 +++++++++++++---------------- src/groups.js | 2 +- src/views/admin/manage/group.tpl | 7 ++++ test/groups.js | 13 ++++++- 7 files changed, 89 insertions(+), 49 deletions(-) diff --git a/public/src/admin/manage/category.js b/public/src/admin/manage/category.js index 65ff87e683..2115db338e 100644 --- a/public/src/admin/manage/category.js +++ b/public/src/admin/manage/category.js @@ -37,6 +37,7 @@ define('admin/manage/category', [ }); } + handleTags(); $('#category-settings input, #category-settings select').not($('.privilege-table-container input')) .on('change', function (ev) { @@ -169,8 +170,6 @@ define('admin/manage/category', [ }); Category.setupPrivilegeTable(); - - handleTags(); }; function modified(el) { @@ -202,6 +201,7 @@ define('admin/manage/category', [ ajaxify.data.category.tagWhitelist.forEach(function (tag) { tagEl.tagsinput('add', tag); }); + tagEl.on('itemAdded itemRemoved', function () { modified(tagEl); }); diff --git a/public/src/admin/manage/group.js b/public/src/admin/manage/group.js index 17e7ddc44d..b334dcb3fb 100644 --- a/public/src/admin/manage/group.js +++ b/public/src/admin/manage/group.js @@ -21,6 +21,10 @@ define('admin/manage/group', [ var groupName = ajaxify.data.group.name; + $('#group-selector').on('change', function () { + ajaxify.go('admin/manage/groups/' + $(this).val() + window.location.hash); + }); + memberList.init('admin/manage/group'); changeGroupUserTitle.keyup(function () { diff --git a/src/controllers/admin/groups.js b/src/controllers/admin/groups.js index b8d9291474..a8a4f269b7 100644 --- a/src/controllers/admin/groups.js +++ b/src/controllers/admin/groups.js @@ -1,6 +1,7 @@ 'use strict'; var async = require('async'); +var validator = require('validator'); var db = require('../../database'); var groups = require('../../groups'); @@ -16,12 +17,9 @@ groupsController.list = function (req, res, next) { async.waterfall([ function (next) { - db.getSortedSetRange('groups:createtime', 0, -1, next); + getGroupNames(next); }, function (groupNames, next) { - groupNames = groupNames.filter(function (name) { - return name.indexOf(':privileges:') === -1 && name !== 'registered-users'; - }); pageCount = Math.ceil(groupNames.length / groupsPerPage); var start = (page - 1) * groupsPerPage; @@ -44,20 +42,48 @@ groupsController.get = function (req, res, callback) { var groupName = req.params.name; async.waterfall([ function (next) { - groups.exists(groupName, next); + async.parallel({ + groupNames: function (next) { + getGroupNames(next); + }, + group: function (next) { + groups.get(groupName, { uid: req.uid, truncateUserList: true, userListCount: 20 }, next); + }, + }, next); }, - function (exists, next) { - if (!exists) { + function (result) { + if (!result.group) { return callback(); } - groups.get(groupName, { uid: req.uid, truncateUserList: true, userListCount: 20 }, next); - }, - function (group) { - group.isOwner = true; + result.group.isOwner = true; + + result.groupNames = result.groupNames.map(function (name) { + return { + encodedName: encodeURIComponent(name), + displayName: validator.escape(String(name)), + selected: name === groupName, + }; + }); + res.render('admin/manage/group', { - group: group, + group: result.group, + groupNames: result.groupNames, allowPrivateGroups: parseInt(meta.config.allowPrivateGroups, 10) === 1, }); }, ], callback); }; + +function getGroupNames(callback) { + async.waterfall([ + function (next) { + db.getSortedSetRange('groups:createtime', 0, -1, next); + }, + function (groupNames, next) { + groupNames = groupNames.filter(function (name) { + return name !== 'registered-users' && !groups.isPrivilegeGroup(name); + }); + next(null, groupNames); + }, + ], callback); +} diff --git a/src/controllers/groups.js b/src/controllers/groups.js index 94f5469ef4..0703915e6f 100644 --- a/src/controllers/groups.js +++ b/src/controllers/groups.js @@ -98,21 +98,18 @@ groupsController.details = function (req, res, callback) { }, }, next); }, - ], function (err, results) { - if (err) { - return callback(err); - } - - if (!results.group) { - return callback(); - } - results.group.isOwner = results.group.isOwner || results.isAdmin || (results.isGlobalMod && !results.group.system); - results.title = '[[pages:group, ' + results.group.displayName + ']]'; - results.breadcrumbs = helpers.buildBreadcrumbs([{ text: '[[pages:groups]]', url: '/groups' }, { text: results.group.displayName }]); - results.allowPrivateGroups = parseInt(meta.config.allowPrivateGroups, 10) === 1; + function (results) { + if (!results.group) { + return callback(); + } + results.group.isOwner = results.group.isOwner || results.isAdmin || (results.isGlobalMod && !results.group.system); + results.title = '[[pages:group, ' + results.group.displayName + ']]'; + results.breadcrumbs = helpers.buildBreadcrumbs([{ text: '[[pages:groups]]', url: '/groups' }, { text: results.group.displayName }]); + results.allowPrivateGroups = parseInt(meta.config.allowPrivateGroups, 10) === 1; - res.render('groups/details', results); - }); + res.render('groups/details', results); + }, + ], callback); }; groupsController.members = function (req, res, callback) { @@ -139,24 +136,21 @@ groupsController.members = function (req, res, callback) { user.getUsersFromSet('group:' + groupName + ':members', req.uid, 0, 49, next); }, - ], function (err, users) { - if (err) { - return callback(err); - } - - var breadcrumbs = helpers.buildBreadcrumbs([ - { text: '[[pages:groups]]', url: '/groups' }, - { text: validator.escape(String(groupName)), url: '/groups/' + req.params.slug }, - { text: '[[groups:details.members]]' }, - ]); - - res.render('groups/members', { - users: users, - nextStart: 50, - loadmore_display: users.length > 50 ? 'block' : 'hide', - breadcrumbs: breadcrumbs, - }); - }); + function (users) { + var breadcrumbs = helpers.buildBreadcrumbs([ + { text: '[[pages:groups]]', url: '/groups' }, + { text: validator.escape(String(groupName)), url: '/groups/' + req.params.slug }, + { text: '[[groups:details.members]]' }, + ]); + + res.render('groups/members', { + users: users, + nextStart: 50, + loadmore_display: users.length > 50 ? 'block' : 'hide', + breadcrumbs: breadcrumbs, + }); + }, + ], callback); }; groupsController.uploadCover = function (req, res, next) { diff --git a/src/groups.js b/src/groups.js index 6462819e9e..ed96f415b0 100644 --- a/src/groups.js +++ b/src/groups.js @@ -135,7 +135,7 @@ Groups.get = function (groupName, options, callback) { function (_results, next) { results = _results; if (!results.base) { - return callback(new Error('[[error:no-group]]')); + return callback(null, null); } plugins.fireHook('filter:parse.raw', results.base.description, next); }, diff --git a/src/views/admin/manage/group.tpl b/src/views/admin/manage/group.tpl index 0805da3e06..b9170df21a 100644 --- a/src/views/admin/manage/group.tpl +++ b/src/views/admin/manage/group.tpl @@ -93,6 +93,13 @@ +
+ +
diff --git a/test/groups.js b/test/groups.js index d245f5744d..311e4ab93b 100644 --- a/test/groups.js +++ b/test/groups.js @@ -97,6 +97,14 @@ describe('Groups', function () { done(); }); }); + + it('should return null if group does not exist', function (done) { + Groups.get('doesnotexist', {}, function (err, groupObj) { + assert.ifError(err); + assert.strictEqual(groupObj, null); + done(); + }); + }); }); describe('.search()', function () { @@ -375,8 +383,9 @@ describe('Groups', function () { Groups.destroy('foobar?', function (err) { assert.ifError(err); - Groups.get('foobar?', {}, function (err) { - assert(err, 'Group still exists!'); + Groups.get('foobar?', {}, function (err, groupObj) { + assert.ifError(err); + assert.strictEqual(groupObj, null); done(); }); From bd5edc55aa3437af1d3f92d0f98125ae27c3c3cf Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Wed, 2 Aug 2017 13:45:00 -0400 Subject: [PATCH 16/35] closes #5086 --- src/socket.io/helpers.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/socket.io/helpers.js b/src/socket.io/helpers.js index 9eedab2fb0..0f158cd080 100644 --- a/src/socket.io/helpers.js +++ b/src/socket.io/helpers.js @@ -89,10 +89,13 @@ SocketHelpers.sendNotificationToPostOwner = function (pid, fromuid, command, not }, function (_postData, next) { postData = _postData; - privileges.posts.can('read', pid, postData.uid, next); + async.parallel({ + canRead: async.apply(privileges.posts.can, 'read', pid, postData.uid), + isIgnoring: async.apply(topics.isIgnoring, [postData.tid], postData.uid), + }, next); }, - function (canRead, next) { - if (!canRead || !postData.uid || fromuid === parseInt(postData.uid, 10)) { + function (results, next) { + if (!results.canRead || results.isIgnoring[0] || !postData.uid || fromuid === parseInt(postData.uid, 10)) { return; } async.parallel({ From 44353a2b39c80ac39595c1830cf2105a4df9ad5e Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Wed, 2 Aug 2017 16:17:24 -0400 Subject: [PATCH 17/35] closes #5854 --- public/src/admin/general/dashboard.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/public/src/admin/general/dashboard.js b/public/src/admin/general/dashboard.js index 6b544ae29c..2d08c73685 100644 --- a/public/src/admin/general/dashboard.js +++ b/public/src/admin/general/dashboard.js @@ -232,6 +232,9 @@ define('admin/general/dashboard', ['semver', 'Chart', 'translator'], function (s }, }], }, + tooltips: { + mode: 'x', + }, }, }); From e9f8cdc7f064a811ed2553a3ea4ef99f6f8f1d95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 2 Aug 2017 17:42:07 -0400 Subject: [PATCH 18/35] closes #5855 --- src/privileges/categories.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/privileges/categories.js b/src/privileges/categories.js index 97889c2b2e..9c5c9f9f51 100644 --- a/src/privileges/categories.js +++ b/src/privileges/categories.js @@ -15,21 +15,23 @@ module.exports = function (privileges) { privileges.categories.list = function (cid, callback) { // Method used in admin/category controller to show all users/groups with privs in that given cid - + var privilegeLabels = privileges.privilegeLabels.slice(); + var userPrivilegeList = privileges.userPrivilegeList.slice(); + var groupPrivilegeList = privileges.groupPrivilegeList.slice(); async.waterfall([ function (next) { async.parallel({ labels: function (next) { async.parallel({ - users: async.apply(plugins.fireHook, 'filter:privileges.list_human', privileges.privilegeLabels), - groups: async.apply(plugins.fireHook, 'filter:privileges.groups.list_human', privileges.privilegeLabels), + users: async.apply(plugins.fireHook, 'filter:privileges.list_human', privilegeLabels), + groups: async.apply(plugins.fireHook, 'filter:privileges.groups.list_human', privilegeLabels), }, next); }, users: function (next) { var userPrivileges; var memberSets; async.waterfall([ - async.apply(plugins.fireHook, 'filter:privileges.list', privileges.userPrivilegeList), + async.apply(plugins.fireHook, 'filter:privileges.list', userPrivilegeList), function (_privs, next) { userPrivileges = _privs; groups.getMembersOfGroups(userPrivileges.map(function (privilege) { @@ -62,7 +64,7 @@ module.exports = function (privileges) { groups: function (next) { var groupPrivileges; async.waterfall([ - async.apply(plugins.fireHook, 'filter:privileges.groups.list', privileges.groupPrivilegeList), + async.apply(plugins.fireHook, 'filter:privileges.groups.list', groupPrivilegeList), function (_privs, next) { groupPrivileges = _privs; async.parallel({ From c0f390322ced18a0e6d5255ae50812508c5a0757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 2 Aug 2017 18:12:08 -0400 Subject: [PATCH 19/35] https://github.com/Schamper/nodebb-plugin-poll/issues/86 --- src/categories/create.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/categories/create.js b/src/categories/create.js index e489bfa815..d4a74084d9 100644 --- a/src/categories/create.js +++ b/src/categories/create.js @@ -156,7 +156,7 @@ module.exports = function (Categories) { async.waterfall([ function (next) { plugins.fireHook('filter:categories.copyPrivilegesFrom', { - privileges: privileges.privilegeList, + privileges: privileges.privilegeList.slice(), fromCid: fromCid, toCid: toCid, }, next); From d32f5459b7b65576de3d9001785b5559567049dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 2 Aug 2017 19:44:35 -0400 Subject: [PATCH 20/35] fix unread icon --- public/src/client/footer.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/src/client/footer.js b/public/src/client/footer.js index 25444f0912..8c20ead59b 100644 --- a/public/src/client/footer.js +++ b/public/src/client/footer.js @@ -7,7 +7,10 @@ define('forum/footer', ['notifications', 'chat', 'components', 'translator'], fu translator.prepareDOM(); function updateUnreadTopicCount(url, count) { - $('a[href="' + config.relative_path + url + '"] i') + if (!utils.isNumber(count)) { + return; + } + $('#header-menu a[href="' + config.relative_path + url + '"] i') .toggleClass('unread-count', count > 0) .attr('data-content', count > 99 ? '99+' : count); } @@ -35,7 +38,8 @@ define('forum/footer', ['notifications', 'chat', 'components', 'translator'], fu function increaseUnreadCount() { var count = parseInt($('#unread-count i').attr('data-content'), 10) + 1; - updateUnreadTopicCount(count); + + updateUnreadTopicCount('/unread', count); } function markTopicsUnread(tid) { From 3e4a4d7d55d4552e59166b767d69805cf8651780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 2 Aug 2017 19:53:17 -0400 Subject: [PATCH 21/35] remove header selector --- public/src/client/footer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/src/client/footer.js b/public/src/client/footer.js index 8c20ead59b..8f8e72ba1d 100644 --- a/public/src/client/footer.js +++ b/public/src/client/footer.js @@ -10,7 +10,7 @@ define('forum/footer', ['notifications', 'chat', 'components', 'translator'], fu if (!utils.isNumber(count)) { return; } - $('#header-menu a[href="' + config.relative_path + url + '"] i') + $('a[href="' + config.relative_path + url + '"] i') .toggleClass('unread-count', count > 0) .attr('data-content', count > 99 ? '99+' : count); } From 3a3ccd1d586108a858a5f58b2cf4f1800235dc08 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Thu, 3 Aug 2017 09:23:37 +0000 Subject: [PATCH 22/35] Latest translations and fallbacks --- public/language/zh-CN/admin/settings/user.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/language/zh-CN/admin/settings/user.json b/public/language/zh-CN/admin/settings/user.json index 568510b880..37915f486e 100644 --- a/public/language/zh-CN/admin/settings/user.json +++ b/public/language/zh-CN/admin/settings/user.json @@ -13,9 +13,9 @@ "disable-email-changes": "禁用修改邮箱", "disable-password-changes": "禁用修改密码", "allow-account-deletion": "允许消除帐号", - "user-info-private": "Hide user list and data from guests", - "hide-fullname": "Hide fullname from users", - "hide-email": "Hide email from users", + "user-info-private": "使用户信息私有化", + "hide-fullname": "隐藏用户的全名", + "hide-email": "隐藏用户的邮箱", "themes": "主题", "disable-user-skins": "阻止用户选择自定义皮肤", "account-protection": "帐号保护", From 51facb3cb01f0679e1a53436b912383d0fcd361d Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Thu, 3 Aug 2017 11:59:12 -0400 Subject: [PATCH 23/35] closes #5857 --- package.json | 4 ++-- public/src/client/footer.js | 26 +++++++++++++++++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 09b8d4dfe3..a069249e79 100644 --- a/package.json +++ b/package.json @@ -65,9 +65,9 @@ "nodebb-plugin-spam-be-gone": "0.5.0", "nodebb-rewards-essentials": "0.0.9", "nodebb-theme-lavender": "4.0.5", - "nodebb-theme-persona": "5.0.20", + "nodebb-theme-persona": "5.0.21", "nodebb-theme-slick": "1.1.0", - "nodebb-theme-vanilla": "6.0.15", + "nodebb-theme-vanilla": "6.0.16", "nodebb-widget-essentials": "3.0.1", "nodemailer": "2.6.4", "nodemailer-sendmail-transport": "1.0.0", diff --git a/public/src/client/footer.js b/public/src/client/footer.js index 8f8e72ba1d..72d689c13a 100644 --- a/public/src/client/footer.js +++ b/public/src/client/footer.js @@ -10,7 +10,7 @@ define('forum/footer', ['notifications', 'chat', 'components', 'translator'], fu if (!utils.isNumber(count)) { return; } - $('a[href="' + config.relative_path + url + '"] i') + $('a[href="' + config.relative_path + url + '"].navigation-link i') .toggleClass('unread-count', count > 0) .attr('data-content', count > 99 ? '99+' : count); } @@ -29,17 +29,33 @@ define('forum/footer', ['notifications', 'chat', 'components', 'translator'], fu var post = data.posts[0]; if (parseInt(post.uid, 10) !== parseInt(app.user.uid, 10) && !unreadTopics[post.topic.tid]) { - increaseUnreadCount(); + increaseUnreadCount(data); markTopicsUnread(post.topic.tid); unreadTopics[post.topic.tid] = true; } } } - function increaseUnreadCount() { - var count = parseInt($('#unread-count i').attr('data-content'), 10) + 1; + function increaseUnreadCount(data) { + var post = data.posts[0]; - updateUnreadTopicCount('/unread', count); + var unreadTopicCount = parseInt($('a[href="' + config.relative_path + '/unread"].navigation-link i').attr('data-content'), 10) + 1; + updateUnreadTopicCount('/unread', unreadTopicCount); + + var isNewTopic = post.isMain && parseInt(post.uid, 10) !== parseInt(app.user.uid); + if (isNewTopic) { + var unreadNewTopicCount = parseInt($('a[href="' + config.relative_path + '/unread/new"].navigation-link i').attr('data-content'), 10) + 1; + updateUnreadTopicCount('/unread/new', unreadNewTopicCount); + } + socket.emit('topics.isFollowed', post.topic.tid, function (err, isFollowed) { + if (err) { + return app.alertError(err.message); + } + if (isFollowed) { + var unreadWatchedTopicCount = parseInt($('a[href="' + config.relative_path + '/unread/watched"].navigation-link i').attr('data-content'), 10) + 1; + updateUnreadTopicCount('/unread/watched', unreadWatchedTopicCount); + } + }); } function markTopicsUnread(tid) { From 29e7bdbc99bfaeb2d664654a43714c44250864e8 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 3 Aug 2017 10:48:31 -0400 Subject: [PATCH 24/35] expose license info in plugin API for installed plugins --- src/plugins.js | 1 + src/plugins/data.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/plugins.js b/src/plugins.js index 57665cbe90..2dd377ae6d 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -265,6 +265,7 @@ Plugins.normalise = function (apiReturn, callback) { pluginMap[plugin.id].active = plugin.active; pluginMap[plugin.id].version = plugin.version; pluginMap[plugin.id].settingsRoute = plugin.settingsRoute; + pluginMap[plugin.id].license = plugin.license; // If package.json defines a version to use, stick to that if (dependencies.hasOwnProperty(plugin.id) && semver.valid(dependencies[plugin.id])) { diff --git a/src/plugins/data.js b/src/plugins/data.js index 3027b491c4..8591346a7e 100644 --- a/src/plugins/data.js +++ b/src/plugins/data.js @@ -55,6 +55,7 @@ function loadPluginInfo(pluginPath, callback) { pluginData.repository = packageData.repository; pluginData.nbbpm = packageData.nbbpm; pluginData.path = pluginPath; + pluginData.license = packageData.license; } catch (err) { var pluginDir = path.basename(pluginPath); From 4f9cbabec36c094dd893d0836c6fcc56c3be6dca Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 3 Aug 2017 12:06:01 -0400 Subject: [PATCH 25/35] fixes #5853 --- package.json | 3 +- .../language/en-GB/admin/extend/plugins.json | 6 +- public/src/admin/extend/plugins.js | 72 +++++++++++++------ src/plugins/data.js | 12 +++- .../admin/partials/installed_plugin_item.tpl | 2 +- src/views/admin/partials/plugins/license.tpl | 5 ++ 6 files changed, 75 insertions(+), 25 deletions(-) create mode 100644 src/views/admin/partials/plugins/license.tpl diff --git a/package.json b/package.json index a069249e79..6c2d79c48b 100644 --- a/package.json +++ b/package.json @@ -90,6 +90,7 @@ "socket.io-client": "2.0.1", "socket.io-redis": "5.0.1", "socketio-wildcard": "2.0.0", + "spdx-license-list": "^3.0.1", "string": "^3.0.0", "templates.js": "0.3.11", "toobusy-js": "^0.5.1", @@ -137,4 +138,4 @@ "url": "https://github.com/barisusakli" } ] -} \ No newline at end of file +} diff --git a/public/language/en-GB/admin/extend/plugins.json b/public/language/en-GB/admin/extend/plugins.json index cf80583db4..7515f72590 100644 --- a/public/language/en-GB/admin/extend/plugins.json +++ b/public/language/en-GB/admin/extend/plugins.json @@ -43,5 +43,9 @@ "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", "alert.package-manager-unreachable": "

NodeBB could not reach the package manager, an upgrade is not suggested at this time.

", "alert.incompatible": "

Your version of NodeBB (v%1) is only cleared to upgrade to v%2 of this plugin. Please update your NodeBB if you wish to install a newer version of this plugin.

", - "alert.possibly-incompatible": "

No Compatibility Information Found

This plugin did not specify a specific version for installation given your NodeBB version. Full compatibility cannot be guaranteed, and may cause your NodeBB to no longer start properly.

In the event that NodeBB cannot boot properly:

$ ./nodebb reset plugin=\"%1\"

Continue installation of latest version of this plugin?

" + "alert.possibly-incompatible": "

No Compatibility Information Found

This plugin did not specify a specific version for installation given your NodeBB version. Full compatibility cannot be guaranteed, and may cause your NodeBB to no longer start properly.

In the event that NodeBB cannot boot properly:

$ ./nodebb reset plugin=\"%1\"

Continue installation of latest version of this plugin?

", + + "license.title": "Plugin License Information", + "license.intro": "The plugin %1 is licensed under the %2. Please read and understand the license terms prior to activating this plugin.", + "license.cta": "Do you wish to continue with activating this plugin?" } diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index 9622b4fbc0..bd8ba1b6cb 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -21,33 +21,63 @@ define('admin/extend/plugins', ['jqueryui', 'translator'], function (jqueryui, t var pluginEl = $(this).parents('li'); pluginID = pluginEl.attr('data-plugin-id'); var btn = $('#' + pluginID + ' [data-action="toggleActive"]'); - socket.emit('admin.plugins.toggleActive', pluginID, function (err, status) { - if (err) { - return app.alertError(err); - } - translator.translate(' [[admin/extend/plugins:plugin-item.' + (status.active ? 'deactivate' : 'activate') + ']]', function (buttonText) { - btn.html(buttonText); - btn.toggleClass('btn-warning', status.active).toggleClass('btn-success', !status.active); + var pluginData = ajaxify.data.installed[pluginEl.attr('data-plugin-index')]; - // clone it to active plugins tab - if (status.active && !$('#active #' + pluginID).length) { - $('#active ul').prepend(pluginEl.clone(true)); + function toggleActivate () { + socket.emit('admin.plugins.toggleActive', pluginID, function (err, status) { + if (err) { + return app.alertError(err); } + translator.translate(' [[admin/extend/plugins:plugin-item.' + (status.active ? 'deactivate' : 'activate') + ']]', function (buttonText) { + btn.html(buttonText); + btn.toggleClass('btn-warning', status.active).toggleClass('btn-success', !status.active); + + // clone it to active plugins tab + if (status.active && !$('#active #' + pluginID).length) { + $('#active ul').prepend(pluginEl.clone(true)); + } + + // Toggle active state in template data + pluginData.active = !pluginData.active; + + app.alert({ + alert_id: 'plugin_toggled', + title: '[[admin/extend/plugins:alert.' + (status.active ? 'enabled' : 'disabled') + ']]', + message: '[[admin/extend/plugins:alert.' + (status.active ? 'activate-success' : 'deactivate-success') + ']]', + type: status.active ? 'warning' : 'success', + timeout: 5000, + clickfn: function () { + require(['admin/modules/instance'], function (instance) { + instance.restart(); + }); + }, + }); + }); + }); + } - app.alert({ - alert_id: 'plugin_toggled', - title: '[[admin/extend/plugins:alert.' + (status.active ? 'enabled' : 'disabled') + ']]', - message: '[[admin/extend/plugins:alert.' + (status.active ? 'activate-success' : 'deactivate-success') + ']]', - type: status.active ? 'warning' : 'success', - timeout: 5000, - clickfn: function () { - require(['admin/modules/instance'], function (instance) { - instance.restart(); - }); + if (pluginData.license && pluginData.active !== true) { + templates.parse('admin/partials/plugins/license', pluginData, function (html) { + var modal = bootbox.dialog({ + title: '[[admin/extend/plugins:license.title]]', + message: html, + size: 'large', + buttons: { + cancel: { + label: '[[modules:bootbox.cancel]]', + className: 'btn-link', + }, + save: { + label: '[[modules:bootbox.confirm]]', + className: 'btn-primary', + callback: toggleActivate, + } }, }); }); - }); + } else { + toggleActivate(pluginID); + } }); pluginsList.on('click', 'button[data-action="toggleInstall"]', function () { diff --git a/src/plugins/data.js b/src/plugins/data.js index 8591346a7e..ed81eed678 100644 --- a/src/plugins/data.js +++ b/src/plugins/data.js @@ -44,9 +44,20 @@ function loadPluginInfo(pluginPath, callback) { } var pluginData; var packageData; + var licenseData; try { pluginData = JSON.parse(results.plugin); packageData = JSON.parse(results.package); + try { + licenseData = require('spdx-license-list/licenses/' + packageData.license); + pluginData.license = { + name: licenseData.name, + text: licenseData.licenseText, + }; + } catch (e) { + // No license matched + pluginData.license = null; + } pluginData.id = packageData.name; pluginData.name = packageData.name; @@ -55,7 +66,6 @@ function loadPluginInfo(pluginPath, callback) { pluginData.repository = packageData.repository; pluginData.nbbpm = packageData.nbbpm; pluginData.path = pluginPath; - pluginData.license = packageData.license; } catch (err) { var pluginDir = path.basename(pluginPath); diff --git a/src/views/admin/partials/installed_plugin_item.tpl b/src/views/admin/partials/installed_plugin_item.tpl index 2e95606ef8..0a7524c815 100644 --- a/src/views/admin/partials/installed_plugin_item.tpl +++ b/src/views/admin/partials/installed_plugin_item.tpl @@ -1,5 +1,5 @@ -
  • +
  • [[admin/extend/plugins:plugin-item.themes]] diff --git a/src/views/admin/partials/plugins/license.tpl b/src/views/admin/partials/plugins/license.tpl new file mode 100644 index 0000000000..6c1bef8f04 --- /dev/null +++ b/src/views/admin/partials/plugins/license.tpl @@ -0,0 +1,5 @@ +[[admin/extend/plugins:license.intro, {name}, {license.name}]] + +
    {license.text}
    + +[[admin/extend/plugins:license.cta]] \ No newline at end of file From 8928db539b0e19d94bbb1288b0e4e3de83fa222b Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Thu, 3 Aug 2017 12:11:46 -0400 Subject: [PATCH 26/35] add missing radix --- public/src/client/footer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/src/client/footer.js b/public/src/client/footer.js index 72d689c13a..7dcdade78b 100644 --- a/public/src/client/footer.js +++ b/public/src/client/footer.js @@ -42,7 +42,7 @@ define('forum/footer', ['notifications', 'chat', 'components', 'translator'], fu var unreadTopicCount = parseInt($('a[href="' + config.relative_path + '/unread"].navigation-link i').attr('data-content'), 10) + 1; updateUnreadTopicCount('/unread', unreadTopicCount); - var isNewTopic = post.isMain && parseInt(post.uid, 10) !== parseInt(app.user.uid); + var isNewTopic = post.isMain && parseInt(post.uid, 10) !== parseInt(app.user.uid, 10); if (isNewTopic) { var unreadNewTopicCount = parseInt($('a[href="' + config.relative_path + '/unread/new"].navigation-link i').attr('data-content'), 10) + 1; updateUnreadTopicCount('/unread/new', unreadNewTopicCount); From 784440830164fe43e24652b0c64354e6e7d1922c Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 3 Aug 2017 12:15:43 -0400 Subject: [PATCH 27/35] linting --- public/src/admin/extend/plugins.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index bd8ba1b6cb..8723a02a03 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -23,7 +23,7 @@ define('admin/extend/plugins', ['jqueryui', 'translator'], function (jqueryui, t var btn = $('#' + pluginID + ' [data-action="toggleActive"]'); var pluginData = ajaxify.data.installed[pluginEl.attr('data-plugin-index')]; - function toggleActivate () { + function toggleActivate() { socket.emit('admin.plugins.toggleActive', pluginID, function (err, status) { if (err) { return app.alertError(err); @@ -58,7 +58,7 @@ define('admin/extend/plugins', ['jqueryui', 'translator'], function (jqueryui, t if (pluginData.license && pluginData.active !== true) { templates.parse('admin/partials/plugins/license', pluginData, function (html) { - var modal = bootbox.dialog({ + bootbox.dialog({ title: '[[admin/extend/plugins:license.title]]', message: html, size: 'large', @@ -71,7 +71,7 @@ define('admin/extend/plugins', ['jqueryui', 'translator'], function (jqueryui, t label: '[[modules:bootbox.confirm]]', className: 'btn-primary', callback: toggleActivate, - } + }, }, }); }); From 128b92287318fbe7a0d89d6f6cb3a6668c22805e Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 3 Aug 2017 13:29:28 -0400 Subject: [PATCH 28/35] fixes #5428 --- public/src/client/topic/posts.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/src/client/topic/posts.js b/public/src/client/topic/posts.js index 1773357122..626fcde6bd 100644 --- a/public/src/client/topic/posts.js +++ b/public/src/client/topic/posts.js @@ -102,6 +102,10 @@ define('forum/topic/posts', [ return; } + if (!isPreviousPostAdded && data.posts[0].selfPost) { + return ajaxify.go('post/' + data.posts[0].pid); + } + createNewPosts(data, components.get('post').not('[data-index=0]'), direction, function (html) { if (html) { html.addClass('new'); From 5d53c41db74b04305dc51dc4926ac03782348641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 3 Aug 2017 20:15:48 -0400 Subject: [PATCH 29/35] fix unlink calls --- install/web.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/install/web.js b/install/web.js index 88b2495614..7dd85560ac 100644 --- a/install/web.js +++ b/install/web.js @@ -119,8 +119,12 @@ function launch(req, res) { process.stdout.write(' "./nodebb restart" to restart NodeBB\n'); async.parallel([ - async.apply(fs.unlink(path.join(__dirname, '../public/installer.css'))), - async.apply(fs.unlink(path.join(__dirname, '../public/installer.min.js'))), + function (next) { + fs.unlink(path.join(__dirname, '../public/installer.css'), next); + }, + function (next) { + fs.unlink(path.join(__dirname, '../public/installer.min.js'), next); + }, ], function (err) { if (err) { winston.warn('Unable to remove installer files'); From 82b5246b2857075fe033e05bbe8f359e1f96a3fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 3 Aug 2017 20:52:09 -0400 Subject: [PATCH 30/35] fix process.env.url if it was changed --- loader.js | 3 +++ src/start.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/loader.js b/loader.js index 21510018b7..eb29cdca74 100644 --- a/loader.js +++ b/loader.js @@ -168,6 +168,9 @@ Loader.restart = function () { nconf.set('url', conf.url); nconf.stores.env.readOnly = true; + if (process.env.url !== conf.url) { + process.env.url = conf.url; + } Loader.start(); }); }; diff --git a/src/start.js b/src/start.js index b9ab133b6d..0fbdcb4ae8 100644 --- a/src/start.js +++ b/src/start.js @@ -104,7 +104,7 @@ function setupConfigs() { function printStartupInfo() { if (nconf.get('isPrimary') === 'true') { - winston.info('Initializing NodeBB v%s', nconf.get('version')); + winston.info('Initializing NodeBB v%s %s', nconf.get('version'), nconf.get('url')); var host = nconf.get(nconf.get('database') + ':host'); var storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : ''; From 5a52e6f752e86fc7a5635aa33d252efb392b1e08 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Fri, 4 Aug 2017 09:23:25 +0000 Subject: [PATCH 31/35] Latest translations and fallbacks --- .../language/cs/admin/development/info.json | 2 +- public/language/cs/admin/extend/rewards.json | 2 +- .../language/cs/admin/general/homepage.json | 10 ++-- .../language/cs/admin/general/languages.json | 8 +-- .../language/cs/admin/general/navigation.json | 40 ++++++------- public/language/cs/admin/general/social.json | 6 +- public/language/cs/admin/general/sounds.json | 14 ++--- public/language/cs/admin/manage/groups.json | 60 +++++++++---------- public/language/cs/notifications.json | 44 +++++++------- public/language/cs/pages.json | 2 +- public/language/cs/success.json | 2 +- public/language/cs/tags.json | 10 ++-- public/language/cs/topic.json | 2 +- public/language/cs/user.json | 6 +- public/language/cs/users.json | 8 +-- 15 files changed, 108 insertions(+), 108 deletions(-) diff --git a/public/language/cs/admin/development/info.json b/public/language/cs/admin/development/info.json index f146fe61b2..60262b1082 100644 --- a/public/language/cs/admin/development/info.json +++ b/public/language/cs/admin/development/info.json @@ -4,7 +4,7 @@ "host": "host", "pid": "pid", "nodejs": "nodejs", - "online": "online", + "online": "připojen", "git": "git", "memory": "paměť", "load": "načíst", diff --git a/public/language/cs/admin/extend/rewards.json b/public/language/cs/admin/extend/rewards.json index dc8962e778..0a11d6a140 100644 --- a/public/language/cs/admin/extend/rewards.json +++ b/public/language/cs/admin/extend/rewards.json @@ -5,7 +5,7 @@ "condition-then": "Pak:", "max-claims": "Počet dosažitelnosti odměny", "zero-infinite": "Pro neomezeně zadejte 0", - "delete": "Smazat", + "delete": "Odstranit", "enable": "Povolit", "disable": "Zakázat", "control-panel": "Ovládací panel odměn", diff --git a/public/language/cs/admin/general/homepage.json b/public/language/cs/admin/general/homepage.json index 4866b8baf6..0dc9104843 100644 --- a/public/language/cs/admin/general/homepage.json +++ b/public/language/cs/admin/general/homepage.json @@ -1,7 +1,7 @@ { - "home-page": "Home Page", - "description": "Choose what page is shown when users navigate to the root URL of your forum.", - "home-page-route": "Home Page Route", - "custom-route": "Custom Route", - "allow-user-home-pages": "Allow User Home Pages" + "home-page": "Domovská stránka", + "description": "Vyberte, kterou stránku chcete zobrazit, jakmile uživatel přejde na výchozí URL vašeho fóra.", + "home-page-route": "Cesta k domovské stránce", + "custom-route": "Upravit cestu", + "allow-user-home-pages": "Povolit uživatelům domovské stránky" } \ No newline at end of file diff --git a/public/language/cs/admin/general/languages.json b/public/language/cs/admin/general/languages.json index bdd57849b3..37124c7d04 100644 --- a/public/language/cs/admin/general/languages.json +++ b/public/language/cs/admin/general/languages.json @@ -1,6 +1,6 @@ { - "language-settings": "Language Settings", - "description": "The default language determines the language settings for all users who are visiting your forum.
    Individual users can override the default language on their account settings page.", - "default-language": "Default Language", - "auto-detect": "Auto Detect Language Setting for Guests" + "language-settings": "Nastavení jazyka", + "description": "Výchozí jazyk určuje nastavení jazyka pro všechny uživatele navštěvující vaše fórum.
    Každý uživatel si může pak nastavit výchozí jazyk na stránce nastavení účtu.", + "default-language": "Výchozí jazyk", + "auto-detect": "Automaticky detekovat nastavení jazyka pro hosty" } \ No newline at end of file diff --git a/public/language/cs/admin/general/navigation.json b/public/language/cs/admin/general/navigation.json index c4ba0d09ac..379e4e596b 100644 --- a/public/language/cs/admin/general/navigation.json +++ b/public/language/cs/admin/general/navigation.json @@ -1,27 +1,27 @@ { - "icon": "Icon:", - "change-icon": "change", - "route": "Route:", - "tooltip": "Tooltip:", + "icon": "Ikona:", + "change-icon": "změnit", + "route": "Cesta:", + "tooltip": "Tip:", "text": "Text:", - "text-class": "Text Class: optional", - "id": "ID: optional", + "text-class": "Textová třída: doporučené", + "id": "ID: doporučené", - "properties": "Properties:", - "only-admins": "Only display to Admins", - "only-global-mods-and-admins": "Only display to Global Moderators and Admins", - "only-logged-in": "Only display to logged in users", - "open-new-window": "Open in a new window", + "properties": "Vlastnosti:", + "only-admins": "Zobrazuje se jen správci", + "only-global-mods-and-admins": "Zobrazuje se jen hlavním moderátorům a správcům", + "only-logged-in": "Zobrazuje se jen přihlášeným uživatelům", + "open-new-window": "Otevřít v novém okně", - "installed-plugins-required": "Installed Plugins Required:", - "search-plugin": "Search plugin", + "installed-plugins-required": "Vyžadovaná nainstalovaná rozšíření:", + "search-plugin": "Hledat rozšíření", - "btn.delete": "Delete", - "btn.disable": "Disable", - "btn.enable": "Enable", + "btn.delete": "Odstranit", + "btn.disable": "Zakázat", + "btn.enable": "Povolit", - "available-menu-items": "Available Menu Items", - "custom-route": "Custom Route", - "core": "core", - "plugin": "plugin" + "available-menu-items": "Dostupné položky nabídky", + "custom-route": "Upravit cestu", + "core": "jádro", + "plugin": "rozšíření" } \ No newline at end of file diff --git a/public/language/cs/admin/general/social.json b/public/language/cs/admin/general/social.json index 23aedfcfaa..5645b29e42 100644 --- a/public/language/cs/admin/general/social.json +++ b/public/language/cs/admin/general/social.json @@ -1,5 +1,5 @@ { - "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "post-sharing": "Sdílení příspěvku", + "info-plugins-additional": "Rozšíření mohou přidat další dodatečné sítě pro sdílení příspěvků.", + "save-success": "Úspěšně uložené sítě sdílející příspěvky." } \ No newline at end of file diff --git a/public/language/cs/admin/general/sounds.json b/public/language/cs/admin/general/sounds.json index 95ccbde0f1..d9b2796971 100644 --- a/public/language/cs/admin/general/sounds.json +++ b/public/language/cs/admin/general/sounds.json @@ -1,9 +1,9 @@ { - "notifications": "Notifications", - "chat-messages": "Chat Messages", - "play-sound": "Play", - "incoming-message": "Incoming Message", - "outgoing-message": "Outgoing Message", - "upload-new-sound": "Upload New Sound", - "saved": "Settings Saved" + "notifications": "Upozornění", + "chat-messages": "Zprávy konverzace", + "play-sound": "Přehrát", + "incoming-message": "Příchozí zpráva", + "outgoing-message": "Odchozí zpráva", + "upload-new-sound": "Nahrát nový zvuk", + "saved": "Nastavení bylo uloženo" } \ No newline at end of file diff --git a/public/language/cs/admin/manage/groups.json b/public/language/cs/admin/manage/groups.json index c019ec9823..48cf161b3a 100644 --- a/public/language/cs/admin/manage/groups.json +++ b/public/language/cs/admin/manage/groups.json @@ -1,35 +1,35 @@ { - "name": "Group Name", - "description": "Group Description", - "member-count": "Member Count", - "system": "System Group", - "edit": "Edit", - "search-placeholder": "Search", - "create": "Create Group", - "description-placeholder": "A short description about your group", - "create-button": "Create", + "name": "Název skupiny", + "description": "Popis skupiny", + "member-count": "Počet členů", + "system": "Systémová skupina", + "edit": "Upravit", + "search-placeholder": "Hledat", + "create": "Vytvořit skupinu", + "description-placeholder": "Krátký popis skupiny", + "create-button": "Vytvořit", - "alerts.create-failure": "Uh-Oh

    There was a problem creating your group. Please try again later!

    ", - "alerts.confirm-delete": "Are you sure you wish to delete this group?", + "alerts.create-failure": "Ale, ale

    Objevil se problém s vytvořením skupiny. Zkuste to později.

    ", + "alerts.confirm-delete": "Jste si jist, že chcete odstranit tuto skupinu?", - "edit.name": "Name", - "edit.description": "Description", - "edit.user-title": "Title of Members", - "edit.icon": "Group Icon", - "edit.label-color": "Group Label Color", - "edit.show-badge": "Show Badge", - "edit.private-details": "If enabled, joining of groups requires approval from a group owner.", - "edit.private-override": "Warning: Private groups is disabled at system level, which overrides this option.", - "edit.disable-requests": "Disable join requests", - "edit.hidden": "Hidden", - "edit.hidden-details": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", - "edit.add-user": "Add User to Group", - "edit.add-user-search": "Search Users", - "edit.members": "Member List", - "control-panel": "Groups Control Panel", - "revert": "Revert", + "edit.name": "Jméno", + "edit.description": "Popis", + "edit.user-title": "Název členů", + "edit.icon": "Ikona skupin", + "edit.label-color": "Barva popisu skupiny", + "edit.show-badge": "Zobrazit odznak", + "edit.private-details": "Je-li povoleno, připojení ke skupině vyžaduje schválení od vlastníka skupiny.", + "edit.private-override": "Upozornění: soukromé skupiny jsou zakázány na systémové úrovni, což tuto možnost zneplatňuje.", + "edit.disable-requests": "Zakázat požadavky pro připojení", + "edit.hidden": "Skrýt", + "edit.hidden-details": "Je-li povoleno, tato skupina nebude zobrazena na seznamu skupin a uživatelé musí být manuálně zvány", + "edit.add-user": "Přidat uživatele do skupiny", + "edit.add-user-search": "Hledat uživatele", + "edit.members": "Seznam členů", + "control-panel": "Ovládací panel skupin", + "revert": "Zpět", - "edit.no-users-found": "No Users Found", - "edit.confirm-remove-user": "Are you sure you want to remove this user?", - "edit.save-success": "Changes saved!" + "edit.no-users-found": "Nenalezen žádný uživatel", + "edit.confirm-remove-user": "Jste si jist/a, že chcete vyřadit tohoto uživatele?", + "edit.save-success": "Změny byly uloženy." } \ No newline at end of file diff --git a/public/language/cs/notifications.json b/public/language/cs/notifications.json index 309bd13e3f..e2eb415dda 100644 --- a/public/language/cs/notifications.json +++ b/public/language/cs/notifications.json @@ -7,7 +7,7 @@ "outgoing_link": "Odkaz mimo fórum", "outgoing_link_message": "Opouštíte %1", "continue_to": "Pokračovat na %1", - "return_to": "Vrátit na %1", + "return_to": "Vrátit se na %1", "new_notification": "Nové upozornění", "you_have_unread_notifications": "Máte nepřečtená upozornění.", "all": "Vše", @@ -20,27 +20,27 @@ "my-flags": "Označení přiřazené mě", "bans": "Blokace", "new_message_from": "Nová zpráva od %1", - "upvoted_your_post_in": "%1 has upvoted your post in %2.", - "upvoted_your_post_in_dual": "%1 and %2 have upvoted your post in %3.", - "upvoted_your_post_in_multiple": "%1 and %2 others have upvoted your post in %3.", - "moved_your_post": "%1 has moved your post to %2", - "moved_your_topic": "%1 has moved %2", - "user_flagged_post_in": "%1 flagged a post in %2", - "user_flagged_post_in_dual": "%1 and %2 flagged a post in %3", - "user_flagged_post_in_multiple": "%1 and %2 others flagged a post in %3", - "user_flagged_user": "%1 flagged a user profile (%2)", - "user_flagged_user_dual": "%1 and %2 flagged a user profile (%3)", - "user_flagged_user_multiple": "%1 and %2 others flagged a user profile (%3)", - "user_posted_to": "%1 has posted a reply to: %2", - "user_posted_to_dual": "%1%2 odpověděli v tématu %3", - "user_posted_to_multiple": "%1 a %2 další odpověděli v tématu %3", - "user_posted_topic": "%1 has posted a new topic: %2", - "user_started_following_you": "%1 started following you.", - "user_started_following_you_dual": "%1 and %2 started following you.", - "user_started_following_you_multiple": "%1 and %2 others started following you.", - "new_register": "%1 sent a registration request.", - "new_register_multiple": "There are %1 registration requests awaiting review.", - "flag_assigned_to_you": "Flag %1 has been assigned to you", + "upvoted_your_post_in": "%1 souhlasil s vaším příspěvkem v %2.", + "upvoted_your_post_in_dual": "%1 a %2 souhlasili s vaším příspěvkem v %3.", + "upvoted_your_post_in_multiple": "%1 a %2 další/ch souhlasilo s vaším příspěvkem v %3.", + "moved_your_post": "%1 přesunul váš příspěvek do %2", + "moved_your_topic": "%1 přesunul %2", + "user_flagged_post_in": "%1 označil příspěvek v %2", + "user_flagged_post_in_dual": "%1 a %2 označil příspěvek v %3", + "user_flagged_post_in_multiple": "%1 a %2 další/ch označili příspěvěk v %3", + "user_flagged_user": "%1 označil uživatelský profil (%2)", + "user_flagged_user_dual": "%1 a %2 označili uživatelský profil (%3)", + "user_flagged_user_multiple": "%1 a %2 další/ch označili uživatelský profil (%3)", + "user_posted_to": "%1 odpověděl na: %2", + "user_posted_to_dual": "%1%2 odpověděli na: %3", + "user_posted_to_multiple": "%1 a %2 další/ch odpověděli na %3", + "user_posted_topic": "%1 založil nové téma: %2", + "user_started_following_you": "%1 vás začal sledovat.", + "user_started_following_you_dual": "%1 a %2 vás začali sledovat.", + "user_started_following_you_multiple": "%1 a %2 další/ch vás začali sledovat.", + "new_register": "%1 odeslal registrační požadavek.", + "new_register_multiple": "Je zde %1 registračních požadavků čeká na vyřízení.", + "flag_assigned_to_you": "Označení %1 vám bylo přiřazeno", "email-confirmed": "E-mail potvrzen", "email-confirmed-message": "Děkujeme za ověření vaší e-mailové adresy. Váš účet je nyní aktivní.", "email-confirm-error-message": "Nastal problém s ověřením vaší e-mailové adresy. Kód je pravděpodobně neplatný nebo jeho platnost vypršela.", diff --git a/public/language/cs/pages.json b/public/language/cs/pages.json index 19b043c11b..fac29434a6 100644 --- a/public/language/cs/pages.json +++ b/public/language/cs/pages.json @@ -6,7 +6,7 @@ "popular-month": "Oblíbená témata pro tento měsíc", "popular-alltime": "Oblíbená témata za celou dobu", "recent": "Aktuální témata", - "moderator-tools": "Moderator Tools", + "moderator-tools": "Nástroje moderátora", "flagged-content": "Nahlášený obsah", "ip-blacklist": "Černá listina IP adres", "users/online": "Připojení uživatelé", diff --git a/public/language/cs/success.json b/public/language/cs/success.json index e008b71ccb..f86236427e 100644 --- a/public/language/cs/success.json +++ b/public/language/cs/success.json @@ -1,5 +1,5 @@ { - "success": "Úspěch", + "success": "Úspěšné", "topic-post": "Úspěšně umístěno.", "authentication-successful": "Úspěšné přihlášení", "settings-saved": "Nastavení byla uložena." diff --git a/public/language/cs/tags.json b/public/language/cs/tags.json index cc33e9a661..d92acf4052 100644 --- a/public/language/cs/tags.json +++ b/public/language/cs/tags.json @@ -1,7 +1,7 @@ { - "no_tag_topics": "Není zde žádné téma s touto značkou.", - "tags": "Značky", - "enter_tags_here": "Zde vložte značky, každý o délce %1 až %2 znaků.", - "enter_tags_here_short": "Zadejte značky…", - "no_tags": "Zatím tu není žádná značka." + "no_tag_topics": "Není zde žádné téma s tímto označením.", + "tags": "Označení", + "enter_tags_here": "Zde vložte označení, každé o délce %1 až %2 znaků.", + "enter_tags_here_short": "Zadejte označení…", + "no_tags": "Zatím tu není žádné označení." } \ No newline at end of file diff --git a/public/language/cs/topic.json b/public/language/cs/topic.json index f3835419c5..c5ce32c134 100644 --- a/public/language/cs/topic.json +++ b/public/language/cs/topic.json @@ -5,7 +5,7 @@ "no_topics_found": "Nebyla nalezena žádná témata.", "no_posts_found": "Nebyly nalezeny žádné příspěvky.", "post_is_deleted": "Tento příspěvek je vymazán.", - "topic_is_deleted": "Toto téma je smazáno.", + "topic_is_deleted": "Toto téma je odstraněno.", "profile": "Profil", "posted_by": "Přidal %1", "posted_by_guest": "Přidal Host", diff --git a/public/language/cs/user.json b/public/language/cs/user.json index ed91913fa1..5e72f3b2c4 100644 --- a/public/language/cs/user.json +++ b/public/language/cs/user.json @@ -73,7 +73,7 @@ "show_fullname": "Zobrazovat celé jméno", "restrict_chats": "Povolit konverzační zprávy pouze od uživatelů, které sleduji.", "digest_label": "Odebírat přehled", - "digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule", + "digest_description": "Přihlásit se k odběru e-mailových aktualizací pro toto fórum (nová oznámení a témata), dle stanoveného plánu", "digest_off": "Vypnuto", "digest_daily": "Denně", "digest_weekly": "Týdně", @@ -86,8 +86,8 @@ "has_no_posts": "Tento uživatel ještě nic nenapsal.", "has_no_topics": "Tento uživatel ještě nezaložil žádné téma.", "has_no_watched_topics": "Tento uživatel zatím nesleduje žádná témata.", - "has_no_upvoted_posts": "This user hasn't upvoted any posts yet.", - "has_no_downvoted_posts": "This user hasn't downvoted any posts yet.", + "has_no_upvoted_posts": "Tento uživatel zatím nevyjádřil souhlas u žádného příspěvku.", + "has_no_downvoted_posts": "Tento uživatel zatím nevyjádřil nesouhlas u žádného příspěvku.", "has_no_voted_posts": "Tento uživatel nemá žádné hlasovací příspěvky", "email_hidden": "E-mail je skryt", "hidden": "skrytý", diff --git a/public/language/cs/users.json b/public/language/cs/users.json index 217e4e3db1..fd7d73440f 100644 --- a/public/language/cs/users.json +++ b/public/language/cs/users.json @@ -2,13 +2,13 @@ "latest_users": "Nejnovější uživatelé", "top_posters": "Nejaktivnější", "most_reputation": "Nejváženější", - "most_flags": "Most Flags", - "search": "Vyhledávat", + "most_flags": "Nejoznačovanější", + "search": "Hledat", "enter_username": "Zadej uživatelské jméno k hledání", "load_more": "Načíst další", "users-found-search-took": "Nalezeno %1 uživatel(ů) za %2 vteřiny.", "filter-by": "Filtrovat dle", - "online-only": "Pouze online", + "online-only": "Pouze připojené", "invite": "Pozvat", "invitation-email-sent": "E-mailová pozvánka byla odeslána na adresu %1", "user_list": "Seznam uživatelů", @@ -16,6 +16,6 @@ "popular_topics": "Oblíbená témata", "unread_topics": "Nepřečtená témata", "categories": "Kategorie", - "tags": "Tagy", + "tags": "Značky", "no-users-found": "Nebyly nalezeny žádní uživatelé!" } \ No newline at end of file From 75e5073fc9f694617e98f5ab8aa17686a6a5fb87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 4 Aug 2017 22:23:55 -0400 Subject: [PATCH 32/35] closes #5859 --- install/web.js | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/install/web.js b/install/web.js index 7dd85560ac..16bef11509 100644 --- a/install/web.js +++ b/install/web.js @@ -42,7 +42,10 @@ web.install = function (port) { extended: true, })); - async.parallel([compileLess, compileJS], function () { + async.parallel([compileLess, compileJS], function (err) { + if (err) { + winston.error(err); + } setupRoutes(); launchExpress(port); }); @@ -152,13 +155,32 @@ function compileLess(callback) { } function compileJS(callback) { - var scriptPath = path.join(__dirname, '..'); - var result = uglify.minify(scripts.map(function (script) { - return path.join(scriptPath, script); - })); - + var code = ''; + async.eachSeries(scripts, function (srcPath, next) { + fs.readFile(path.join(__dirname, '..', srcPath), function (err, buffer) { + if (err) { + return next(err); + } - fs.writeFile(path.join(__dirname, '../public/installer.min.js'), result.code, callback); + code += buffer.toString(); + next(); + }); + }, function (err) { + if (err) { + return callback(err); + } + try { + var minified = uglify.minify(code, { + compress: false, + }); + if (!minified.code) { + return callback(new Error('[[error:failed-to-minify]]')); + } + fs.writeFile(path.join(__dirname, '../public/installer.min.js'), minified.code, callback); + } catch (e) { + callback(e); + } + }); } module.exports = web; From 23096e24b45e0c33eeb261f2a4a3c1b901d349e6 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Sat, 5 Aug 2017 09:23:21 +0000 Subject: [PATCH 33/35] Latest translations and fallbacks --- .../cs/admin/manage/ip-blacklist.json | 22 +++++++-------- .../cs/admin/manage/registration.json | 28 +++++++++---------- public/language/tr/pages.json | 2 +- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/public/language/cs/admin/manage/ip-blacklist.json b/public/language/cs/admin/manage/ip-blacklist.json index 5106434351..ebeceeeff4 100644 --- a/public/language/cs/admin/manage/ip-blacklist.json +++ b/public/language/cs/admin/manage/ip-blacklist.json @@ -1,15 +1,15 @@ { - "lead": "Configure your IP blacklist here.", - "description": "Occasionally, a user account ban is not enough of a deterrant. Other times, restricting access to the forum to a specific IP or a range of IPs is the best way to protect a forum. In these scenarios, you can add troublesome IP addresses or entire CIDR blocks to this blacklist, and they will be prevented from logging in to or registering a new account.", - "active-rules": "Active Rules", - "validate": "Validate Blacklist", - "apply": "Apply Blacklist", - "hints": "Syntax Hints", - "hint-1": "Define a single IP addresses per line. You can add IP blocks as long as they follow the CIDR format (e.g. 192.168.100.0/22).", - "hint-2": "You can add in comments by starting lines with the # symbol.", + "lead": "Zde nastavte černou listinu IP", + "description": "Občas zablokování účtu uživatele nestačí. Někdy je nejlepším způsobem ochrany fóra omezení přístupu pro určitou IP adresu nebo celý rozsah IP. V takovém případě můžete přidat problémové IP adresy nebo celé bloky CIDR do této černé listiny a tím jim bude zabráněno přihlásit se či zaregistrovat nový účet.", + "active-rules": "Aktivní pravidla", + "validate": "Potvrdit černou listinu", + "apply": "Použít černou listinu", + "hints": "Syntaxe rad", + "hint-1": "Určete jednotlivou IP adresu na řádek. Můžete přidat IP bloky splňují-li formát CIDR (tj. 192.168.100.0/22).", + "hint-2": "Můžete přidat i komentáře, bude-li řádek začínat symbolem #.", - "validate.x-valid": "%1 out of %2 rule(s) valid.", - "validate.x-invalid": "The following %1 rules are invalid:", + "validate.x-valid": "%1 z %2 pravidel je platných.", + "validate.x-invalid": "Následujících %1 pravidel není platných:", - "alerts.applied-success": "Blacklist Applied" + "alerts.applied-success": "Černá listina byla použita" } \ No newline at end of file diff --git a/public/language/cs/admin/manage/registration.json b/public/language/cs/admin/manage/registration.json index f51b4d56e6..6b4364d3ff 100644 --- a/public/language/cs/admin/manage/registration.json +++ b/public/language/cs/admin/manage/registration.json @@ -1,20 +1,20 @@ { - "queue": "Queue", - "description": "There are no users in the registration queue.
    To enable this feature, go to Settings → User → User Registration and set Registration Type to \"Admin Approval\".", + "queue": "Fronta", + "description": "V registrační frontě nejsou žádní uživatelé.
    Pro povolit tuto funkci, přejděte do nabídky Nastavení → Uživatel → Registrace uživatele a nastavte Typ registrace na \"Schválení správcem\".", - "list.name": "Name", - "list.email": "Email", + "list.name": "Jméno", + "list.email": "E-mail", "list.ip": "IP", - "list.time": "Time", - "list.username-spam": "Frequency: %1 Appears: %2 Confidence: %3", - "list.email-spam": "Frequency: %1 Appears: %2", - "list.ip-spam": "Frequency: %1 Appears: %2", + "list.time": "Čas", + "list.username-spam": "Frekvence: %1 zdá se: %2 důvěryhodnost: %3", + "list.email-spam": "Frekvence: %1 zdá se: %2", + "list.ip-spam": "Frekvence: %1 zdá se: %2", - "invitations": "Invitations", - "invitations.description": "Below is a complete list of invitations sent. Use ctrl-f to search through the list by email or username.

    The username will be displayed to the right of the emails for users who have redeemed their invitations.", - "invitations.inviter-username": "Inviter Username", - "invitations.invitee-email": "Invitee Email", - "invitations.invitee-username": "Invitee Username (if registered)", + "invitations": "Pozvání", + "invitations.description": "Níže je kompletní seznam odeslaných pozvání. Pro hledání v seznamu pomocí e-mailu nebo jména uživatele, použijte klávesu ctrl+f.

    U uživatelů, kteří využili pozvání, bude uživatelské jméno zobrazeno napravo od e-mailů.", + "invitations.inviter-username": "Uživatelské jméno pozvaného", + "invitations.invitee-email": "E-mail pozvaného", + "invitations.invitee-username": "Uživatelské jméno pozvaného (je-li registrován)", - "invitations.confirm-delete": "Are you sure you wish to delete this invitation?" + "invitations.confirm-delete": "Jste si jist/a, že chcete odstraniti toto pozvání?" } \ No newline at end of file diff --git a/public/language/tr/pages.json b/public/language/tr/pages.json index 3e70582386..7512b488d4 100644 --- a/public/language/tr/pages.json +++ b/public/language/tr/pages.json @@ -6,7 +6,7 @@ "popular-month": "Bu ayki popüler başlıklar", "popular-alltime": "En popüler başlıklar", "recent": "Güncel Konular", - "moderator-tools": "Moderator Tools", + "moderator-tools": "Moderatör Araçları", "flagged-content": "Bayraklanan İçerik", "ip-blacklist": "IP Karaliste", "users/online": "Çevrimiçi Kullanıcılar", From 7c99af13e58a414e2a582393e4b5b205f64e895b Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Thu, 10 Aug 2017 09:26:59 +0000 Subject: [PATCH 34/35] Latest translations and fallbacks --- .../tr/admin/appearance/customise.json | 2 +- public/language/tr/admin/extend/plugins.json | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/public/language/tr/admin/appearance/customise.json b/public/language/tr/admin/appearance/customise.json index dbb54c7b1f..e5450f0c7d 100644 --- a/public/language/tr/admin/appearance/customise.json +++ b/public/language/tr/admin/appearance/customise.json @@ -8,5 +8,5 @@ "custom-header.enable": "Özel Header'ı Etkinleştir", "custom-css.livereload": "Canlı Yenilemeyi Etkinleştir", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "\"Kayıt Et\"e her bastığınızda size ait tüm cihazlardaki oturumların yenilenmeye zorlanması için bunu etkinleştirin." } \ No newline at end of file diff --git a/public/language/tr/admin/extend/plugins.json b/public/language/tr/admin/extend/plugins.json index 2b322725c2..7b9fc61d86 100644 --- a/public/language/tr/admin/extend/plugins.json +++ b/public/language/tr/admin/extend/plugins.json @@ -1,17 +1,17 @@ { "installed": "Yüklendi", - "active": "Aktif", - "inactive": "Inactive", - "out-of-date": "Out of Date", + "active": "Etkin", + "inactive": "Etkin değil", + "out-of-date": "Günü geçmiş", "none-found": "Hiç eklenti bulunamadı.", - "none-active": "Aktif ", - "find-plugins": "Find Plugins", + "none-active": "Etkin eklenti yok", + "find-plugins": "Eklenti bul", - "plugin-search": "Plugin Search", - "plugin-search-placeholder": "Search for plugin...", - "reorder-plugins": "Re-order Plugins", - "order-active": "Order Active Plugins", - "dev-interested": "Interested in writing plugins for NodeBB?", + "plugin-search": "Eklenti Arama", + "plugin-search-placeholder": "Eklenti Ara", + "reorder-plugins": "Eklentileri yeniden sırala", + "order-active": "Etkin eklentileri sırala", + "dev-interested": "NodeBB için eklenti yazmakla ilgilenir misiniz?", "docs-info": "Full documentation regarding plugin authoring can be found in the NodeBB Docs Portal.", "order.description": "Certain plugins work ideally when they are initialised before/after other plugins.", From 24bbf8fe00f0acb24bbdd1cf135ebb0118483736 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Thu, 10 Aug 2017 16:48:51 -0400 Subject: [PATCH 35/35] closes #5869 --- src/user/reset.js | 4 +++- test/user.js | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/user/reset.js b/src/user/reset.js index 438d629225..abe45a6031 100644 --- a/src/user/reset.js +++ b/src/user/reset.js @@ -120,12 +120,14 @@ UserReset.commit = function (code, password, callback) { }, function (hash, next) { async.parallel([ - async.apply(user.setUserField, uid, 'password', hash), + async.apply(user.setUserFields, uid, { password: hash, 'email:confirmed': 1 }), async.apply(db.deleteObjectField, 'reset:uid', code), async.apply(db.sortedSetRemove, 'reset:issueDate', code), async.apply(db.sortedSetRemove, 'reset:issueDate:uid', uid), async.apply(user.reset.updateExpiry, uid), async.apply(user.auth.resetLockout, uid), + async.apply(db.delete, 'uid:' + uid + ':confirm:email:sent'), + async.apply(db.sortedSetRemove, 'users:notvalidated', uid), ], next); }, ], callback); diff --git a/test/user.js b/test/user.js index 9b747e27b7..a5f92a1744 100644 --- a/test/user.js +++ b/test/user.js @@ -446,15 +446,16 @@ describe('User', function () { }); }); - it('.commit() should update the user\'s password', function (done) { + it('.commit() should update the user\'s password and confirm their email', function (done) { User.reset.commit(code, 'newpassword', function (err) { assert.ifError(err); - db.getObjectField('user:' + uid, 'password', function (err, newPassword) { + db.getObject('user:' + uid, function (err, userData) { assert.ifError(err); - Password.compare('newpassword', newPassword, function (err, match) { + Password.compare('newpassword', userData.password, function (err, match) { assert.ifError(err); assert(match); + assert.equal(parseInt(userData['email:confirmed'], 10), 1); done(); }); });