Merge remote-tracking branch 'origin/develop' into activitypub

This commit is contained in:
Julian Lam
2024-05-27 12:56:51 -04:00
64 changed files with 356 additions and 183 deletions

View File

@@ -46,15 +46,16 @@ ENV NODE_ENV=production \
WORKDIR /usr/src/app/
COPY --from=build --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=build --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
RUN corepack enable \
&& groupadd --gid ${GID} ${USER} \
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/ \
&& chmod +x /usr/local/bin/entrypoint.sh \
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/
COPY --from=build --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=build --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint.sh \
&& chmod +x /usr/local/bin/tini
# TODO: Have docker-compose use environment variables to create files like setup.json and config.json.

View File

@@ -51,17 +51,18 @@ ENV NODE_ENV=development \
WORKDIR /usr/src/app/
RUN corepack enable \
&& groupadd --gid ${GID} ${USER} \
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/
COPY --from=build --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=build --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
COPY --from=node_modules_touch --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/
COPY --from=git --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/
RUN corepack enable \
&& groupadd --gid ${GID} ${USER} \
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/ \
&& chmod +x /usr/local/bin/entrypoint.sh \
RUN chmod +x /usr/local/bin/entrypoint.sh \
&& chmod +x /usr/local/bin/tini
# TODO: Have docker-compose use environment variables to create files like setup.json and config.json.

View File

@@ -36,7 +36,7 @@ services:
- redis
postgres:
image: postgres:16.1-alpine
image: postgres:16.3-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb

View File

@@ -137,7 +137,7 @@
"sitemapTopics": 500,
"maintenanceMode": 0,
"maintenanceModeStatus": 503,
"votesArePublic": 0,
"voteVisibility": "privileged",
"maximumInvites": 0,
"username:disableEdit": 0,
"email:disableEdit": 0,

View File

