* feat: move to npm fontawesome dependency
* feat: move shims to a separate file
* fix: thin style prefix
* feat: proper style and FA pro handling in icon selector
* docs: add fontawesome properties to openAPI
* fix: default for styles
* feat: select all styles by default
Turns out browsers lazy-load fonts.
So since the actual CSS for each style is small, there is no perf reason for defaulting to free styles for FA pro users.
This means they'll have to only change one setting.
Still, the option to select styles remains for those who want it.
* fix: remove console.log
* feat: filter:password.check hook
As requested on Discord, hopefully including all relevant user data
* fix: don't use caller uid
* feat: don't forward username separately
* first part of chat refactor
remove per user chat zsets & store all mids in chat:room:<roomId>:mids
reverse uids in getUidsInRoom
* feat: create room button
public groups wip
* feat: public rooms
create chats:room zset
chat room deletion
* join socket.io room
* get rid of some calls that load all users in room
* dont load all users when loadRoom is called
* mange room users infinitescroll
dont load all members in api call
* IS for user list
ability to change groups field for public rooms
update groups field if group is renamed
* test: test fixes
* wip
* keep 150 messages
* fix extra awaits
fix dupe code in chat toggleReadState
* unread state for public rooms
* feat: faster push unread
* test: spec
* change base to harmony
* test: lint fixes
* fix language of chat with message
* add 2 methods for perf
messaging.getTeasers and getUsers(roomIds)
instead of loading one by one
* refactor: cleaner conditional
* test fix upgrade script fix
save timestamp of room creation in room object
* set progress.total
* don't check for guests/spiders
* public room unread fix
* add public unread counts
* mark read on send
* ignore instead of throwing
* doggy.gif
* fix: restore delete
* prevent entering chat rooms with
meta.enter
* fix self message causing mark unread
* ability to sort public rooms
* dont init sortable on mobile
* move chat-loaded class to core
* test: fix spec
* add missing keys
* use ajaxify
* refactor: store some refs
* fix: when user is deleted remove from public rooms as well
* feat: change how unread count is calculated
* get rid of cleaned content
get rid of mid
* add help text
* test: fix tests, add back mid
to prevent breaking change
* ability to search members of chat rooms
* remove
* derp
* perf: switch with partial data
fix tests
* more fixes
if user leaves a group leave public rooms is he is no longer part of any of the groups that have access
fix the cache key used to get all public room ids
dont allow joining chat socket.io room if user is no longer part of group
* fix: lint
* fix: js error when trying to delete room after switching
* add isRoomPublic
Currently, only objects can be passed in, and it is automatically serialized into json and sent via jQuery .ajax().
This PR extends the module so a FormData object can be passed in, and updates the module so it uses Fetch API instead of jQuery.
At this time regular requests continue to use jQuery for backwards compatibility.
Use case: file uploads via API.
pass in postData array to getPostReplies which has the indices already
look at the passed in array of posts to find the index of nested replies before calling getPidIndex, most of the time the direct replies are close to the target so they are already in postData array.
only load indices if direct reply count is1
to override bootstrap vars.
dont crash if scss fails to compile, just use empty css and log the error, this allows accessing the acp if client scss has errors
* confirmObj changes
dont expire confirm:<code>, add a expires field instead
dont expire confirm:byUid:<uid>
on admin manage users display the users email status
1. verified
2. verify email sent (pending)
3. verify email sent (expired)
4. no email entered
fix validate email in acp to use
email in user:<uid> if they have one
if not check if its in confirm:<code>
if its not in above cant validate throw error
fix send validate email to use
email in user:<uid> if they have one
if not check if its in confirm:<code>
if its not in above too cant validate throw error
* add back socket.io tests
* test: fix confirm tests
no longer using pexpire
return correct time left on token
* chore: update openapi
* fix: delete call
* test: mget test fixes
* test: fix tests
* acp sidebar
* gap in nav
* remove shadow
* label fixes
* color fixes
* feat: settings page wip
* feat: scroll spy 👓
move social into general, store social in meta.config like other settings
write upgrade script
* remove social
* rermove openapi routes
* cleanup, highlight selected nav item
* more cleanup
* advanced margin top
* derp
* match design
* bring back version alert
fix homepage js, since it moved to general settings
* remove unused tpls
these moved to general settings
* remove more css
* offcanvas for mobile
fix search
* add timeout
* add new props
* manage categories
* small fixes
* category-edit
* feat category page fixes
* add title to settings pages
add user settings page
* small fixes
* some more settings pages
* fix: plugin page titles
* more settings pages
* more padding
* more pages, add acp paginator.tpl
so it doesn't change when active theme changes
* remove placeholder
* dashboard table
* fix: openapi
* fix: controller tests
* use fonts from core
* some small fixes
* fix rep page
* refactor: fix name of upgrade script
* create category modal
group edit
* group/groups pages
* admins mods
* privs
* uploads
* missing margin
* more acp pages
* more pages
* plugins/rewards/widgets
* wrap rewards
* fix widgets
* fix widget clone button
* fix group acp edit link
* update search dropdown
* remove display block from tbody
* use less css
* remove some derp links
* remove striped tables
* remove p tags from lang files
* update email settings
* Update api.tpl
* move tag-whitelist
turns [[notifications:upvoted_your_post_in, test1, Vote *for* NodeBB :ballot_box_with_ballot:]] into <strong>test1</strong> has upvoted your post in <strong>Vote *for* NodeBB :ballot_box_with_ballot:</strong>. so emoji plugin can parse emojis and they don't get escaped by translator client side
Apparently Docker Meta Actions overrides, not merely adds, handlebars helpers. So `#if` just doesn't exist and errors out...
As such here is an equivalent using GitHub Actions expression (and this time I tested that it works...)
The initial commit for the change had the socket methods removed,
causing it to become a breaking change. Those methods have been restored,
but are deprecated, and now slated for removal in an as-yet-unannounced v4.
This is what a topic and post looks like. As an administrator, you can edit the post\'s title and content.
To customise your forum, go to the [Administrator Control Panel](../../admin). You can modify all aspects of your forum there, including installation of third-party plugins.
## Additional Resources
#### Additional Resources
* [NodeBB Documentation](https://docs.nodebb.org)
* [Community Support Forum](https://community.nodebb.org)
"custom-css.description":"Enter your own CSS/SASS declarations here, which will be applied after all other styles.",
"custom-css.enable":"Enable Custom CSS/SASS",
@@ -12,5 +13,8 @@
"custom-header.enable":"تفعيل الترويسة المخصصة",
"custom-css.livereload":"تفعيل إعادة التحميل المباشرة",
"custom-css.livereload.description":"فعل هذا الخيار لإجبار جميع الجلسات في الأجهزة التي قمت بتسجيل الدخول فيها بحسابك على التحديث عند النقر على زر الحفظ"
"custom-css.livereload.description":"فعل هذا الخيار لإجبار جميع الجلسات في الأجهزة التي قمت بتسجيل الدخول فيها بحسابك على التحديث عند النقر على زر الحفظ",
"bsvariables":"_variables.scss",
"bsvariables.description":"Override bootstrap variables here. You can also use a tool like <a href=\"https://bootstrap.build/app\">bootstrap.build</a> and paste the output here.<br/>Changes require a rebuild & restart.",
"running-version":"المنتدى يعمل حاليا على <strong>NodeBB الإصدار<span id=\"version\">%1</span></strong>.",
"keep-updated":"تأكد دائما من أن NodeBB يعمل على احدث إصدار للحصول على أحدث التصحيحات الأمنية وإصلاحات الأخطاء.",
"up-to-date":"<p>المنتدى <strong>يعمل على أحدث إصدار</strong> <i class=\"fa fa-check\"></i></p>",
"upgrade-available":"<p> هناك إصدار جديد برقم (v%1). خذ بعين الاعتبار <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\"> ترقية NodeBB</a>.</p>",
"prerelease-upgrade-available":"<p>هذا إصدار منتهي من الاصدارات المسبقة من NodeBB. هناك إصدار جديد برقم (v٪ 1). ضع في اعتبارك <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">ترقية NodeBB إليه</a>.</p>",
"prerelease-warning":"<p>هذه نسخة <strong>ماقبل الإصدار</strong> من NodeBB. قد تحدث أخطاء غير مقصودة. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"up-to-date":"You are <strong>up-to-date</strong> <i class=\"fa fa-check\"></i>",
"upgrade-available":"A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.",
"prerelease-upgrade-available":"This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.",
"prerelease-warning":"This is a <strong>pre-release</strong> version of NodeBB. Unintended bugs may occur. <i class=\"fa fa-exclamation-triangle\"></i>",
"fallback-emailer-not-found":"مرسل البريد الإلكتروني الاحتياطي غير موجود!",
"running-in-development":"المنتدى قيد التشغيل في وضع \"المطورين\". وقد تكون هناك ثغرات أمنية مفتوحة؛ من فضلك تواصل مع مسؤول نظامك.",
"latest-lookup-failed":"<p>فشل البحث عن أحدث إصدار متوفر من NodeBB</p>",
"running-in-development":"Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator",
"latest-lookup-failed":"Failed to look up latest available version of NodeBB",
"notices":"إشعارات",
"restart-not-required":"إعادة التشغيل غير مطلوب",
@@ -48,6 +48,7 @@
"restart-disabled":"تم تعطيل إعادة بناء NodeBB وإعادة تشغيله حيث لا يبدو أنك تقوم بتشغيله عبر البرنامج الخفي المناسب.",
"maintenance-mode":"وضع الصيانة",
"maintenance-mode-title":"انقر هنا لإعداد وضع الصيانة لـNodeBB",
"description":"من خلال تمكين مربعات الاختيار ، ستتلقى سجلات إلى جهازك الطرفي. إذا حددت مسارًا ، فسيتم بعد ذلك حفظ السجلات في ملف بدلاً من ذلك. يعد تسجيل HTTP مفيدًا لجمع الإحصائيات حول من ومتى وماذا يصل الأشخاص في المنتدى. بالإضافة إلى تسجيل طلبات HTTP ، يمكننا أيضًا تسجيل أحداث socket.io. يمكن أن يكون تسجيل Socket.io ، جنبًا إلى جنب مع شاشة redis-cli ، مفيدًا جدًا في تعلم العناصر الداخلية لـ NodeBB.",
"explanation":"ما عليك سوى تحديدأو/ إلغاء تحديد إعدادات التسجيل لتمكين أو تعطيل التسجيل أثناء التنقل. لا حاجة لإعادة التشغيل.",
"set-order-help":"Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.",
"lead-text":"From this page you can configure access to the Write API in NodeBB.",
"intro":"By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.",
"warning":"<strong>Be advised</strong> — treat tokens like passwords. If they are leaked, your account should be considered compromised.",
"docs":"Click here to access the full API specification",
"require-https":"Require API usage via HTTPS only",
"require-https-caveat":"<strong>Note</strong>: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.",
"uid":"User ID",
"token":"Token",
"uid-help-text":"Specify a User ID to associate with this token. If the user ID is <code>0</code>, it will be considered a <em>master</em> token, which can assume the identity of other users based on the <code>_uid</code> parameter",
"description":"Description",
"last-seen-ago":"Last used <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-on":"Last used on <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen":"Last seen",
"created":"Created",
"create-token":"Create Token",
"update-token":"Update Token",
"master-token":"Master token",
"last-seen-never":"This key has never been used.",
"no-description":"No description specified.",
"token-on-save":"Token will be generated once form is saved"
"actions":"Actions",
"edit":"Edit",
"roll":"Roll",
"delete-confirm":"Are you sure you wish to delete this token? It will not be recoverable.",
"roll-confirm":"Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable."
"title.short-placeholder":"ان لم تقم بكتابة عنوان مختصر, سيتم استخدام عنوان الموقع الكلي",
"title.url":"Title Link URL",
"title.url-placeholder":"The URL of the site title",
"title.url-help":"When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. <br> Note: This is not the external URL used in emails, etc. That is set by the <code>url</code> property in config.json",
"title.url-help":"When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the <code>url</code> property in config.json",
"title.name":"اسم المنتدي",
"title.show-in-header":"Show Site Title in Header",
"browser-title":"عنوان المتصفح",
@@ -16,7 +18,7 @@
"description":"وصف الموقع",
"keywords":"الكلمات الدليله للموقع",
"keywords-placeholder":"Keywords describing your community, comma-separated",
"logo":"شعار الموقع",
"logo-and-icons":"Site Logo & Icons",
"logo.image":"صورة",
"logo.image-placeholder":"Path to a logo to display on forum header",
"handles.enabled-help":"This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"",
"topic-views.enabled":"Allow guests to increase topic view counts",
"chat.add-user-help":"Search for users here. When selected, the user will be added to the chat. The new user will not be able to see chat messages written before they were added to the conversation. Only room owners (<i class=\"fa fa-star text-warning\"></i>) may remove users from chat rooms.",
"chat.confirm-chat-with-dnd-user":"This user has set their status to DnD(Do not disturb). Do you still want to chat with them?",
"chat.room-name-optional":"Room Name (Optional)",
"chat.rename-room":"Rename Room",
"chat.rename-placeholder":"Enter your room name here",
"chat.rename-help":"The room name set here will be viewable by all participants in the room.",
"chat.leave":"Leave Chat",
"chat.leave":"Leave",
"chat.leave-room":"Leave Room",
"chat.leave-prompt":"Are you sure you wish to leave this chat?",
"chat.leave-help":"Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.",
"chat.delete":"Delete",
"chat.delete-room":"Delete Room",
"chat.delete-prompt":"Are you sure you wish to delete this chat room?",
"chat.in-room":"In this room",
"chat.kick":"Kick",
"chat.show-ip":"Show IP",
"chat.owner":"Room Owner",
"chat.system.user-join":"%1 has joined the room",
"chat.system.user-leave":"%1 has left the room",
"chat.system.room-rename":"%2 has renamed this room: %1",
"custom-css.description":"Въведете своите собствени декларации на CSS/SASS. Те ще бъдат приложени след всички останали стилове.",
"custom-css.enable":"Включване на персонализиран CSS/SASS",
@@ -12,5 +13,8 @@
"custom-header.enable":"Включване на персонализирана заглавна част",
"custom-css.livereload":"Включване на моменталното презареждане",
"custom-css.livereload.description":"Ако включите това, всички сесии на всяко устройство, където използвате акаунта си, ще се презареждат, когато натискате „Запазване“."
"custom-css.livereload.description":"Ако включите това, всички сесии на всяко устройство, където използвате акаунта си, ще се презареждат, когато натискате „Запазване“.",
"bsvariables":"_variables.scss",
"bsvariables.description":"Тук може да промените променливите на bootstrap. Можете също да използвате и инструмент като <a href=\"https://bootstrap.build/app\">bootstrap.build</a> и да копирате резултата от него тук.<br/>Промените изискват повторно изграждане и рестартиране.",
"bsvariables.enable":"Включване на _variables.scss"
"running-version":"Вие използвате <strong>NodeBB версия <span id=\"version\">%1</span></strong>.",
"keep-updated":"Стремете се винаги да използвате най-новата версия на NodeBB, за да се възползвате от последните подобрения на сигурността и поправки на проблеми.",
"upgrade-available":"<p>Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
"prerelease-upgrade-available":"<p>Това е остаряла предварителна версия на NodeBB. Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
"prerelease-warning":"<p>Това е версия за <strong>предварителен преглед</strong> на NodeBB. Възможно е да има неочаквани неизправности. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"upgrade-available":"Има нова версия (%1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.",
"prerelease-upgrade-available":"Това е остаряла предварителна версия на NodeBB. Има нова версия (%1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.",
"prerelease-warning":"Това е <strong>предварителна версия</strong> на NodeBB. Възможно е да има неочаквани неизправности. <i class=\"fa fa-exclamation-triangle\"></i>",
"fallback-emailer-not-found":"Нее намерен резервен изпращач на е-поща",
"running-in-development":"<span>Форумът работи в режим за разработчици, така че може да бъде уязвим. Моля, свържете се със системния си администратор.</span>",
"latest-lookup-failed":"<p>Не може да бъде извършена проверка за последната налична версия на NodeBB</p>",
"running-in-development":"Форумът работи в режим за разработчици, така че може да бъде уязвим. Моля, свържете се със системния си администратор.",
"latest-lookup-failed":"Не може да бъде извършена проверка за последната налична версия на NodeBB",
"restart-disabled":"Възможностите за повторно изграждане и рестартиране на NodeBB са изключени, тъй като изглежда, че NodeBB не се изпълнява чрез подходящия демон.",
"maintenance-mode":"Режим на профилактика",
"maintenance-mode-title":"Щракнете тук, за да зададете режим на профилактика на NodeBB",
"dark-mode":"Тъмен режим",
"realtime-chart-updates":"Актуализации на таблиците в реално време",
"active-users":"Дейни потребители",
@@ -89,5 +90,9 @@
"details.logins-login-time":"Време на вписване",
"start":"Начало",
"end":"Край",
"filter":"Филтриране"
"filter":"Филтриране",
"view-as-json":"Преглед като JSON",
"expand-analytics":"Разгъване на данните за анализ",
"clear-search-history":"Изчистване на историята на търсенията",
"clear-search-history-confirm":"Наистина ли искате да изчистите историята на търсенията?"
"description":"Ако поставите отметки тук, Вие ще виждате журнала в терминала си. Ако посочите пътечка, то вместо това журналите ще бъдат записвани във файл. Журналът чрез HTTP е удобен за получаване на статистика за това кога, кои и какви хора посещават форума Ви. В допълнение към следенето на заявките чрез HTTP, можем също да следим и събитията на socket.io. Журналът на Socket.io, в комбинация с redis-cli, може да Ви бъде много полезно, ако искате да разучите как работи NodeBB.",
"explanation":"За да включите или изключите журналите в реално време, просто поставете или премахнете отметките в настройките на журнала. Няма нужда от рестартиране.",
"set-order-help":"Задаването на позиция за категорията ще я премести на желаното място и ще промени местата на другите категории, ако е необходимо. Най-малкият възможен номер е 1, което ще постави категорията най-отгоре.",
"lead-text":"На тази страница можете да настроите достъпа до ППИ за писане в NodeBB.",
"intro":"По подразбиране ППИ за писане удостоверява потребителите чрез бисквитката им за сесията, но NodeBB поддържа и удостоверяване чрез метода „Bearer“, използвайки кодовете от тази страница.",
"intro":"По подразбиране ППИ за писане удостоверява потребителите чрез бисквитката им за сесията, но NodeBB поддържа и удостоверяване чрез метода „Bearer“, използвайки идентификаторите от тази страница.",
"warning":"<strong>Внимавайте</strong> – отнасяйте сес идентификаторите като с пароли. Ако някой се сдобие с тях, може да получи достъп до акаунта Ви.",
"docs":"Щракнете тук за достъп до пълната документация на ППИ",
"require-https":"Ползването на ППИ да работи само чрез HTTPS",
"require-https-caveat":"<strong>Забележка</strong>: В някои случаи, когато се ползват програми за балансиране на натоварването, е възможно заявките към NodeBB да се препращат чрез HTTP – тогава тази настройка трябва да остане изключена.",
"uid":"Потребителски ИД",
"token":"Идентификатор",
"uid-help-text":"Посочете потребителски ИД, който да бъде свързан с този код. Ако ИД е <code>0</code>, това ще се счита за <em>главен</em> код, който може да приема идентичността на всеки от другите потребители чрез параметъра <code>_uid</code>",
"description":"Описание",
"last-seen-ago":"Последно използван <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-on":"Последно използван на <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen":"Последно видян",
"created":"Създаден",
"create-token":"Създаване на идентификатор",
"update-token":"Промяна на идентификатора",
"master-token":"Главен идентификатор",
"last-seen-never":"Този ключ не е използван никога.",
"no-description":"Няма описание.",
"token-on-save":"Кодът ще бъде създаден след като данните бъдат запазени"
"actions":"Действия",
"edit":"Редактиране",
"roll":"Пресъздаване",
"delete-confirm":"Наистина ли искате да изтриете този идентификатор? След това няма да може да го възстановите.",
"roll-confirm":"Наистина ли искате да пресъздадете този идентификатор? Старият ще бъде премахнат незабавно и няма да може да бъде възстановен."
"subscriptions.hour-help":"Моля, въведете число, представляващо часа, в който да се разпращат е-писма с подготвеното резюме (напр.. <code>0</code> за полунощ, <code>17</code> за 5 следобед). Имайте предвид, че този час е според часовата зона на сървъра и може да не съвпада с часовника на системата Ви.<br /> Приблизителното време на сървъра е: <span id=\"serverTime\"></span><br /> Изпращането на следващия ежедневен бюлетин е планирано за <span id=\"nextDigestTime\"></span>",
"notifications.remove-images":"Премахване на изображенията от известията по е-поща",
"require-email-address":"Новите потребители задължително трябва да предоставят е-поща",
"require-email-address-warning":"By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means new users will have to enter <strong>and confirm</strong> an email address in order to proceed with registration and subsequent access to the forum. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning":"По подразбиране потребителите могат да не въвеждат адрес на е-поща, като оставят полето празно. Ако включите това, новите потребители задължително ще трябва да предоставят <strong>и потвърдят</strong> е-поща, за да могат да се регистрират и да получат достъп до форума. <strong>Това не означава, че потребителят ще въведе истинска е-поща, нито че тя ще е негова.</strong>",
"send-validation-email":"Изпращане на е-писма за потвърждение, когато бъде добавена или променена е-поща",
"include-unverified-emails":"Изпращане на е-писма към получатели, които не са потвърдили изрично е-пощата си",
"include-unverified-warning":"За потребителите, които имат свързана е-поща с регистрацията си, тя се смята за потвърдена. Но има ситуации, в които това не е така (например при ползване на регистрация от друга система, но и в други случаи), <strong>Включете тази настройка на собствен риск</strong> – изпращането на е-писма към непотвърдени адреси може да нарушава определени местни закони против нежеланата поща.",
"title.short-placeholder":"Ако не е посочено кратко заглавие, ще бъде използвано заглавието на уеб сайта",
"title.url":"Адрес за заглавието",
"title.url-placeholder":"Адресът за заглавието на уеб сайта",
"title.url-help":"Когато потребител щракне върху заглавието, той ще бъде прехвърлен към този адрес. Ако е празно, потребителят ще бъде изпратен към началната страница на форума. <br> Забележка: Това не е външният адрес, който се ползва в е-писмата. Той се задава от свойството <code>url</code> във файла config.json",
"title.url-help":"Когато потребител щракне върху заглавието, той ще бъде прехвърлен към този адрес. Ако е празно, потребителят ще бъде изпратен към началната страница на форума. Забележка: Това не е външният адрес, който се ползва в е-писмата. Той се задава от свойството <code>url</code> във файла config.json.",
"title.name":"Името на общността Ви",
"title.show-in-header":"Показване на заглавието на уеб сайта в заглавната част",
"browser-title":"Заглавие на браузъра",
@@ -16,7 +18,7 @@
"description":"Описание на уеб сайта",
"keywords":"Ключови думи на уеб сайта",
"keywords-placeholder":"Ключови думи, описващи общността Ви. Трябва да бъдат разделени със запетаи.",
"logo":"Лого на уеб сайта",
"logo-and-icons":"Лого и иконки на уеб сайта",
"logo.image":"Изображение",
"logo.image-placeholder":"Път до логото, което да бъде показано в заглавната част на форума",
"handles.enabled":"Позволяване на имената за гостите",
"handles.enabled-help":"Тази възможност предоставя ново поле, което позволява на гостите да си изберат име, което да се използва за всяка публикация, която правят. Ако е изключено, всички те просто ще имат името „Гост“.",
"topic-views.enabled":"Гостите да допринасят за броя на преглеждания на темите",
"sorting.post-default":"Подредба по подразбиране на публикациите",
"sorting.oldest-to-newest":"Първо най-старите",
@@ -23,10 +24,8 @@
"restrictions.seconds-edit-after":"Брой секунди, през които публикациите могат да бъдат редактирани. (0 = изключено)",
"restrictions.seconds-delete-after":"Брой секунди, през които публикациите могат да бъдат изтрити. (0 = изключено)",
"restrictions.replies-no-delete":"Брой отговори, след които потребителите вече не могат да изтриват собствените си теми. (0 = изключено)",
"restrictions.min-title-length":"Минимална дължина на заглавието",
"restrictions.max-title-length":"Максимална дължина на заглавието",
"restrictions.min-post-length":"Минимална дължина на публикацията",
"restrictions.max-post-length":"Максимална дължина на публикацията",
"restrictions.title-length":"Дължина на заглавието",
"restrictions.post-length":"Дължина на публикациите",
"restrictions.days-until-stale":"Брой дни, след които темата се смята за стара",
"restrictions.stale-help":"Ако дадена тема е определена като „стара“, то потребителите, които се опитат да пишат в нея, ще получат предупредително съобщение.",
"timestamp":"Време",
@@ -41,10 +40,9 @@
"teaser.last-reply":"Последната – Показване на последния отговор, или „Няма отговори“, ако все още няма такива.",
"teaser.first":"Първата",
"showPostPreviewsOnHover":"Показване на кратък преглед на публикациите при посочване с мишката",
"unread":"Настройки за непрочетените",
"unread-and-recent":"Настройки за скорошните и непрочетените",
"unread.cutoff":"Възраст на публикациите, след която те не се показват в непрочетените (в брой дни)",
"unread.min-track-last":"Минимален брой публикации в темата, след което да започва следене на последно прочетената",
"recent":"Настройки за скорошните",
"recent.max-topics":"Максимален брой теми в скорошните",
"recent.categoryFilter.disable":"Изключване на филтрирането на темите в пренебрегваните категории на страницата /recent",
"user-doesnt-have-email":"Потребителят „%1“ няма зададена е-поща.",
"email-confirm-failed":"Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.",
"confirm-email-already-sent":"Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.",
"confirm-email-expired":"Е-писмото за потвърждение ес изтекла давност",
"sendmail-not-found":"Изпълнимият файл на „sendmail“ не може да бъде намерен. Моля, уверете се, че е инсталиран и изпълним за потребителя, чрез който е пуснат NodeBB.",
"digest-not-enabled":"Този потребител няма включени резюмета, или системната настройка по подразбиране е да не се изпращат резюмета",
"username-too-short":"Потребителското име е твърде кратко",
@@ -54,6 +55,7 @@
"user-banned-reason-until":"За съжаление, този акаунт е блокиран до %1 (Причина: %2)",
"user-too-new":"Съжаляваме, но трябва да изчакате поне %1 секунда/и, преди да направите първата си публикация",
"blacklisted-ip":"Съжаляваме, но Вашият IP адрес е забранен за ползване в тази общност. Ако смятате, че това е грешка, моля, свържете сес администратор.",
"cant-blacklist-self-ip":"Не може да добавите собствения си IP адрес в черния списък",
"ban-expiry-missing":"Моля, задайте крайна дата за това блокиране",
"no-category":"Категорията не съществува",
"no-topic":"Темата не съществува",
@@ -92,7 +94,7 @@
"already-posting":"В момента публикувате",
"tag-too-short":"Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)",
"tag-too-long":"Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)",
"tag-not-allowed":"Tag not allowed",
"tag-not-allowed":"Етикетът не е разрешен",
"not-enough-tags":"Недостатъчно етикети. Темите трябва да имат поне %1 етикет(а)",
"too-many-tags":"Твърде много етикети. Темите не могат да имат повече от %1 етикет(а)",
"cant-use-system-tag":"Не можете да използвате този системен етикет.",
@@ -163,7 +165,7 @@
"chat-room-does-not-exist":"Стаята за разговори не съществува.",
"cant-add-users-to-chat-room":"Към стаята за разговори не могат да бъдат добавяни потребители.",
"cant-remove-users-from-chat-room":"От стаята за разговори не могат да бъдат премахвани потребители.",
"chat-room-name-too-long":"Името на стаята за разговори е твърде дълго.",
"chat-room-name-too-long":"Името на стаята е твърде дълго. Имената не може да са по-дълги от %1 знака.",
"already-voting-for-this-post":"Вече сте дали глас за тази публикация.",
"reputation-system-disabled":"Системата за репутация е изключена.",
"downvoting-disabled":"Отрицателното гласуване е изключено",
@@ -198,6 +200,7 @@
"not-in-room":"Потребителят не е в стаята",
"cant-kick-self":"Не можете да изритате себе си от групата",
"403.message":"Изглежда сте посетили страница, до която нямате достъп.",
"403.login":"Може би трябва да <a class=\"alert-link\" href='%1/login'>опитате да се впишете</a>?",
"404.title":"Нее намерена",
"404.message":"You seem to have stumbled upon a page that does not exist.<br/><div class=\"text-sm text-muted\">Return to the <a href='%1/'>home page</a>.</div>",
"404.message":"Изглежда сте се опитали да посетите страница, която не съществува.<br/><div class=\"text-sm text-muted\">Върнете се към <a href='%1/'>началната страница</a>.</div>",
"500.title":"Вътрешна грешка.",
"500.message":"Опа! Изглежда нещо се обърка!",
"400.title":"Грешна заявка.",
"400.message":"It looks like this link is malformed, please double-check and try again.<br/><div class=\"text-sm text-muted\">Return to the <a href='%1/'>home page</a>.</div>",
"400.message":"Тази връзка изглежда повредена. Моля, проверете я и опитайте отново.<br/><div class=\"text-sm text-muted\">Или се върнете към <a href='%1/'>началната страница</a>.</div>",
"chat.add-user-help":"Тук можете да потърсите потребители. Когато някой потребител бъде избран, той ще бъде добавен в разговора. Новият потребител няма да може да вижда съобщенията, написани преди включването му в разговора. Само собствениците на стаята (<i class=\"fa fa-star text-warning\"></i>) могат да премахват потребители от нея.",
"chat.confirm-chat-with-dnd-user":"Този потребител е в състояние „не ме безпокойте“. Наистина ли искате да разговаряте с него?",
"chat.room-name-optional":"Име на стаята (незадължително)",
"chat.rename-room":"Преименуване на стаята",
"chat.rename-placeholder":"Въведете името на стаята си тук",
"chat.rename-help":"Зададеното тук име на стаята ще се вижда от всички участници в нея.",
"chat.leave":"Напускане на разговора",
"chat.leave":"Напускане",
"chat.leave-room":"Напускане на стаята",
"chat.leave-prompt":"Наистина ли искате да напуснете този разговор?",
"chat.leave-help":"Ако напуснете този разговор, няма да виждате следващите съобщения в него. Ако бъдете добавен(а) отново, няма да виждате историята на разговора отпреди добавянето Ви.",
"chat.delete":"Изтриване",
"chat.delete-room":"Изтриване на стаята",
"chat.delete-prompt":"Наистина ли искате да изтриете тази стая за разговор?",
"chat.in-room":"В тази стая",
"chat.kick":"Изгонване",
"chat.show-ip":"Показване на IP адреса",
"chat.owner":"Собственик на стаята",
"chat.system.user-join":"%1 се присъедини към стаята",
"chat.system.user-leave":"%1 напусна стаята",
"chat.system.room-rename":"%2 преименува тази стая: %1",
"chat.grant-rescind-ownership":"Даване/отнемане на собственост",
"chat.system.user-join":"%1 се присъедини към стаята <span class=\"timeago\" title=\"%2\"></span>",
"settings.intro":"You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)",
"settings.mobile-menu-side":"Switch which side each mobile menu is on",
"settings.autoHidingNavbar":"Automatically hide the navbar on scroll",
"settings.autoHidingNavbar-xs":"Very small screens (e.g. phones in portrait mode)",
"settings.autoHidingNavbar-sm":"Smaller screens (e.g. phones, some tablets)",
"settings.autoHidingNavbar-md":"Medium sized screens (e.g. tablets in landscape mode)",
"settings.intro":"Тук може да промените настройките на темата. Тези настройки се съхраняват отделно на всяко устройство, така че може да имате различни настройки на различните си устройства (телефон, таблет, настолен компютър и т.н.)",
"settings.mobile-menu-side":"Превключване на страната, от която да бъде всяко меню на мобилно устройство",
"settings.autoHidingNavbar":"Автоматично скриване на навигационната лента при превъртане",
"settings.autoHidingNavbar-xs":"Много малки екрани (напр. телефон в портретна ориентация)",
"settings.autoHidingNavbar-sm":"По-малки екрани (напр. телефони, някои таблети)",
"settings.autoHidingNavbar-md":"Средно големи екрани (напр. таблети в пейзажна ориентация)",
"settings.autoHidingNavbar-lg":"По-големи екрани (напр. лаптопи и настолни компютри)"
"group-order-help":"Изберете група и използвайте стрелките, за да пренаредите заглавията",
"no-group-title":"Няма заглавие на група",
"select-skin":"Изберете облик",
"default":"По подразбиране (%1)",
"no-skin":"Без облик",
"select-homepage":"Изберете начална страница",
"homepage":"Начална страница",
"homepage_description":"Изберете страница, която да използвате като начална за форума, или „Нищо“, за да използвате тази по подразбиране.",
@@ -202,5 +204,5 @@
"emailUpdate.required":"<strong>Това поле е задължително</strong>.",
"emailUpdate.change-instructions":"Ще Ви изпратим е-писмо за потвърждение на посочената е-поща, което ще съдържа уникална връзка. Щом последвате тази връзка, притежанието Ви на тази е-поща ще бъде потвърдено и тя ще бъде свързана с акаунта Ви. Ще можете да промените тази е-поща по всяко време, от страницата на акаунта си.",
"emailUpdate.password-challenge":"Въведете паролата си, за да потвърдите, че акаунтът е Ваш.",
"emailUpdate.pending":"Your email address has not yet been confirmed, but an email has been sent out requesting confirmation. If you wish to invalidate that request and send a new confirmation request, please fill in the form below."
"emailUpdate.pending":"Вашата е-поща все още не е била потвърдена, въпреки че до нея вече е било изпратено е-писмо за потвърждение. Ако искате да го анулирате и да заявите ново, попълнете формуляра по-долу."
"custom-css.description":"Enter your own CSS/SASS declarations here, which will be applied after all other styles.",
"custom-css.enable":"Enable Custom CSS/SASS",
@@ -12,5 +13,8 @@
"custom-header.enable":"Enable Custom Header",
"custom-css.livereload":"Enable Live Reload",
"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":"Enable this to force all sessions on every device under your account to refresh whenever you click save",
"bsvariables":"_variables.scss",
"bsvariables.description":"Override bootstrap variables here. You can also use a tool like <a href=\"https://bootstrap.build/app\">bootstrap.build</a> and paste the output here.<br/>Changes require a rebuild & restart.",
"running-version":"You are running <strong>NodeBB v<span id=\"version\">%1</span></strong>.",
"keep-updated":"Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.",
"up-to-date":"<p>You are <strong>up-to-date</strong> <i class=\"fa fa-check\"></i></p>",
"upgrade-available":"<p>A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-upgrade-available":"<p>This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-warning":"<p>This is a <strong>pre-release</strong> version of NodeBB. Unintended bugs may occur. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"up-to-date":"You are <strong>up-to-date</strong> <i class=\"fa fa-check\"></i>",
"upgrade-available":"A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.",
"prerelease-upgrade-available":"This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.",
"prerelease-warning":"This is a <strong>pre-release</strong> version of NodeBB. Unintended bugs may occur. <i class=\"fa fa-exclamation-triangle\"></i>",
"fallback-emailer-not-found":"Fallback emailer not found!",
"running-in-development":"<span>Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.</span>",
"latest-lookup-failed":"<p>Failed to look up latest available version of NodeBB</p>",
"running-in-development":"Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator",
"latest-lookup-failed":"Failed to look up latest available version of NodeBB",
"notices":"Notices",
"restart-not-required":"Restart not required",
@@ -48,6 +48,7 @@
"restart-disabled":"Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.",
"maintenance-mode":"Maintenance Mode",
"maintenance-mode-title":"Click here to set up maintenance mode for NodeBB",
"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.",
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.