- handle array attributedTo (plus per-object actor assertion instead of batched)
- explicit "Video" type handling to automatically save URL as post attachment
- handle array url property
- remove "poor man's intersect" but not considering the main `cid:-1:tids` set at all
including its variants (voting, reply time, etc.)
- added a new method Categories.sortTidsBySet which allows after-the-fact sorting
of tids by their score in a set.
instead of deleting 18k users everyday delete max 500 every 30mins like notifications.prune
refactor getLocalFollowCounts so it works with an array of actors
dont make dbcalls for uids that dont exist
instead of deleting 18k users everyday delete max 500 every 30mins like notifications.prune
refactor getLocalFollowCounts so it works with an array of actors
dont make dbcalls for uids that dont exist
1b12 announces were previously only happening for local creates and received
activities, but they should happen for all local activities as well.
re: #13072
* post.parent wip
* feat: post parent
handle delete/restore/purge privileges etc.
* remove whitespace
* fix: this in each
* lint
* up harmony fix text break
send out notification if bodyLong.length exceeds limit
add a max item limit to ttl cache
get rid of has/get check if item isn't in cache get returns undefined
* list remove all
* one more test
* sortedSetIncrByBulk
* remove name
* incrObjectFieldByBulk
* test: disable api tests
* try merge
* another test
* give upon bulk incr
* update so answer
* one more try
* fix: name
* chore: up dbsearch
* list remove all
* one more test
* sortedSetIncrByBulk
* remove name
* incrObjectFieldByBulk
* test: disable api tests
* try merge
* another test
* give upon bulk incr
* update so answer
* one more try
* fix: name
* chore: up dbsearch
The deleted upgrade scripts were intended to be run on servers running pre-release versions of v4.
Now that it has been merged into `develop`, those scripts are no longer needed.
- Added setting to disable probe completely
- Added setting to configure timeout
- Updated probe logic so that if probe times out, it retries in the background with 60s timeout for caching purposes
- `validate` is now renamed `assertPayload`
- HTTP signature checking is now in new middleware `verify`
- `verify` is now called on all routes in activitypub controller
- Rejects on signature failure for POST requests
- Entering a webfinger handle in search bar will override default
`searchIn` to `users`
- When an activitypub uri is entered, it is fetched and its `type`
is checked. If `type` is `user`, a user search is conducted
instead. If `type` is not post-like or user-like, a regular
full-text search is performed (prior, it just threw an
exception!)
When a category is retrieved via activitypub, NodeBB will now
generate an SVG and PNG representation of the category utilising
the "icon", "color", and "bgColor" values.
closes#12507
There was some internal logic in ajaxify that handled special links that
should explicitly not be ajaxified (either it is a null href or should be
loaded as a direct page load, etc.) - this was moved out to an exported
method so it can be consumed by the service worker onmessage listener.
Also since this logic evolved over many years, there were some
duplications and so those have been amended (though I will not guarantee
that it was done bug/regression free!!)
Changes logic so that the new `escape` option escapes HTML,
whereas the old behaviour had `parse: false` escape HTML.
Now, when `parse` is `false`, the content is unchanged.
Defaults are `{ parse: true, escape: false, stripTags: false }`
Pixelfed supplies an object _url_ instead of the expected _id_ in the `inReplyTo` field, and that tripped up NodeBB because we don't store a backreference for those.
The ideal solution here would be to set up a backreference for urls to pids, but in the meantime, this shortcut will function (it assumes that the object that it is in reply to is in the chain/context).
- Generation of a context collection digest via object ids
- Sending of said digest in ETag header
- Parsing of digests via If-None-Match header
- Update note assertion logic to handle 304 response
These two steps were removed because a `type` property is passed to `filter:post.parse` now, and thus plugins themselves can handle independently.
Core also now strips all html when `type` is plaintext, so plugins don't have to (or if they still pass html back).
This change means that a remote user's post count is only the number
of posts they have stored locally. This is easier to reconcile with
the profile UI since showing the artificial number could cause issues
if the local instance contains fewer or no posts by that user.
fixes#12646
- sanitize-html invocation was stripping out images by default, now added as an exception
- only post content was passsed into filter:parse.post, but hook expects post summary
store number of announces on post hash, show announces like votes, with tooltip and a way to see all, remove them from topic.events so they dont load all tid:<tid>:posts everytime topic is loaded
Remove re-assertion set as it is expensive to re-assert all old user accounts.
Update actor assertion logic to always re-assert a passed-in id if their account's last crawl date is older than the configurable pruning threshold.
fixes#12636
commit 4e0e792232
Merge: 24d0999fb570b4a0e2ae
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date: Fri Jun 7 19:26:49 2024 -0400
Merge branch 'master' into develop
commit 70b4a0e2ae
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date: Fri Jun 7 19:14:13 2024 -0400
feat: allow passing min,max to sortedSetsCardSum
to get rid of multiple db calls in profile page
commit 6bbe3d1c4c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date: Fri Jun 7 14:08:48 2024 -0400
fix: dont show error alert when user user mouse overs votes
if they dont have permission to view votes
commit 24d0999fb5
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu Jun 6 13:49:14 2024 -0400
fix(deps): update dependency pg-cursor to v2.11.0 (#12617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
commit bee05fe212
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu Jun 6 13:28:59 2024 -0400
fix(deps): update dependency pg to v8.12.0 (#12616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
getCategoriesFields was returning full pseudo-category object even if fields were specific, now it only returns fields requested.
navigating to /category/-1 now redirects to /world
This prevents the superfluous "/1" being appended to all topics you've never been into.
This looks to be a change in the public API but the documented API lists this property as nullable already, so it looks like this commit is actually *restoring* proper behaviour.
"handle.help":"Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description":"Category Description",
"bg-color":"Background Colour",
"text-color":"Text Colour",
@@ -37,6 +39,7 @@
"disable":"Disable",
"edit":"Edit",
"analytics":"Analytics",
"federation":"Federation",
"view-category":"View category",
"set-order":"Set order",
@@ -76,6 +79,22 @@
"analytics.topics-daily":"<strong>Figure 3</strong> – Daily topics created in this category</small>",
"analytics.posts-daily":"<strong>Figure 4</strong> – Daily posts made in this category</small>",
"federation.title":"Federation settings for \"%1\" category",
"federation.disabled":"Federation is disabled site-wide, so category federation settings are currently unavailable.",
"federation.syncing-intro":"A category can follow a \"Group Actor\" via the ActivityPub protocol. If content is received from one of the actors listed below, it will be automatically added to this category.",
"federation.syncing-caveat":"N.B. Setting up syncing here establishes a one-way synchronization. NodeBB attempts to subscribe/follow the actor, but the reverse cannot be assumed.",
"federation.syncing-none":"This category is not currently following anybody.",
"federation.syncing-add":"Synchronize with...",
"federation.syncing-actorUri":"Actor",
"federation.syncing-follow":"Follow",
"federation.syncing-unfollow":"Unfollow",
"federation.followers":"Remote users following this category",
"intro-body":"NodeBB is able to communicate with other NodeBB instances that support it. This is achieved through a protocol called <a href=\"https://activitypub.rocks/\">ActivityPub</a>. If enabled, NodeBB will also be able to communicate with other apps and websites that use ActivityPub (e.g. Mastodon, Peertube, etc.)",
"general":"General",
"pruning":"Content Pruning",
"content-pruning":"Days to keep remote content",
"content-pruning-help":"Note that remote content that has received engagement (a reply or a upvote/downvote) will be preserved. (0 for disabled)",
"user-pruning":"Days to cache remote user accounts",
"user-pruning-help":"Remote user accounts will only be pruned if they have no posts. Otherwise they will be re-retrieved. (0 for disabled)",
"enabled":"Enable Federation",
"enabled-help":"If enabled, will allow this NodeBB will be able to communicate with all Activitypub-enabled clients on the wider fediverse.",
"allowLoopback":"Allow loopback processing",
"allowLoopback-help":"Useful for debugging purposes only. You should probably leave this disabled.",
"probe":"Open in App",
"probe-enabled":"Try to open ActivityPub-enabled resources in NodeBB",
"probe-enabled-help":"If enabled, NodeBB will check every external link for an ActivityPub equivalent, and load it in NodeBB instead.",
"probe-timeout":"Lookup Timeout (milliseconds)",
"probe-timeout-help":"(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"server-filtering":"Filtering",
"count":"This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help":"Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",
"server.filter-help-hostname":"Enter just the instance hostname below (e.g. <code>example.org</code>), separated by line breaks.",
"server.filter-allow-list":"Use this as an Allow List instead"
"analytics.max-cache":"Analytics Cache Max Value",
"analytics.max-cache-help":"On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)",
"compression.settings":"Compression Settings",
"compression.enable":"Enable Compression",
"compression.help":"This setting enables gzip compression. For a high-traffic website in production, the best way to put compression in place is to implement it at a reverse proxy level. You can enable it here for testing purposes."
"socket-reconnect-failed":"Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id":"Invalid plugin ID",
"plugin-not-whitelisted":"Unable to install plugin – only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugin-installation-via-acp-disabled":"Plugin installation via ACP is disabled",
"plugins-set-in-configuration":"You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration":"When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",
"notificationType-post-queue":"When a new post is queued",
"notificationType-new-post-flag":"When a post is flagged",
"notificationType-new-user-flag":"When a user is flagged",
"notificationType-new-reward":"When you earn a new reward"
"notificationType-new-reward":"When you earn a new reward",
"activitypub.announce":"<strong>%1</strong> shared your post in <strong>%2</strong> to their followers.",
"activitypub.announce-dual":"<strong>%1</strong> and <strong>%2</strong> shared your post in <strong>%3</strong> to their followers.",
"activitypub.announce-triple":"<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> shared your post in <strong>%4</strong> to their followers.",
"activitypub.announce-multiple":"<strong>%1</strong>, <strong>%2</strong> and %3 others shared your post in <strong>%4</strong> to their followers."
"uncategorized.intro":"This page shows a chronological listing of every topic that this forum has received.<br />The views and opinions expressed in the topics below are not moderated and may not represent the views and opinions of this website."
"help.intro":"Welcome to your corner of the fediverse.",
"help.fediverse":"The \"fediverse\" is a network of interconnected applications and websites that all talk to one another and whose users can see each other. This forum is federated, and can interact with that social web (or \"fediverse\"). This page is your corner of the fediverse. It consists solely of topics created by — and shared from — users <strong>you</strong> follow.",
"help.build":"There might not be a lot of topics here to start; that's normal. You will start to see more content here over time when you start following other users.",
"help.federating":"Likewise, if users from outside of this forum start following <em>you</em>, then your posts will start appearing on those apps and websites as well.",
"help.next-generation":"This is the next generation of social media, start contributing today!",
"onboard.title":"Your window to the fediverse...",
"onboard.what":"This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why":"There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how":"In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!"
"handle.help":"Идентификаторът на категорията се ползва за представяне на тази категория в други мрежи, подобно на потребителското име. Този идентификатор не трябва да съвпада със съществуващо потребителско име или потребителска група.",
"description":"Описание на категорията",
"bg-color":"Цвят на фона",
"text-color":"Цвят на текста",
@@ -37,6 +39,7 @@
"disable":"Изключване",
"edit":"Редактиране",
"analytics":"Анализи",
"federation":"Федериране",
"view-category":"Преглед на категорията",
"set-order":"Запазване на реда",
@@ -76,6 +79,22 @@
"analytics.topics-daily":"<strong>Фигура 3</strong> – Брой теми в тази категория на ден</small>",
"analytics.posts-daily":"<strong>Фигура 4</strong> – Брой публикации в тази категория на ден</small>",
"federation.title":"Настройки за федерирането на категорията „%1“",
"federation.disabled":"Федерирането е изключено за целия уеб сайт, така че настройките за федерирането на категорията са недостъпни.",
"federation.disabled-cta":"Настройки за федерирането →",
"federation.syncing-header":"Синхронизиране",
"federation.syncing-intro":"Една категория може да следва „група от източници“ чрез протокола ActivityPub. Ако бъде получено съдържание от който и да е източник от посочените по-долу, то ще бъде автоматично добавено в тази категория.",
"federation.syncing-caveat":"Забележка: настройките за синхронизиране тук установяват еднопосочна синхронизация. NodeBB ще се опита да се абонира/следва източника, но обратното не бива да се подразбира.",
"federation.syncing-none":"Тази категория в момента не следва никого.",
"federation.syncing-add":"Синхронизиране с…",
"federation.syncing-actorUri":"Източник",
"federation.syncing-follow":"Следване",
"federation.syncing-unfollow":"Спиране на следването",
"federation.followers":"Отдалечени потребители, които следват тази категория",
"intro-body":"NodeBB може да осъществява връзка с други инсталации на NodeBB, които поддържат това. Това се постига чрез протокол наречен <a href=\"https://activitypub.rocks/\">ActivityPub</a>. Ако е включено, NodeBB ще може да осъществява връзка и с други приложения и уеб сайтове, които ползват ActivityPub (например Мастодон, Peertube и т.н.)",
"general":"Общи",
"pruning":"Премахване на съдържанието",
"content-pruning":"Брой дни за съхранение на отдалечено съдържание",
"content-pruning-help":"Имайте предвид, че отдалеченото съдържание, за което е имало някакви действия (отговори или положителни/отрицателни гласове) ще бъде запазено. (0 = изключено)",
"user-pruning":"Брой дни за кеширане на отдалечените потребителски акаунти",
"user-pruning-help":"Отдалечените потребителски акаунти ще бъдат премахнати, само ако не са публикували нищо. Иначе ще бъдат извличани повторно. (0 = изключено)",
"enabled":"Включване на федерирането",
"enabled-help":"Ако е включено, този NodeBB ще може да осъществява връзка с всички клиенти ползващи ActivityPub в цялата федивселена.",
"allowLoopback":"Разрешаване на обработката на локална обратна връзка",
"allowLoopback-help":"Полезно само за дебъгване. Най-добре е това да бъде изключено",
"probe":"Отваряне в приложението",
"probe-enabled":"Дали да се опитва отваряне на нещата поддържащи ActivityPub в NodeBB",
"probe-enabled-help":"Ако е включено, NodeBB ще проверява всяка външна връзка дали поддържа ActivityPub и ако е така – ще я зарежда направо в NodeBB.",
"probe-timeout":"Време за изчакване на проверката (милисекунди)",
"probe-timeout-help":"(По подразбиране: 2000) Ако проверката не получи отговор в рамките на зададеното време, потребителят ще бъде изпратен директно на адреса на връзката. Задайте по-голямо число, ако уеб сайтовете отговарят по-бавно и искате да им дадете повече време.",
"server-filtering":"Филтриране",
"count":"Този NodeBB в момента знае за наличието на <strong>%1</strong> сървър(а)",
"server.filter-help":"Посочете сървърите, с които не искате Вашият NodeBB да осъществява връзка. Или можете вместо това да посочите конкретни сървъри, с които <em>разрешавате</em> връзката. И двете възможности са налични, но може да изберете само една от тях.",
"server.filter-help-hostname":"Въведете само имената на сървърите по-долу (например <code>example.org</code>), като всеки сървър трябва да е на отделен ред.",
"server.filter-allow-list":"Това да се ползва като списък с разрешените сървъри"
"sockets.delay":"Забавяне при повторно свързване",
"analytics.settings":"Настройки за анализите",
"analytics.max-cache":"Макс. стойност на кеша за анализите",
"analytics.max-cache-help":"При инсталации с натоварен трафик, кешът може да бъде изразходен, ако има повече едновременни потребители, от колкото е максималната стойност на кеша. (Изисква рестартиране)",
"compression.settings":"Настройки за компресирането",
"compression.enable":"Включване на компресирането",
"compression.help":"Тази настройка включва компресирането чрез „gzip“. За натоварени уеб сайтове най-добрият начин за използване на компресия е тя да се случва на нивото на обратния сървър-посредник (reverse proxy). Нос цел тестване, можете да го включите и тук."
"socket-reconnect-failed":"В момента сървърът е недостъпен. Натиснете тук, за да опитате отново, или опитайте пак по-късно.",
"invalid-plugin-id":"Грешен идентификатор на добавка",
"plugin-not-whitelisted":"Добавката не може да бъде инсталирана – само добавки, одобрени от пакетния мениджър на NodeBB могат да бъдат инсталирани чрез ACP",
"plugin-installation-via-acp-disabled":"Инсталирането на добавки чрез ACP е изключено",
"plugins-set-in-configuration":"Не можете да променяте състоянието на добавката, тъй като то се определя по време на работата ѝ (чрез config.json, променливи на средата или аргументи при изпълнение). Вместо това може да промените конфигурацията.",
"theme-not-set-in-configuration":"Когато определяте активните добавки в конфигурацията, промяната на темите изисква да се добави новата тема към активните добавки, преди актуализирането ѝ в ACP",
"topic-event-unrecognized":"Събитието „%1“ на темата е неизвестно",
"category.handle-taken":"Идентификаторът на категорията е зает. Моля, изберете друг.",
"cant-set-child-as-parent":"Дъщерна категория не може да се зададе като базова такава",
"cant-set-self-as-parent":"Категорията не може да се зададе като базова категория на себе си",
"api.master-token-no-uid":"Беше получен главен идентификатор без съответстващо поле `_uid` в тялото на заявката",
@@ -247,5 +249,12 @@
"api.500":"При обработката на заявката Ви възникна неочаквана грешка.",
"api.501":"Пътят, който се опитвате да извикате, все още не съществува. Моля, опитайте отново утре.",
"api.503":"Пътят, който се опитвате да извикате, в момента не е достъпен, поради настройките на сървъра.",
"api.reauth-required":"Ресурсът, който се опитвате да достъпите, изисква (повторно) удостоверяване."
"api.reauth-required":"Ресурсът, който се опитвате да достъпите, изисква (повторно) удостоверяване.",
"activitypub.not-enabled":"Федерирането не е включено на този сървър",
"activitypub.invalid-id":"Входният идентификатор не може да бъде разпознат – може да е неправилен.",
"activitypub.get-failed":"Посоченият материал не може да бъде получен.",
"activitypub.pubKey-not-found":"Публичният ключ не може да бъде разпознат, така че потвърждението на данните не може да бъде извършено.",
"activitypub.origin-mismatch":"Произходът на получения обект не съвпада с произхода на подателя",
"activitypub.actor-mismatch":"Полученото действие се изпълнява от източник, който е различен от очаквания.",
"activitypub.not-implemented":"Заявката беше отказана, тъй като тя или част от нея не се поддържа от сървъра, към който е насочена"
"composer.discard-all-drafts":"Изтриване на всички чернови",
"composer.no-drafts":"Нямате никакви чернови",
"composer.discard-draft-confirm":"Искате ли да изтриете тази чернова?",
"composer.remote-pid-editing":"Редактиране на отдалечена публикация",
"composer.remote-pid-content-immutable":"Съдържанието на отдалечени публикации не може да бъде редактирано. Може да промените само заглавието на темата и етикетите.",
"notificationType-post-queue":"Когато бъде добавена нова публикация в опашката",
"notificationType-new-post-flag":"Когато публикация бъде докладвана",
"notificationType-new-user-flag":"Когато потребител бъде докладван",
"notificationType-new-reward":"Когато получите нова награда"
"notificationType-new-reward":"Когато получите нова награда",
"activitypub.announce":"<strong>%1</strong> сподели Вашата публикация в <strong>%2</strong> със своите последователи.",
"activitypub.announce-dual":"<strong>%1</strong> и <strong>%2</strong> споделиха Вашата публикация в <strong>%3</strong> със своите последователи.",
"activitypub.announce-triple":"<strong>%1</strong>, <strong>%2</strong> и <strong>%3</strong> споделиха Вашата публикация в <strong>%4</strong> със своите последователи.",
"activitypub.announce-multiple":"<strong>%1</strong>, <strong>%2</strong> и %3 други споделиха Вашата публикация в <strong>%4</strong> със своите последователи."
"load-new-posts":"Зареждане на новите публикации",
"uncategorized.title":"Всички познати теми",
"uncategorized.intro":"Тази страница показва хронологичен списък от всички теми, които този форум е получил.<br />Гледните точки и мненията в темите по-долу не са филтрирани по никакъв начин и може да не съвпадат с гледните точки и мненията на този уеб сайт."
"settings.mobileTopicTeasers":"Показване на резюмета на темите на мобилни устройства",
"settings.stickyToolbar":"Статична лента с инструменти",
"settings.stickyToolbar.help":"Лентата с инструменти в страниците с теми и категории ще стои винаги в горния край на страницата",
"settings.autohideBottombar":"Автоматично скриване на долната лента",
"settings.autohideBottombar.help":"В изгледа за мобилни устройства долната лента ще се скрива, когато страницата се превърта надолу",
"settings.topicSidebarTools":"Странична лента с инструменти за темите",
"settings.topicSidebarTools.help":"Тази настройка ще премести инструментите за темите в страничната лента, когато се ползва настолната версия на уеб сайта",
"settings.autohideBottombar":"Автоматично скриване на лентата за навигация за мобилни устройства",
"settings.autohideBottombar.help":"Лентата за мобилни устройства ще се скрива, когато страницата бъде превъртяна надолу",
"settings.topMobilebar":"Преместване на лентата за навигация за мобилни устройства в горната част",
"settings.openSidebars":"Отваряне на страничните ленти",
"settings.chatModals":"Включване на прозорците за разговори"
"help.intro":"Добре дошли в своя ъгъл от федивселената.",
"help.fediverse":"„Федивселената“ е мрежа от взаимно свързани приложения и уеб сайтове, които говорят помежду си и чиито потребители могат да се виждат. Този форум е федериран и може да взаимодейства с тази социална мрежа (т.нар. „федивселена“). Тази страница е Вашият ъгъл от федивселената. В него ще виждате само темите създадени или споделени от потребители, които <strong>Вие</strong> следвате.",
"help.build":"В началото тук може да няма много теми. Това е нормално. Ще започнете да виждате повече съдържание тук, когато започнете да следвате други потребители.",
"help.federating":"По същия начин, ако потребители извън този форум започнат да следват <em>Вас</em>, тогава Вашите публикации ще започнат да се появяват в техните приложения и уеб сайтове.",
"help.next-generation":"Това е новото поколение социална мрежа. Започнете да допринасяте още днес!",
"onboard.title":"Вашият прозорец към федивселената…",
"onboard.what":"Това е Вашата персонализирана категория съставена само от съдържание извън този форум. Тук се появяват неща от хора, които следвате, както и такива споделени от тях.",
"onboard.why":"Много неща се случват извън този форум, и не всичко отговаря на Вашите интереси. Затова следването на конкретни хорае най-добрият начин да покажете, че искате да виждате повече от тях.",
"onboard.how":"Междувременно можете да използвате бутоните в горната част, за да видите до какво има достъп този форум. Така може да започнете да откривате ново съдържание!"
"handle.help":"Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description":"Category Description",
"bg-color":"Background Colour",
"text-color":"Text Colour",
@@ -37,6 +39,7 @@
"disable":"Disable",
"edit":"Edit",
"analytics":"Analytics",
"federation":"Federation",
"view-category":"View category",
"set-order":"Set order",
@@ -76,6 +79,22 @@
"analytics.topics-daily":"<strong>Figure 3</strong> – Daily topics created in this category</small>",
"analytics.posts-daily":"<strong>Figure 4</strong> – Daily posts made in this category</small>",
"federation.title":"Federation settings for \"%1\" category",
"federation.disabled":"Federation is disabled site-wide, so category federation settings are currently unavailable.",
"federation.syncing-intro":"A category can follow a \"Group Actor\" via the ActivityPub protocol. If content is received from one of the actors listed below, it will be automatically added to this category.",
"federation.syncing-caveat":"N.B. Setting up syncing here establishes a one-way synchronization. NodeBB attempts to subscribe/follow the actor, but the reverse cannot be assumed.",
"federation.syncing-none":"This category is not currently following anybody.",
"federation.syncing-add":"Synchronize with...",
"federation.syncing-actorUri":"Actor",
"federation.syncing-follow":"Follow",
"federation.syncing-unfollow":"Unfollow",
"federation.followers":"Remote users following this category",
"intro-body":"NodeBB is able to communicate with other NodeBB instances that support it. This is achieved through a protocol called <a href=\"https://activitypub.rocks/\">ActivityPub</a>. If enabled, NodeBB will also be able to communicate with other apps and websites that use ActivityPub (e.g. Mastodon, Peertube, etc.)",
"general":"General",
"pruning":"Content Pruning",
"content-pruning":"Days to keep remote content",
"content-pruning-help":"Note that remote content that has received engagement (a reply or a upvote/downvote) will be preserved. (0 for disabled)",
"user-pruning":"Days to cache remote user accounts",
"user-pruning-help":"Remote user accounts will only be pruned if they have no posts. Otherwise they will be re-retrieved. (0 for disabled)",
"enabled":"Enable Federation",
"enabled-help":"If enabled, will allow this NodeBB will be able to communicate with all Activitypub-enabled clients on the wider fediverse.",
"allowLoopback":"Allow loopback processing",
"allowLoopback-help":"Useful for debugging purposes only. You should probably leave this disabled.",
"probe":"Open in App",
"probe-enabled":"Try to open ActivityPub-enabled resources in NodeBB",
"probe-enabled-help":"If enabled, NodeBB will check every external link for an ActivityPub equivalent, and load it in NodeBB instead.",
"probe-timeout":"Lookup Timeout (milliseconds)",
"probe-timeout-help":"(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"server-filtering":"Filtering",
"count":"This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help":"Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",
"server.filter-help-hostname":"Enter just the instance hostname below (e.g. <code>example.org</code>), separated by line breaks.",
"server.filter-allow-list":"Use this as an Allow List instead"
"analytics.max-cache":"Analytics Cache Max Value",
"analytics.max-cache-help":"On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)",
"compression.settings":"Compression Settings",
"compression.enable":"Enable Compression",
"compression.help":"This setting enables gzip compression. For a high-traffic website in production, the best way to put compression in place is to implement it at a reverse proxy level. You can enable it here for testing purposes."
"socket-reconnect-failed":"Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id":"Invalid plugin ID",
"plugin-not-whitelisted":"Unable to install plugin – only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugin-installation-via-acp-disabled":"Plugin installation via ACP is disabled",
"plugins-set-in-configuration":"You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration":"When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",
"notificationType-post-queue":"When a new post is queued",
"notificationType-new-post-flag":"When a post is flagged",
"notificationType-new-user-flag":"When a user is flagged",
"notificationType-new-reward":"When you earn a new reward"
"notificationType-new-reward":"When you earn a new reward",
"activitypub.announce":"<strong>%1</strong> shared your post in <strong>%2</strong> to their followers.",
"activitypub.announce-dual":"<strong>%1</strong> and <strong>%2</strong> shared your post in <strong>%3</strong> to their followers.",
"activitypub.announce-triple":"<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> shared your post in <strong>%4</strong> to their followers.",
"activitypub.announce-multiple":"<strong>%1</strong>, <strong>%2</strong> and %3 others shared your post in <strong>%4</strong> to their followers."
"no-popular-topics":"There are no popular topics.",
"load-new-posts":"Load new posts"
"load-new-posts":"Load new posts",
"uncategorized.title":"All known topics",
"uncategorized.intro":"This page shows a chronological listing of every topic that this forum has received.<br />The views and opinions expressed in the topics below are not moderated and may not represent the views and opinions of this website."
"help.intro":"Welcome to your corner of the fediverse.",
"help.fediverse":"The \"fediverse\" is a network of interconnected applications and websites that all talk to one another and whose users can see each other. This forum is federated, and can interact with that social web (or \"fediverse\"). This page is your corner of the fediverse. It consists solely of topics created by — and shared from — users <strong>you</strong> follow.",
"help.build":"There might not be a lot of topics here to start; that's normal. You will start to see more content here over time when you start following other users.",
"help.federating":"Likewise, if users from outside of this forum start following <em>you</em>, then your posts will start appearing on those apps and websites as well.",
"help.next-generation":"This is the next generation of social media, start contributing today!",
"onboard.title":"Your window to the fediverse...",
"onboard.what":"This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why":"There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how":"In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!"
"handle.help":"Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description":"Popis kategorie",
"bg-color":"Barva pozadí",
"text-color":"Barva textu",
@@ -37,6 +39,7 @@
"disable":"Zakázat",
"edit":"Upravit",
"analytics":"Analytika",
"federation":"Federation",
"view-category":"Zobrazit kategorii",
"set-order":"Set order",
@@ -76,6 +79,22 @@
"analytics.topics-daily":"<strong>Postava 3</strong> – vytvořených témat za den pro tuto kategorii</small>",
"analytics.posts-daily":"<strong>Postava 4</strong> – vytvořených příspěvků za den pro tuto kategorii</small>",
"federation.title":"Federation settings for \"%1\" category",
"federation.disabled":"Federation is disabled site-wide, so category federation settings are currently unavailable.",
"federation.syncing-intro":"A category can follow a \"Group Actor\" via the ActivityPub protocol. If content is received from one of the actors listed below, it will be automatically added to this category.",
"federation.syncing-caveat":"N.B. Setting up syncing here establishes a one-way synchronization. NodeBB attempts to subscribe/follow the actor, but the reverse cannot be assumed.",
"federation.syncing-none":"This category is not currently following anybody.",
"federation.syncing-add":"Synchronize with...",
"federation.syncing-actorUri":"Actor",
"federation.syncing-follow":"Follow",
"federation.syncing-unfollow":"Unfollow",
"federation.followers":"Remote users following this category",
"federation.followers-handle":"Handle",
"federation.followers-id":"ID",
"federation.followers-none":"No followers.",
"alert.created":"Vytvořeno",
"alert.create-success":"Kategorie byla úspěšně vytvořena.",
"alert.none-active":"Nemáte žádné aktivní kategorie.",
"intro-body":"NodeBB is able to communicate with other NodeBB instances that support it. This is achieved through a protocol called <a href=\"https://activitypub.rocks/\">ActivityPub</a>. If enabled, NodeBB will also be able to communicate with other apps and websites that use ActivityPub (e.g. Mastodon, Peertube, etc.)",
"general":"General",
"pruning":"Content Pruning",
"content-pruning":"Days to keep remote content",
"content-pruning-help":"Note that remote content that has received engagement (a reply or a upvote/downvote) will be preserved. (0 for disabled)",
"user-pruning":"Days to cache remote user accounts",
"user-pruning-help":"Remote user accounts will only be pruned if they have no posts. Otherwise they will be re-retrieved. (0 for disabled)",
"enabled":"Enable Federation",
"enabled-help":"If enabled, will allow this NodeBB will be able to communicate with all Activitypub-enabled clients on the wider fediverse.",
"allowLoopback":"Allow loopback processing",
"allowLoopback-help":"Useful for debugging purposes only. You should probably leave this disabled.",
"probe":"Open in App",
"probe-enabled":"Try to open ActivityPub-enabled resources in NodeBB",
"probe-enabled-help":"If enabled, NodeBB will check every external link for an ActivityPub equivalent, and load it in NodeBB instead.",
"probe-timeout":"Lookup Timeout (milliseconds)",
"probe-timeout-help":"(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"server-filtering":"Filtering",
"count":"This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help":"Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",
"server.filter-help-hostname":"Enter just the instance hostname below (e.g. <code>example.org</code>), separated by line breaks.",
"server.filter-allow-list":"Use this as an Allow List instead"
"analytics.max-cache":"Analytics Cache Max Value",
"analytics.max-cache-help":"On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)",
"compression.settings":"Compression Settings",
"compression.enable":"Enable Compression",
"compression.help":"This setting enables gzip compression. For a high-traffic website in production, the best way to put compression in place is to implement it at a reverse proxy level. You can enable it here for testing purposes."
"socket-reconnect-failed":"Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id":"Invalid plugin ID",
"plugin-not-whitelisted":"Unable to install plugin – only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugin-installation-via-acp-disabled":"Plugin installation via ACP is disabled",
"plugins-set-in-configuration":"You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration":"When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",
"notificationType-new-reward":"When you earn a new reward"
"notificationType-new-reward":"When you earn a new reward",
"activitypub.announce":"<strong>%1</strong> shared your post in <strong>%2</strong> to their followers.",
"activitypub.announce-dual":"<strong>%1</strong> and <strong>%2</strong> shared your post in <strong>%3</strong> to their followers.",
"activitypub.announce-triple":"<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> shared your post in <strong>%4</strong> to their followers.",
"activitypub.announce-multiple":"<strong>%1</strong>, <strong>%2</strong> and %3 others shared your post in <strong>%4</strong> to their followers."
"no-recent-topics":"Nebyly nalezeny žádné nové téma.",
"no-popular-topics":"Žádná oblíbená téma.",
"load-new-posts":"Load new posts"
"load-new-posts":"Load new posts",
"uncategorized.title":"All known topics",
"uncategorized.intro":"This page shows a chronological listing of every topic that this forum has received.<br />The views and opinions expressed in the topics below are not moderated and may not represent the views and opinions of this website."
"help.intro":"Welcome to your corner of the fediverse.",
"help.fediverse":"The \"fediverse\" is a network of interconnected applications and websites that all talk to one another and whose users can see each other. This forum is federated, and can interact with that social web (or \"fediverse\"). This page is your corner of the fediverse. It consists solely of topics created by — and shared from — users <strong>you</strong> follow.",
"help.build":"There might not be a lot of topics here to start; that's normal. You will start to see more content here over time when you start following other users.",
"help.federating":"Likewise, if users from outside of this forum start following <em>you</em>, then your posts will start appearing on those apps and websites as well.",
"help.next-generation":"This is the next generation of social media, start contributing today!",
"onboard.title":"Your window to the fediverse...",
"onboard.what":"This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why":"There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how":"In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!"
"handle.help":"Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description":"Category Description",
"bg-color":"Background Colour",
"text-color":"Text Colour",
@@ -37,6 +39,7 @@
"disable":"Disable",
"edit":"Edit",
"analytics":"Analytics",
"federation":"Federation",
"view-category":"View category",
"set-order":"Set order",
@@ -76,6 +79,22 @@
"analytics.topics-daily":"<strong>Figure 3</strong> – Daily topics created in this category</small>",
"analytics.posts-daily":"<strong>Figure 4</strong> – Daily posts made in this category</small>",
"federation.title":"Federation settings for \"%1\" category",
"federation.disabled":"Federation is disabled site-wide, so category federation settings are currently unavailable.",
"federation.syncing-intro":"A category can follow a \"Group Actor\" via the ActivityPub protocol. If content is received from one of the actors listed below, it will be automatically added to this category.",
"federation.syncing-caveat":"N.B. Setting up syncing here establishes a one-way synchronization. NodeBB attempts to subscribe/follow the actor, but the reverse cannot be assumed.",
"federation.syncing-none":"This category is not currently following anybody.",
"federation.syncing-add":"Synchronize with...",
"federation.syncing-actorUri":"Actor",
"federation.syncing-follow":"Follow",
"federation.syncing-unfollow":"Unfollow",
"federation.followers":"Remote users following this category",
"intro-body":"NodeBB is able to communicate with other NodeBB instances that support it. This is achieved through a protocol called <a href=\"https://activitypub.rocks/\">ActivityPub</a>. If enabled, NodeBB will also be able to communicate with other apps and websites that use ActivityPub (e.g. Mastodon, Peertube, etc.)",
"general":"General",
"pruning":"Content Pruning",
"content-pruning":"Days to keep remote content",
"content-pruning-help":"Note that remote content that has received engagement (a reply or a upvote/downvote) will be preserved. (0 for disabled)",
"user-pruning":"Days to cache remote user accounts",
"user-pruning-help":"Remote user accounts will only be pruned if they have no posts. Otherwise they will be re-retrieved. (0 for disabled)",
"enabled":"Enable Federation",
"enabled-help":"If enabled, will allow this NodeBB will be able to communicate with all Activitypub-enabled clients on the wider fediverse.",
"allowLoopback":"Allow loopback processing",
"allowLoopback-help":"Useful for debugging purposes only. You should probably leave this disabled.",
"probe":"Open in App",
"probe-enabled":"Try to open ActivityPub-enabled resources in NodeBB",
"probe-enabled-help":"If enabled, NodeBB will check every external link for an ActivityPub equivalent, and load it in NodeBB instead.",
"probe-timeout":"Lookup Timeout (milliseconds)",
"probe-timeout-help":"(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"server-filtering":"Filtering",
"count":"This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help":"Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",
"server.filter-help-hostname":"Enter just the instance hostname below (e.g. <code>example.org</code>), separated by line breaks.",
"server.filter-allow-list":"Use this as an Allow List instead"
"analytics.max-cache":"Analytics Cache Max Value",
"analytics.max-cache-help":"On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)",
"compression.settings":"Compression Settings",
"compression.enable":"Enable Compression",
"compression.help":"This setting enables gzip compression. For a high-traffic website in production, the best way to put compression in place is to implement it at a reverse proxy level. You can enable it here for testing purposes."
"socket-reconnect-failed":"Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id":"Invalid plugin ID",
"plugin-not-whitelisted":"Unable to install plugin – only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugin-installation-via-acp-disabled":"Plugin installation via ACP is disabled",
"plugins-set-in-configuration":"You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration":"When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",
"notificationType-post-queue":"When a new post is queued",
"notificationType-new-post-flag":"When a post is flagged",
"notificationType-new-user-flag":"When a user is flagged",
"notificationType-new-reward":"When you earn a new reward"
"notificationType-new-reward":"When you earn a new reward",
"activitypub.announce":"<strong>%1</strong> shared your post in <strong>%2</strong> to their followers.",
"activitypub.announce-dual":"<strong>%1</strong> and <strong>%2</strong> shared your post in <strong>%3</strong> to their followers.",
"activitypub.announce-triple":"<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> shared your post in <strong>%4</strong> to their followers.",
"activitypub.announce-multiple":"<strong>%1</strong>, <strong>%2</strong> and %3 others shared your post in <strong>%4</strong> to their followers."
"no-popular-topics":"Der er ingen populære tråde.",
"load-new-posts":"Load new posts"
"load-new-posts":"Load new posts",
"uncategorized.title":"All known topics",
"uncategorized.intro":"This page shows a chronological listing of every topic that this forum has received.<br />The views and opinions expressed in the topics below are not moderated and may not represent the views and opinions of this website."
"user-restored-topic-on":"%1 restored this topic on %2",
"user-moved-topic-from-ago":"%1 moved this topic from %2 %3",
"user-moved-topic-from-on":"%1 moved this topic from %2 on %3",
"user-shared-topic-ago":"%1 shared this topic %2",
"user-shared-topic-on":"%1 shared this topic on %2",
"user-queued-post-ago":"%1 <a href=\"%2\">queued</a> post for approval %3",
"user-queued-post-on":"%1 <a href=\"%2\">queued</a> post for approval on %3",
"user-referenced-topic-ago":"%1 <a href=\"%2\">referenced</a> this topic %3",
@@ -135,6 +137,7 @@
"bookmarks":"Bogmærker",
"bookmarks.has-no-bookmarks":"Du har ikke bookmarked nogen indlæg.",
"copy-permalink":"Copy Permalink",
"go-to-original":"View Original Post",
"loading-more-posts":"Indlæser flere indlæg",
"move-topic":"Flyt tråd",
"move-topics":"Flyt tråde",
@@ -219,5 +222,7 @@
"downvote-post":"Downvote post",
"post-tools":"Post tools",
"unread-posts-link":"Unread posts link",
"thumb-image":"Topic thumbnail image"
"thumb-image":"Topic thumbnail image",
"announcers":"Shares",
"announcers-x":"Shares (%1)"
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.