@@ -34,7 +34,7 @@
"@fortawesome/fontawesome-free": "6.5.2",
"@isaacs/ttlcache": "1.4.1",
"@popperjs/core": "2.11.8",
"ace-builds": "1.33.2",
"ace-builds": "1.34.2",
"archiver": "7.0.1",
"async": "3.2.5",
"autoprefixer": "10.4.19",
@@ -64,7 +64,7 @@
"csrf-sync": "4.0.3",
"daemon": "1.1.0",
"diff": "5.2.0",
"esbuild": "0.21.3",
"esbuild": "0.21.4",
"express": "4.19.2",
"express-session": "1.18.0",
"express-useragent": "1.0.15",
@@ -94,7 +94,7 @@
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"nconf": "0.12.1",
"nodebb-plugin-2factor": "7.5.1",
"nodebb-plugin-2factor": "7.5.2",
"nodebb-plugin-composer-default": "10.2.36",
"nodebb-plugin-dbsearch": "6.2.3",
"nodebb-plugin-emoji": "5.1.15",
@@ -107,7 +107,7 @@
"nodebb-theme-harmony": "2.0.0-pre.23",
"nodebb-theme-lavender": "7.1.8",
"nodebb-theme-peace": "2.2.5",
"nodebb-theme-persona": "13.3.19",
"nodebb-theme-persona": "13.3.20",
"nodebb-widget-essentials": "7.0.16",
"nodemailer": "6.9.13",
"nprogress": "0.2.0",
@@ -129,7 +129,7 @@
"semver": "7.6.2",
"serve-favicon": "2.5.0",
"sharp": "0.32.6",
"sitemap": "7.1.1",
"sitemap": "8.0.0",
"socket.io": "4.7.5",
"socket.io-client": "4.7.5",
"@socket.io/redis-adapter": "8.3.0",
@@ -164,8 +164,8 @@
"grunt": "1.6.1",
"grunt-contrib-watch": "1.1.0",
"husky": "8.0.3",
"jsdom": "24.0.0",
"lint-staged": "15.2.2",
"jsdom": "24.1.0",
"lint-staged": "15.2.5",
"mocha": "10.4.0",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Настройки за репутацията",
"disable": "Изключване на системата за репутация",
"disable-down-voting": "Забрана на отрицателното гласуване",
"votes-are-public": "Всички гласувания са публични",
"vote-visibility": "Видимост на подадените гласове",
"vote-visibility-all": "Всички могат да виждат подадените гласове",
"vote-visibility-loggedin": "Само вписаните потребители могат да виждат подадените гласове",
"vote-visibility-privileged": "Само потребителите с по-високи правомощия (като администратори и модератори) могат да виждат подадените гласове",
"thresholds": "Ограничения на дейността",
"min-rep-upvote": "Минимална репутация, необходима за положително гласуване за публикации",
"upvotes-per-day": "Положителни гласувания за ден (задайте 0 за неограничен брой)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Nastavení reputace",
"disable": "Zakázat systém reputace",
"disable-down-voting": "Zakázat hlasování",
"votes-are-public": "Všechna hlasování jsou veřejná",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Omezení aktivity",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Ansehenseinstellungen",
"disable": "Ansehenssystem deaktivieren",
"disable-down-voting": "Negative Bewertungen deaktivieren",
"votes-are-public": "Alle Bewertungen sind öffentlich",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Aktivitätsschwelle",
"min-rep-upvote": "Mindestreputation, um Beiträge hochzustimmen",
"upvotes-per-day": "Upvotes pro Tag (für unbegrenzte Upvotes auf 0 setzen)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Configuración de Reputación",
"disable": "Desactivar Sistema de Reputación",
"disable-down-voting": "Desactivar Votos Negativos",
"votes-are-public": "Todos los Votos son Públicos",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Umbrales de Actividad",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -25,19 +25,19 @@
"updates": "بروزرسانی‌ها",
"running-version": "شما در حال اجراء <strong><span id=\"version\"> NodeBB v </span> 1%</strong> هستید.",
"keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.",
"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": "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",
"keep-updated": "برای آخرین وصله های امنیتی و رفع باگ ها همیشه مطمئن شوید که NodeBB شما به روز است.",
"up-to-date": "شما <strong>بروز</strong> هستید<i class=\"fa fa-check\"></i>",
"upgrade-available": "نسخه جدید (v%1) منتشر شده است. ا<a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">رتقا NodeBB خود</a> را در نظر بگیرید.",
"prerelease-upgrade-available": "این یک نسخه پیش از انتشار قدیمی NodeBB است. نسخه جدید (v%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": "انجمن در حالت توسعه (development mode) در حال اجرا است. انجمن ممکن است برای اسیب پذیری های بالقوه باز باشد؛ لطفا با مدیر سیستم خود تماس بگیرید",
"latest-lookup-failed": "جستجو در اخرین نسخه موجود NodeBB شکست خورد",
"notices": "Notices",
"restart-not-required": "Restart not required",
"restart-required": "Restart required",
"search-plugin-installed": "Search Plugin installed",
"notices": "اطلاعیه ها",
"restart-not-required": "راه اندازی مجدد لازم نیست",
"restart-required": "راه‌اندازی مجدد لازم است",
"search-plugin-installed": "افزونه جستجو نصب شد",
"search-plugin-not-installed": "Search Plugin not installed",
"search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality",
@@ -74,28 +74,28 @@
"graphs.page-views": "Page Views",
"graphs.page-views-registered": "Page Views Registered",
"graphs.page-views-guest": "Page Views Guest",
"graphs.page-views-bot": "Page Views Bot",
"graphs.unique-visitors": "Unique Visitors",
"graphs.registered-users": "Registered Users",
"graphs.guest-users": "Guest Users",
"last-restarted-by": "Last restarted by",
"no-users-browsing": "No users browsing",
"graphs.page-views-bot": "ربات بازدید از صفحه",
"graphs.unique-visitors": "بازدیدکنندگان منحصر به فرد",
"graphs.registered-users": "کاربران ثبت نام شده",
"graphs.guest-users": "کاربران مهمان",
"last-restarted-by": "آخرین راه‌اندازی توسط",
"no-users-browsing": "هیچ کاربری در حال مرور نیست",
"back-to-dashboard": "Back to Dashboard",
"details.no-users": "No users have joined within the selected timeframe",
"details.no-topics": "No topics have been posted within the selected timeframe",
"details.no-searches": "No searches have been made within the selected timeframe",
"details.no-logins": "No logins have been recorded within the selected timeframe",
"details.logins-static": "NodeBB only saves session data for %1 days, and so this table below will only show the most recently active sessions",
"details.logins-login-time": "Login Time",
"start": "Start",
"end": "End",
"filter": "Filter",
"view-as-json": "View as JSON",
"back-to-dashboard": "بازگشت به پیش‌خوان",
"details.no-users": "هیچ کاربر جدیدی در بازه زمانی انتخابی عضو نشده است",
"details.no-topics": "هیچ موضوعی در بازه زمانی انتخاب شده ارسال نشده است",
"details.no-searches": "هیچ جستجویی در بازه زمانی انتخاب شده انجام نشده است",
"details.no-logins": "هیچ ورودی در بازه زمانی انتخاب شده ثبت نشده است",
"details.logins-static": "NodeBB فقط داده‌های جلسه را برای %1 روز ذخیره می‌کند، بنابراین این جدول زیر فقط آخرین جلسات فعال را نشان می‌دهد",
"details.logins-login-time": "زمان ورود",
"start": "شروع",
"end": "پایان",
"filter": "فیلتر کردن",
"view-as-json": "نمایش با JSON",
"expand-analytics": "Expand analytics",
"clear-search-history": "Clear Search History",
"clear-search-history-confirm": "Are you sure you want to clear entire search history?",
"search-term": "Term",
"search-count": "Count",
"view-all": "View all"
"clear-search-history": "پاک کردن تاریخچه‌ی جستوجو",
"clear-search-history-confirm": "آیا مطمئن هستید که می خواهید کل سابقه جستجو را پاک کنید؟",
"search-term": "مدت",
"search-count": "تعداد",
"view-all": "نمایش همه"
}

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Paramètres de réputation",
"disable": "Désactiver le système de réputation",
"disable-down-voting": "Désactiver les votes négatifs",
"votes-are-public": "Tous les votes sont publics",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Seuils d'activité",
"min-rep-upvote": "Réputation minimale pour voter pour les publications",
"upvotes-per-day": "Votes positifs par jour (0 = illimité)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "הגדרות מוניטין",
"disable": "השבת מערכת המוניטין",
"disable-down-voting": "השבת דיסלייק",
"votes-are-public": "כל ההצבעות פומביות",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "סף פעילות",
"min-rep-upvote": "מוניטין מינימלי כדי להצביע בעד",
"upvotes-per-day": "כמה פעמים ביום משתמש יוכל להצביע למעלה (הגדר ל-0 כדי לאפשר ללא הגבלה)",

View File

@@ -2,7 +2,10 @@
"reputation": "Postavke reputacije",
"disable": "Onemogući reputacije",
"disable-down-voting": "Onemogući oduzimanje glasova",
"votes-are-public": "Svi glasovi su javni",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Prag aktivnosti",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Hírnév beállítások",
"disable": "Hírnév rendszer kikapcsolása",
"disable-down-voting": "Leszavazás kikapcsolása",
"votes-are-public": "Minden szavazat nyilvános",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Aktivitás küszöb értékek",
"min-rep-upvote": "Minimális hírnév a hozzászólások pozitív szavazásához",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Վարկանիշի կարգավորումներ",
"disable": "Անջատել վարկանիշի համակարգը",
"disable-down-voting": "Անջատել Down Voting-ը",
"votes-are-public": "Բոլոր ձայները հրապարակային են",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Անջատել վարկանիշի համակարգը",
"min-rep-upvote": "Նվազագույն հեղինակություն դրական քվեարկության համար",
"upvotes-per-day": "Օրական կողմ ձայներ (սահմանված է 0 անսահմանափակ կողմ ձայների համար)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Impostazioni reputazione",
"disable": "Disabilita sistema reputazione",
"disable-down-voting": "Disabilita voto negativo",
"votes-are-public": "Tutti i voti sono pubblici",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Soglie di attività",
"min-rep-upvote": "Reputazione minima per votare positivamente i post",
"upvotes-per-day": "Voti positivi al giorno (impostare a 0 per i voti positivi illimitati)",

View File

@@ -2,7 +2,10 @@
"reputation": "評価の設定",
"disable": "レピュテーションシステムを無効にする",
"disable-down-voting": "低評価を無効にする",
"votes-are-public": "すべての投票は公開されています",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "アクティビティのしきい値",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "평판 설정",
"disable": "평판 시스템 비활성화",
"disable-down-voting": "비추천 비활성화",
"votes-are-public": "모든 투표 공개",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "활동 임계값",
"min-rep-upvote": "게시물을 추천할 수 있는 최소 평판",
"upvotes-per-day": "하루에 가능한 추천 횟수 (무제한 추천을 위해 0으로 설정)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Ranga punktu sistēma",
"disable": "Atspējot ranga punktu sistēmu",
"disable-down-voting": "Atspējot balsošanu \"pret\"",
"votes-are-public": "Visi balsojumi ir publiski",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Aktivitātes sliekšņi",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Omdømmeinnstillinger",
"disable": "Skru av omdømmesystem",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum omdømme for å stemme opp innlegg",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Ustawienia reputacji",
"disable": "Wyłącz system reputacji",
"disable-down-voting": "Wyłącz system głosów przeciw",
"votes-are-public": "Wszystkie głosy są publiczne",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Progi aktywności",
"min-rep-upvote": "Minimalna reputacja pozwalająca głosować za postami",
"upvotes-per-day": "Limit głosów za na dzień (ustaw 0 by były nielimitowane)",

View File

@@ -2,7 +2,10 @@
"reputation": "Configurações de Reputação",
"disable": "Desabilitar o Sistema de Reputação",
"disable-down-voting": "Desativar a Negativação",
"votes-are-public": "Todos os Votos São Públicos",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Limites às atividades",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Definições de Reputação",
"disable": "Desativar Sistema de Reputação",
"disable-down-voting": "Desativar Votos Negativos",
"votes-are-public": "Todos os Votos São Públicos",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Limites de Atividade",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Настройка системы репутации",
"disable": "Выключить отслеживание репутации",
"disable-down-voting": "Отключить понижение рейтинга",
"votes-are-public": "Все голоса общедоступны",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Пороговые значения",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Nastavenie reputácie",
"disable": "Zakázať systém reputácie",
"disable-down-voting": "Zakázať hlasovanie",
"votes-are-public": "Všetky hlasovania sú verejné",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Obmedzenie aktivity",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Nastavitve ugleda",
"disable": "Onemogoči sistem ugleda",
"disable-down-voting": "Onemogoči glasovanje proti",
"votes-are-public": "Vsi glasovi so javni",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,8 +2,8 @@
"manage-users": "Manage Users",
"users": "ผู้ใช้",
"edit": "จัดการ",
"make-admin": "ทำให้เป็นแอดมิน",
"remove-admin": "ยกเลิกการเป็นแอดมิน",
"make-admin": "ทำให้เป็นผู้ดูแลระบบ",
"remove-admin": "ยกเลิกการเป็นผู้ดูแลระบบ",
"change-email": "เปลี่ยนอีเมล",
"new-email": "เพิ่มอีเมลใหม่",
"validate-email": "ยืนยันอีเมล",
@@ -90,25 +90,25 @@
"alerts.flag-reset-success": "ยกเลิกรายงานแล้ว!",
"alerts.no-remove-yourself-admin": "คุณไม่สามารถที่จะยกเลิกตัวเองจากการเป็นผู้ดูแลระบบ",
"alerts.make-admin-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลระบบแล้ว",
"alerts.confirm-remove-admin": "คุณต้องการลบผู้ดูแลระบบคนนี้หรือไม่?",
"alerts.remove-admin-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลอีกต่อไป",
"alerts.make-global-mod-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลระดับโลกแล้ว",
"alerts.confirm-remove-global-mod": "คุณต้องการลบผู้ดูแลทั่วโลกนี้หรือไม่?",
"alerts.remove-global-mod-success": "ผู้ใช้ไม่เป็นผู้ดูแลระดับโลกอีกแล้ว",
"alerts.make-moderator-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแล",
"alerts.confirm-remove-moderator": "คุณต้องการนำผู้ดูแลนี้ออกหรือไม่?",
"alerts.remove-moderator-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลอีกต่อไป",
"alerts.confirm-remove-admin": "คุณต้องการปลดผู้ดูแลระบบคนนี้หรือไม่?",
"alerts.remove-admin-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลระบบอีกต่อไป",
"alerts.make-global-mod-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลบอร์ดรวมแล้ว",
"alerts.confirm-remove-global-mod": "คุณต้องการปลดผู้ดูแลบอร์ดรวมนี้หรือไม่?",
"alerts.remove-global-mod-success": "ผู้ใช้ไม่เป็นผู้ดูแลบอร์ดรวมอีกแล้ว",
"alerts.make-moderator-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลบอร์ดแล้ว",
"alerts.confirm-remove-moderator": "คุณต้องการปลดผู้ดูแลบอร์ดนี้ออกหรือไม่?",
"alerts.remove-moderator-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลบอร์ดอีกต่อไป",
"alerts.confirm-validate-email": "คุณต้องการที่ยืนยันอีเมลของผู้ใช้เหล่านี้หรือไม่?",
"alerts.confirm-force-password-reset": "คุณต้องการให้ผู้ใช้เหล่านี้ถูกรีเซ็ตรหัสผ่านและออกจากระบบหรือไม่?",
"alerts.validate-email-success": "อีเมลที่ได้รับการยืนยัน",
"alerts.validate-force-password-reset-success": "รหัสผ่านของผู้ใช้งานถูกรีเซ็ต และการเข้าระบบถูกถอดออก",
"alerts.password-reset-confirm": "คุณต้องการที่จะส่งอีเมลการล้างค่ารหัสผ่านให้กับผู้ใช้เหล่านี้หรือไม่?",
"alerts.password-reset-email-sent": "อีเมลรีเซ็ตรหัสผ่านถูกส่งแล้ว",
"alerts.confirm-delete": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s)</strong>?</p><p>This action is not reversible! Only the user account will be deleted, their posts and topics will remain.</p>",
"alerts.delete-success": "ผู้ใช้งานโดนลบ!",
"alerts.confirm-delete-content": "<strong>Warning!</strong><p>Do you really want to delete these user(s) <strong>content</strong>?</p><p>This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.</p>",
"alerts.delete-content-success": "User(s) Content Deleted!",
"alerts.confirm-purge": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s) and their content</strong>?</p><p>This action is not reversible! All user data and content will be erased!</p>",
"alerts.confirm-delete": "<strong>คำเตือน!</strong><p>คุณต้องการลบ <strong>ผู้ใช้งาน</strong>หรือไม่?</p><p>คำสั่งนี้ไม่สามารถย้อนกลับได้! เฉพาะบัญชีผู้ใช้งานเท่านั้นที่จะถูกลบ โพสต์และกระทู้ของผู้ใช้งานจะยังคงอยู่</p>",
"alerts.delete-success": "ผู้ใช้งานถูกลบแล้ว!",
"alerts.confirm-delete-content": "<strong>คำเตือน!</strong><p>คุณต้องการลบ<strong>เนื้อหา</strong>ของผู้ใช้งานหรือไม่?</p><p>คำสั่งนี้ไม่สามารถย้อนกลับได้! บัญชีผู้ใช้งานจะยังคงอยู่ แต่โพสต์และกระทู้ของผู้ใช้งานจะถูกลบ</p>",
"alerts.delete-content-success": "เนื้อหาของผู้ใช้งานถูกลบแล้ว!",
"alerts.confirm-purge": "<strong>คำเตือน!</strong><p>คุณต้องการลบ<strong>ผู้ใช้งานและเนื้อหา</strong>หรือไม่?</p><p>คำสั่งนี้ไม่สามารถย้อนกลับได้! ข้อมูลผู้ใช้งานและเนื้อหาจะถูกลบทั้งหมด!</p>",
"alerts.create": "สร้างผู้ใช้งาน",
"alerts.button-create": "สร้าง",
"alerts.button-cancel": "ยกเลิก",
@@ -119,8 +119,8 @@
"alerts.prompt-email": "อีเมล: ",
"alerts.email-sent-to": "อีเมลคำเชิญถูกส่งไปที่ %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
"alerts.x-users-found": "พบผู้ใช้งาน %1 ราย (ใช้เวลา %2 วินาที)",
"alerts.select-a-single-user-to-change-email": "เลือกผู้ใช้งานที่จะเปลี่ยนอีเมล",
"export": "ส่งออกไฟล์",
"export-users-fields-title": "เลือกฟิลด์สำหรับ CSV",
"export-field-email": "อีเมล",
@@ -143,9 +143,9 @@
"export-field-signature": "ลายเซ็น",
"export-field-aboutme": "เกี่ยวกับฉัน",
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
"export-users-completed": "Users exported as csv, click here to download.",
"email": "Email",
"password": "Password",
"manage": "Manage"
"export-users-started": "กำลังส่งออกข้อมูลผู้ใช้งานเป็น CSV ซึ่งอาจใช้เวลาสักระยะ คุณจะได้รับการแจ้งเตือนเมื่อเสร็จแล้ว",
"export-users-completed": "ข้อมูลผู้ใช้งานถูกส่งออกเป็น CSV แล้ว คลิกที่นี่เพื่อดาวน์โหลด",
"email": "อีเมล",
"password": "รหัสผ่าน",
"manage": "จัดการ"
}

View File

@@ -4,5 +4,5 @@
"home-page-route": "เส้นทางหน้าแรก",
"custom-route": "เส้นทางที่กำหนดเอง",
"allow-user-home-pages": "อนุญาตหน้าแรกของผู้ใช้",
"home-page-title": "Title ของหน้าแรก (ค่าเริ่มต้น \"Home\")"
"home-page-title": "ชื่อของหน้าแรก (ค่าเริ่มต้นคือ \"Home\")"
}

View File

@@ -1,37 +1,40 @@
{
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",
"upvotes-per-user-per-day": "Upvotes per user per day (set to 0 for unlimited upvotes)",
"min-rep-downvote": "Minimum reputation to downvote posts",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
"min-rep-chat": "Minimum reputation to send chat messages",
"min-rep-post-links": "Minimum reputation to post links",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile",
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile",
"disable": "ปิดการใช้งานระบบชื่อเสียง",
"disable-down-voting": "ปิดการใช้งานการโหวดลง",
"vote-visibility": "การมองเห็นการโหวด",
"vote-visibility-all": "ทุกคนสามารถเห็นการโหวด",
"vote-visibility-loggedin": "เฉพาะผู้ที่เข้าสู่ระบบแล้วถึงมองเห็นการโหวด",
"vote-visibility-privileged": "เฉพาะผู้ที่มีสิทธิ์พิเศษเช่น ผู้ดูแลระบบ และ ผู้ดูแลบอร์ด สามารถเห็นการโหวด",
"thresholds": "เกณฑ์สำหรับการกระทำ",
"min-rep-upvote": "ชื่อเสียงขั้นต่ำที่สามารถโหวดโพสต์ขึ้นได้",
"upvotes-per-day": "จำนวนโหวดขึ้นต่อวัน (ตั้งค่าเป็น 0 ถ้าให้โหวดขึ้นได้ไม่จำกัดจำนวน)",
"upvotes-per-user-per-day": "จำนวนโหวดขึ้นต่อผู้ใช้งานต่อวัน (ตั้งค่าเป็น 0 ถ้าให้โหวดขึ้นได้ไม่จำกัดจำนวน)",
"min-rep-downvote": "ชื่อเสียงขั้นต่ำที่สามารถโหวดโพสต์ลงได้",
"downvotes-per-day": "จำนวนโหวดลงต่อวัน (ตั้งค่าเป็น 0 ถ้าให้โหวดลงได้ไม่จำกัดจำนวน)",
"downvotes-per-user-per-day": "จำนวนโหวดลงต่อผู้ใช้งานต่อวัน (ตั้งค่าเป็น 0 ถ้าให้โหวดลงได้ไม่จำกัดจำนวน)",
"min-rep-chat": "ชื่อเสียงขึ้นต่ำที่สามารถส่งข้อความแชทได้",
"min-rep-post-links": "ชื่อเสียงขึ้นต่ำที่สามารถโพสต์ลิงก์ได้",
"min-rep-flag": "ชื่อเสียงขึ้นต่ำที่สามารถรายงานโพสต์ได้",
"min-rep-website": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม เว็บไซต์ ลงในหน้าโปรไฟล์ผู้ใช้",
"min-rep-aboutme": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม ข้อมูลเกี่ยวกับฉัน ลงในหน้าโปรไฟล์ผู้ใช้",
"min-rep-signature": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม ลายเซ็น ลงในหน้าโปรไฟล์ผู้ใช้",
"min-rep-profile-picture": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม รูปภาพโปรไฟล์ ลงในหน้าโปรไฟล์ผู้ใช้",
"min-rep-cover-picture": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม รูปภาพปก ลงในหน้าโปรไฟล์ผู้ใช้",
"flags": "Flag Settings",
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0",
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a &quot;report&quot; and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.limit-post-flags-per-day": "Maximum number of times a user can flag posts in a day",
"flags.limit-post-flags-per-day-help": "Set to 0 to disable, (default: 10)",
"flags.limit-user-flags-per-day": "Maximum number of times a user can flag users in a day",
"flags.limit-user-flags-per-day-help": "Set to 0 to disable, (default: 10)",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts",
"flags.auto-flag-on-downvote-threshold-help": "Set to 0 to disable, (default: 0)",
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned",
"flags.action-on-resolve": "Do the following when a flag is resolved",
"flags.action-on-reject": "Do the following when a flag is rejected",
"flags.action.nothing": "Do nothing",
"flags.action.rescind": "Rescind the notification sent to moderators/administrators"
"flags": "การตั้งค่าการรายงาน",
"flags.limit-per-target": "จำนวนครั้งสูงสุดที่บางอย่างสามารถถูกรายงานได้",
"flags.limit-per-target-placeholder": "ค่าเริ่มต้น: 0",
"flags.limit-per-target-help": "เมื่อโพสต์หรือผู้ใช้งานถูกรายงานหลายครั้ง ทุกการรายงานเพิ่มเติมจะถูกนับเป็น &quot;จำนวนรายงาน&quot; ตั้งค่าตัวเลือกนี้เป็นตัวเลขอื่นนอกเหนือจาก 0 เพื่อจำกัดจำนวนรายงานที่สามารถได้รับ",
"flags.limit-post-flags-per-day": "จำนวนครั้งสูงสุดที่ผู้ใช้งานหนึ่งสามารถรายงานโพสต์ได้ใน 1 วัน",
"flags.limit-post-flags-per-day-help": "ตั้งค่าเป็น 0 ถ้าสามารถทำได้ไม่จำกัด (ค่าเริ่มต้น: 10)",
"flags.limit-user-flags-per-day": "จำนวนครั้งสูงสุดที่ผู้ใช้งานหนึ่งสามารถรายงานผู้ใช้งานอื่นได้ใน 1 วัน",
"flags.limit-user-flags-per-day-help": "ตั้งค่าเป็น 0 ถ้าสามารถทำได้ไม่จำกัด (ค่าเริ่มต้น: 10)",
"flags.auto-flag-on-downvote-threshold": "จำนวนการโหวดลงที่ทำให้ระบบรายงานโพสต์โดยอัตโนมัติทำงาน",
"flags.auto-flag-on-downvote-threshold-help": "ตั้งค่าเป็น 0 ถ้าสามารถทำได้ไม่จำกัด (ค่าเริ่มต้น: 10)",
"flags.auto-resolve-on-ban": "ถือว่ารายงานทั้งหมดของผู้ใช้งานถูกจัดการแล้วเมื่อผู้ใช้งานนั้นโดนแบน",
"flags.action-on-resolve": "เมื่อการรายงานถูกจัดการแล้ว ให้ทำดังต่อไปนี้",
"flags.action-on-reject": "เมื่อการรายงานถูกปฏิเสธ ให้ทำดังต่อไปนี้",
"flags.action.nothing": "ไม่ทำอะไร",
"flags.action.rescind": "ยกเลิกการแจ้งเตือน ผู้ดูแลบอร์ด และผู้ดูแลระบบ"
}

View File

@@ -1,6 +1,6 @@
{
"reconnection": "Reconnection Settings",
"max-attempts": "Max Reconnection Attempts",
"default-placeholder": "Default: %1",
"delay": "Reconnection Delay"
"max-attempts": "จำนวนการเชื่อมต่อใหม่สูงสุด",
"default-placeholder": "ค่าเริ่มต้น: %1",
"delay": "เวลาที่รอก่อนเชื่อมต่อใหม่"
}

View File

@@ -1,13 +1,13 @@
{
"tag": "Tag Settings",
"link-to-manage": "Manage Tags",
"system-tags": "System Tags",
"system-tags-help": "Only privileged users will be able to use these tags.",
"tags-per-topic": "Tags per topic",
"min-per-topic": "Minimum Tags per Topic",
"max-per-topic": "Maximum Tags per Topic",
"min-length": "Minimum Tag Length",
"max-length": "Maximum Tag Length",
"related-topics": "Related Topics",
"max-related-topics": "Maximum related topics to display (if supported by theme)"
"link-to-manage": "จัดการแท็ก",
"system-tags": "แท็กของระบบ",
"system-tags-help": "เฉพาะผู้ที่มีสิทธิ์พิเศษถึงสามารถใช้แท็กเหล่านี้ได้",
"tags-per-topic": "จำนวนแท็กของกระทู้",
"min-per-topic": "จำนวนแท็กของกระทู้ขั้นต่ำ",
"max-per-topic": "จำนวนแท็กของกระทู้สูงสุด",
"min-length": "ความยาวแท็กขั้นต่ำ",
"max-length": "ความยาวแท็กสูงสุด",
"related-topics": "กระทู้ที่เกี่ยวข้อง",
"max-related-topics": "แสดงจำนวนกระทู้ที่เกี่ยวข้องมากสุด (ถ้าธีมรองรับ)"
}

View File

@@ -2,7 +2,10 @@
"reputation": "İtibar Ayarları",
"disable": "İtibar Sistemini Devre Dışı Bırak",
"disable-down-voting": "Eksi Oyu Devre Dışı Bırak",
"votes-are-public": "Tüm Oylar Herkese Açık",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Etkinlik Eşikleri",
"min-rep-upvote": "Artılanan iletiler için gereken minimum itibar",
"upvotes-per-day": "Artı oy günlük limiti (sınırsız artı oy için 0 giriniz)",

View File

@@ -2,7 +2,10 @@
"reputation": "Налаштування репутації",
"disable": "Вимкнути систему репутації",
"disable-down-voting": "Вимкнути голосування проти",
"votes-are-public": "Всі голоси публічні",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Допуски активності",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -2,7 +2,10 @@
"reputation": "Cài Đặt Đánh Giá Uy Tín",
"disable": "Tắt Hệ Thống Đánh Giá Uy Tín",
"disable-down-voting": "Tắt Phản Đối",
"votes-are-public": "Tất Cả Bình Chọn Là Công Khai",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "Ngưỡng hoạt động",
"min-rep-upvote": "Uy tín tối thiểu để ủng hộ bài đăng",
"upvotes-per-day": "Số phiếu ủng hộ mỗi ngày (đặt thành 0 để có số phiếu ủng hộ không giới hạn)",

View File

@@ -2,7 +2,10 @@
"reputation": "声望设置",
"disable": "禁用声望系统",
"disable-down-voting": "禁用 踩",
"votes-are-public": "公开所有投票",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "操作限制",
"min-rep-upvote": "顶帖子 需要的最低声望",
"upvotes-per-day": "每天顶的次数设置为0则表示无限制",

View File

@@ -2,7 +2,10 @@
"reputation": "聲望設定",
"disable": "停用 聲望系統",
"disable-down-voting": "停用 倒讚",
"votes-are-public": "公開所有讚",
"vote-visibility": "Vote visibility",
"vote-visibility-all": "Everyone can see votes",
"vote-visibility-loggedin": "Only logged in users can see votes",
"vote-visibility-privileged": "Only privileged users like admins & moderators can see votes",
"thresholds": "操作限制",
"min-rep-upvote": "Minimum reputation to upvote posts",
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",

View File

@@ -156,6 +156,8 @@ TopicObject:
type: boolean
ignored:
type: boolean
followed:
type: boolean
unread:
type: boolean
bookmark:

View File

@@ -176,6 +176,8 @@ get:
type: boolean
ignored:
type: boolean
followed:
type: boolean
unread:
type: boolean
bookmark:

View File

@@ -101,12 +101,10 @@ exports.handleErrors = async function handleErrors(err, req, res, next) { // esl
try {
if (data.cases.hasOwnProperty(err.code)) {
data.cases[err.code](err, req, res, defaultHandler);
} else if (err.message) {
if (err.message.startsWith('[[error:no-') && err.message !== '[[error:no-privileges]]') {
notFoundHandler();
} else if (err.message.startsWith('Failed to lookup view')) {
notBuiltHandler();
}
} else if (err.message.startsWith('[[error:no-') && err.message !== '[[error:no-privileges]]') {
notFoundHandler();
} else if (err.message.startsWith('Failed to lookup view')) {
notBuiltHandler();
} else {
await defaultHandler();
}

View File

@@ -91,7 +91,14 @@ module.exports = function (SocketPosts) {
]);
const cidToAllowed = _.zipObject(uniqCids, canRead);
const checks = cids.map(
(cid, index) => isAdmin || isMod[index] || (cidToAllowed[cid] && !!meta.config.votesArePublic)
(cid, index) => isAdmin || isMod[index] ||
(
cidToAllowed[cid] &&
(
meta.config.voteVisibility === 'all' ||
(meta.config.voteVisibility === 'loggedin' && parseInt(uid, 10) > 0)
)
)
);
return isArray ? checks : checks[0];
}

View File

@@ -121,10 +121,10 @@ Topics.getTopicsByTids = async function (tids, options) {
};
}
const [result, hasRead, isIgnored, bookmarks, callerSettings] = await Promise.all([
const [result, hasRead, followData, bookmarks, callerSettings] = await Promise.all([
loadTopics(),
Topics.hasReadTopics(tids, uid),
Topics.isIgnoring(tids, uid),
Topics.getFollowData(tids, uid),
Topics.getUserBookmarks(tids, uid),
user.getSettings(uid),
]);
@@ -141,8 +141,9 @@ Topics.getTopicsByTids = async function (tids, options) {
}
topic.teaser = result.teasers[i] || null;
topic.isOwner = topic.uid === parseInt(uid, 10);
topic.ignored = isIgnored[i];
topic.unread = parseInt(uid, 10) <= 0 || (!hasRead[i] && !isIgnored[i]);
topic.ignored = followData[i].ignoring;
topic.followed = followData[i].following;
topic.unread = parseInt(uid, 10) <= 0 || (!hasRead[i] && !topic.ignored);
topic.bookmark = bookmarks[i] && (sortNewToOld ?
Math.max(1, topic.postcount + 2 - bookmarks[i]) :
Math.min(topic.postcount, bookmarks[i] + 1));

View File

@@ -0,0 +1,16 @@
/* eslint-disable no-await-in-loop */
'use strict';
const db = require('../../database');
module.exports = {
name: 'Add vote visibility config field',
timestamp: Date.UTC(2024, 4, 24),
method: async function () {
const current = await db.getObjectField('config', 'votesArePublic');
const isPublic = parseInt(current, 10) === 1;
await db.setObjectField('config', 'voteVisibility', isPublic ? 'all' : 'privileged');
await db.deleteObjectField('config', 'votesArePublic');
},
};

View File

@@ -14,9 +14,13 @@
<input type="checkbox" class="form-check-input" id="downvote:disabled" data-field="downvote:disabled">
<label for="downvote:disabled" class="form-check-label">[[admin/settings/reputation:disable-down-voting]]</label>
</div>
<div class="form-check form-switch mb-3">
<input type="checkbox" class="form-check-input" id="votesArePublic" data-field="votesArePublic">
<label for="votesArePublic" class="form-check-label">[[admin/settings/reputation:votes-are-public]]</label>
<div>
<label for="voteVisibility" class="form-check-label">[[admin/settings/reputation:vote-visibility]]</label>
<select id="voteVisibility" data-field="voteVisibility" class="form-select">
<option value="all">[[admin/settings/reputation:vote-visibility-all]]</option>
<option value="loggedin">[[admin/settings/reputation:vote-visibility-loggedin]]</option>
<option value="privileged">[[admin/settings/reputation:vote-visibility-privileged]]</option>
</select>
</div>
</div>