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

This commit is contained in:
Julian Lam
2024-11-19 11:40:07 -05:00
18 changed files with 55 additions and 54 deletions

View File

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
postgres:
image: postgres:17.0-alpine
image: postgres:17.1-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb

View File

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

View File

@@ -39,7 +39,7 @@
"@textcomplete/contenteditable": "0.1.13",
"@textcomplete/core": "0.1.13",
"@textcomplete/textarea": "0.1.13",
"ace-builds": "1.36.4",
"ace-builds": "1.36.5",
"archiver": "7.0.1",
"async": "3.2.6",
"autoprefixer": "10.4.20",
@@ -63,7 +63,7 @@
"connect-pg-simple": "10.0.0",
"connect-redis": "7.1.1",
"cookie-parser": "1.4.7",
"cron": "3.1.9",
"cron": "3.2.1",
"cropperjs": "1.6.2",
"csrf-sync": "4.0.3",
"daemon": "1.1.0",
@@ -120,7 +120,7 @@
"passport-local": "1.0.0",
"pg": "8.13.1",
"pg-cursor": "2.12.1",
"postcss": "8.4.48",
"postcss": "8.4.49",
"postcss-clean": "1.2.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
@@ -129,7 +129,7 @@
"rss": "1.2.2",
"rtlcss": "4.3.0",
"sanitize-html": "2.13.1",
"sass": "1.80.6",
"sass": "1.81.0",
"satori": "^0.11.1",
"semver": "7.6.3",
"serve-favicon": "2.5.0",
@@ -177,7 +177,7 @@
"smtp-server": "3.13.6"
},
"optionalDependencies": {
"sass-embedded": "1.80.6"
"sass-embedded": "1.81.0"
},
"resolutions": {
"*/jquery": "3.7.1"

View File

@@ -1,5 +1,5 @@
{
"test-email.subject": "Test-e-post",
"test-email.subject": "Test e-post",
"password-reset-requested": "Førespurnad om tilbakestilling av passord!",
"welcome-to": "Velkomen til %1",
"invite": "Invitasjon frå %1",

View File

@@ -4,7 +4,7 @@
"global-moderators": "Người Điều Hành Chung",
"moderators": "Người điều hành",
"no-global-moderators": "Không Có Người Điều Hành Chung",
"no-sub-categories": "Không danh mục phụ",
"no-sub-categories": "Không danh mục phụ",
"view-children": "Xem con (%1)",
"no-moderators": "Không Có Người Điều Hành",
"add-administrator": "Thêm Quản Trị Viên",

View File

@@ -142,7 +142,7 @@
"export-field-location": "Nơi ở",
"export-field-birthday": "Ngày sinh",
"export-field-signature": "Chữ ký",
"export-field-aboutme": "Thông Tin Cá Nhân",
"export-field-aboutme": "Về Tôi",
"export-users-started": "Xuất người dùng dưới dạng csv, sẽ tốn thời gian. Bạn sẽ nhận được thông báo khi hoàn tất.",
"export-users-completed": "Đã xuất người dùng ra csv, bấm vào đây tải xuống.",

View File

@@ -6,7 +6,7 @@
"from-help": "Tên người gửi hiển thị trong email.",
"confirmation-settings": "Xác nhận",
"confirmation.expiry": "Số giờ để giữ cho liên kết xác nhận email hợp lệ",
"confirmation.expiry": "Số giờ giữ cho liên kết xác nhận email hợp lệ",
"smtp-transport": "Truyền Tải SMTP",
"smtp-transport.enabled": "Bật truyền tải SMTP",

View File

@@ -40,7 +40,7 @@
"email-not-confirmed-email-sent": "Email của bạn vẫn chưa được xác nhận, vui lòng kiểm tra hộp thư đến của bạn để biết email xác nhận. Bạn có thể không đăng được trong một số danh mục hoặc trò chuyện cho đến khi email của bạn được xác nhận.",
"no-email-to-confirm": "Tài khoản của bạn chưa có email. Email cần dùng lúc khôi phục tài khoản và có thể cần để trò chuyện và đăng bài trong một số danh mục. Vui lòng bấm vào đây để nhập email.",
"user-doesnt-have-email": "Người dùng \"%1\" chưa đặt email.",
"email-confirm-failed": "Chúng tôi không thể xác nhận email của bạn, vui lòng thử lại sau.",
"email-confirm-failed": "Chúng tôi không thể xác nhận email của bạn, hãy thử lại sau.",
"confirm-email-already-sent": "Email xác nhận đã được gửi, vui lòng đợi %1 phút để gửi email khác.",
"confirm-email-expired": "Email xác nhận đã hết hạn",
"sendmail-not-found": "Không thể tìm thấy tệp thực thi sendmail, vui lòng đảm bảo rằng nó được cài đặt và thực thi bởi người dùng chạy NodeBB.",
@@ -59,7 +59,7 @@
"ban-expiry-missing": "Vui lòng cung cấp ngày hết lệnh cấm này",
"no-category": "Chuyên mục không tồn tại",
"no-topic": "Chủ đề không tồn tại",
"no-post": "Bài viết không tồn tại",
"no-post": "Bài đăng không tồn tại",
"no-group": "Nhóm không tồn tại",
"no-user": "Người dùng không tồn tại",
"no-teaser": "Đoạn giới thiệu không tồn tại",
@@ -85,16 +85,16 @@
"cant-delete-topic-has-reply": "Bạn không thể xóa chủ đề vì đã có 1 bình luận",
"cant-delete-topic-has-replies": "Bạn không thể xóa chủ đề này vì đã có %1 bình luận",
"content-too-short": "Vui lòng nhập một bài viết dài hơn. Bài viết phải chứa ít nhất %1 ký tự.",
"content-too-long": "Vui lòng nhập một bài viết ngắn hơn. Bài viết chỉ có thể có tối đa %1 ký tự.",
"title-too-short": "Vui lòng nhập tiêu đề dài hơn. Tiêu đề phải có tối thiểu %1 ký tự.",
"title-too-long": "Vui lòng nhập tiêu đề ngắn hơn. Tiêu đề chỉ có thể có tối đa %1 ký tự.",
"content-too-long": "Hãy nhập một bài đăng ngắn hơn. Bài đăng không thể dài hơn %1 ký tự.",
"title-too-short": "Hãy nhập tiêu đề dài hơn. Tiêu đề nên có ít nhất %1 ký tự.",
"title-too-long": "Hãy nhập tiêu đề ngắn hơn. Tiêu đề không thể dài hơn %1 ký tự.",
"category-not-selected": "Danh mục không được chọn.",
"too-many-posts": "Bạn chỉ có đăng bài mới mỗi %1 giây - vui lòng đợi để tiếp tục đăng bài.",
"too-many-posts": "Bạn chỉ có đăng một bài mới mỗi %1 giây - vui lòng đợi để tiếp tục đăng bài.",
"too-many-posts-newbie": "Là người dùng mới, bạn chỉ có thể đăng %1 giây một lần cho đến khi bạn đạt được %2 danh tiếng - vui lòng đợi trước khi đăng lại",
"too-many-posts-newbie-minutes": "Là người dùng mới, bạn chỉ được đăng bài %1 phút một lần cho đến khi bạn đạt được %2 danh tiếng - vui lòng đợi trước khi đăng lại",
"already-posting": "Bạn đã đăng rồi",
"tag-too-short": "Vui lòng nhập tag dài hơn. Tag phải có tối thiểu %1 ký tự.",
"tag-too-long": "Vui lòng nhập tag ngắn hơn. Tag chỉ có thể có tối đa %1 ký tự.",
"tag-too-short": "Vui lòng nhập tag dài hơn. Tag phải chứa ít nhất %1 ký tự.",
"tag-too-long": "Vui lòng nhập tag ngắn hơn. Tag không thể dài hơn %1 ký tự.",
"tag-not-allowed": "Thẻ không cho phép",
"not-enough-tags": "Không đủ thẻ. Chủ đề phải có ít nhất %1 thẻ.",
"too-many-tags": "Quá nhiều thẻ. Chủ đề không thể nhiều hơn %1 thẻ.",
@@ -131,7 +131,7 @@
"group-name-too-short": "Tên nhóm quá ngắn",
"group-name-too-long": "Tên nhóm quá dài",
"group-already-exists": "Nhóm đã tồn tại",
"group-name-change-not-allowed": "Không cho phép đổi tên nhóm",
"group-name-change-not-allowed": "Không được phép đổi tên nhóm",
"group-already-member": "Đã là thành viên của nhóm.",
"group-not-member": "Không phải thành viên nhóm này.",
"group-needs-owner": "Yêu cầu phải có ít nhất một chủ nhóm",
@@ -142,9 +142,9 @@
"group-user-not-pending": "Người dùng không có yêu cầu đang chờ xử lý để tham gia nhóm này.",
"gorup-user-not-invited": "Người dùng chưa được mời tham gia nhóm này.",
"post-already-deleted": "Bài viết này đã bị xóa",
"post-already-restored": "Bài viết này đã được phục hồi",
"post-already-restored": "Bài viết này đã được khôi phục",
"topic-already-deleted": "Chủ đề này đã bị xóa",
"topic-already-restored": "Chủ đề này đã được phục hồi",
"topic-already-restored": "Chủ đề này đã được khôi phục",
"cant-purge-main-post": "Bạn không thể xoá bài viết chính, thay vào đó vui lòng xóa chủ đề",
"topic-thumbnails-are-disabled": "Ảnh Thumbnails chủ đề đã bị tắt",
"invalid-file": "Tệp Không Hợp Lệ",
@@ -199,7 +199,7 @@
"too-many-upvotes-today-user": "Bạn chỉ được ủng hộ người dùng %1 lần một ngày",
"too-many-downvotes-today": "Bạn chỉ có thể phản đối %1 lần một ngày",
"too-many-downvotes-today-user": "Bạn chỉ được phản đối người dùng %1 lần một ngày",
"reload-failed": "NodeBB gặp lỗi trong khi tải lại: \"%1\". NodeBB sẽ tiếp tục hoạt động với dữ liệu trước đó, tuy nhiên bạn nên tháo gỡ những gì bạn vừa thực hiện trước khi tải lại.",
"reload-failed": "NodeBB gặp sự cố trong khi tải lại: \"%1\". NodeBB sẽ tiếp tục hoạt động với dữ liệu trước đó, tuy nhiên bạn nên tháo gỡ những gì bạn vừa thực hiện trước khi tải lại.",
"registration-error": "Lỗi Đăng Ký",
"parse-error": "Đã xảy ra lỗi khi phân tích phản hồi của máy chủ",
"wrong-login-type-email": "Hãy đăng nhập bằng email của bạn",

View File

@@ -86,7 +86,7 @@
"firstpost": "Bài viết đầu tiên",
"about": "Thông tin",
"read-more": "đọc thêm",
"more": "Xem thêm",
"more": "Thêm",
"none": "Trống",
"posted-ago-by-guest": "đã đăng %1 bởi Khách",
"posted-ago-by": "đã đăng %1 bởi %2",
@@ -100,15 +100,15 @@
"last-edited-by": "chỉnh sửa lần cuối bởi %1",
"edited-timestamp": "Đã Sửa %1",
"norecentposts": "Không Bài Nào Gần Đây",
"norecenttopics": "Không Chủ Đề Gần Đây",
"norecenttopics": "Không Chủ Đề Gần Đây",
"recentposts": "Bài Viết Gần Đây",
"recentips": "Các IP đã Đăng nhập Gần đây",
"recentips": "IP Đăng Nhập Gần Đây",
"moderator-tools": "Công Cụ Điều Hành",
"status": "Trạng thái",
"online": "Trực tuyến",
"away": "Vắng mặt",
"dnd": "Đừng làm phiền",
"invisible": "Ẩn",
"invisible": "Không hiển thị",
"offline": "Ngoại tuyến",
"email": "Thư điện tử",
"language": "Ngôn ngữ",

View File

@@ -61,6 +61,6 @@
"new-group.group-name": "Tên Nhóm:",
"upload-group-cover": "Tải lên ảnh bìa nhóm",
"bulk-invite-instructions": "Nhập danh sách tên đăng nhập, phân tách bằng dấu phẩy, để mời vào nhóm",
"bulk-invite": "Mời nhiều người",
"bulk-invite": "Mời Nhiều",
"remove-group-cover-confirm": "Bạn có chắc rằng muốn xoá ảnh bìa không?"
}

View File

@@ -18,7 +18,7 @@
"chat.replying-to": "Đang trả lời %1",
"chat.see-all": "Tất cả trò chuyện",
"chat.mark-all-read": "Đánh dấu tất cả đã đọc",
"chat.no-messages": "Vui lòng chọn người nhận để xem lịch sử tin nhắn trò chuyện",
"chat.no-messages": "Hãy chọn người nhận để xem lịch sử tin nhắn trò chuyện",
"chat.no-users-in-room": "Không có người nào trong phòng này.",
"chat.recent-chats": "Trò Chuyện Gần Đây",
"chat.contacts": "Liên hệ",
@@ -82,12 +82,12 @@
"composer.help": "Trợ giúp",
"composer.user-said-in": "%1 đã nói trong %2:",
"composer.user-said": "%1 đã nói:",
"composer.discard": "Bạn có chắc muốn hủy bỏ bài đăng này?",
"composer.discard": "Bạn có chắc muốn loại bỏ bài đăng này?",
"composer.submit-and-lock": "Đăng và Khoá",
"composer.toggle-dropdown": "Chuyển Đổi Thả Xuống",
"composer.uploading": "Đang tải lên %1",
"composer.formatting.bold": "In đậm",
"composer.formatting.italic": "In nghiêng",
"composer.formatting.bold": "Đậm",
"composer.formatting.italic": "Nghiêng",
"composer.formatting.heading": "Tiêu đề",
"composer.formatting.heading1": "Tiêu đề 1",
"composer.formatting.heading2": "Tiêu đề 2",
@@ -122,7 +122,7 @@
"bootbox.send": "Gửi",
"cover.dragging-title": "Điều chỉnh vị trí ảnh cover",
"cover.dragging-message": "Kéo ảnh cover vào vị trí mong muốn và nhấn \"Lưu\"",
"cover.saved": "Ảnh cover và vị trí đã được lưu",
"cover.saved": "Đã lưu ảnh bìa và vị trí ảnh",
"thumbs.modal.title": "Quản lý ảnh mô tả chủ đề",
"thumbs.modal.no-thumbs": "Không tìm thấy hình mô tả.",
"thumbs.modal.resize-note": "<strong>Ghi chú</strong>: Diễn đàn này cấu hình thay đổi kích thước hình mô tả chủ đề xuống chiều rộng tối đa là %1px",

View File

@@ -73,7 +73,7 @@
"post-queue-rejected": "Bài đăng đã xếp hàng của bạn đã bị từ chối",
"post-queue-notify": "Bài đăng đã xếp hàng nhận được thông báo:<br/>\"%1\"",
"email-confirmed": "Đã Xác Nhận Email",
"email-confirmed-message": "Cảm ơn bạn đã xác nhận email của bạn. Tài khoản của bạn đã được kích hoạt đầy đủ.",
"email-confirmed-message": "Cảm ơn bạn đã xác nhận email. Tài khoản của bạn được kích hoạt đầy đủ.",
"email-confirm-error-message": "Đã có lỗi khi xác nhận địa chỉ email. Có lẽ mã không hợp lệ hoặc đã hết hạn.",
"email-confirm-error-message-already-validated": "Địa chỉ email của bạn đã được xác thực.",
"email-confirm-sent": "Đã gửi email xác nhận.",

View File

@@ -16,7 +16,7 @@
"post-queue": "Xếp Hàng Bài Viết",
"registration-queue": "Xếp Hàng Đăng Ký",
"users/online": "Thành viên trực tuyến",
"users/latest": "Thành viên mới nhất",
"users/latest": "Người Dùng Mới Nhất",
"users/sort-posts": "Người dùng nhiều bài đăng nhất",
"users/sort-reputation": "Người dùng uy tín cao nhất",
"users/banned": "Người dùng bị cấm",
@@ -25,7 +25,7 @@
"notifications": "Thông báo",
"tags": "Thẻ",
"tag": "Các chủ đề được gắn thẻ bên dưới &quot;%1&quot;",
"register": "Đăng ký một tài khoản mới",
"register": "Đăng ký một tài khoản",
"registration-complete": "Đăng ký hoàn tất",
"login": "Đăng nhập vào tài khoản của bạn",
"reset": "Đặt lại mật khẩu tài khoản của bạn",

View File

@@ -32,7 +32,7 @@
"reject-all": "Từ chối tất cả",
"reject-all-confirm": "Bạn có muốn từ chối tất cả các bài viết?",
"reject-selected": "Từ chối đã chọn",
"reject-selected-confirm": "Bạn muốn từ chối %1 bài viết đã chọn không?",
"reject-selected-confirm": "Bạn muốn từ chối %1 bài viết đã chọn không?",
"remove-all": "Gỡ Bỏ Hết",
"remove-all-confirm": "Bạn có muốn xóa tất cả bài đăng không?",
"remove-selected": "Gỡ Bỏ Đã Chọn",

View File

@@ -1,8 +1,8 @@
{
"type-to-search": "Nhập để tìm kiếm",
"results-matching": "%1 kết quả khớp với \"%2\", (%3 giây)",
"no-matches": "Không tìm thấy kết quả phù hợp",
"advanced-search": "Tìm kiếm nâng cao",
"no-matches": "Không có kết quả",
"advanced-search": "Tìm Kiếm Nâng Cao",
"in": "Trong",
"in-titles": "Trong tiêu đề",
"in-titles-posts": "Trong tiêu đề và bài đăng",
@@ -27,9 +27,9 @@
"posted-by": "Đăng bởi",
"posted-by-usernames": "Đăng bởi: %1",
"type-a-username": "Nhập tên đăng nhập",
"search-child-categories": "Tìm kiếm chuyên mục con",
"search-child-categories": "Tìm kiếm danh mục con",
"has-tags": "Có thẻ",
"reply-count": "Số lượt trả lời",
"reply-count": "Số Trả Lời",
"replies": "Trả lời",
"replies-atleast-count": "Trả lời: Ít nhất %1",
"replies-atmost-count": "Trả lời: Nhiều nhất là %1",

View File

@@ -16,10 +16,10 @@
"one-reply-to-this-post": "1 Phản hồi",
"last-reply-time": "Trả lời cuối cùng",
"reply-options": "Tùy chọn trả lời",
"reply-as-topic": "Trả lời dưới dạng chủ đề",
"reply-as-topic": "Trả lời như chủ đề",
"guest-login-reply": "Đăng nhập để trả lời",
"login-to-view": "🔒 Đăng nhập để xem",
"edit": "Chỉnh sửa",
"edit": "Sửa",
"delete": "Xóa",
"delete-event": "Xóa Sự Kiện",
"delete-event-confirm": "Bạn có chắc muốn xóa sự kiện này không?",
@@ -37,7 +37,7 @@
"pinned-with-expiry": "Được ghim cho đến %1",
"scheduled": "Lên lịch",
"deleted": "Đã xóa",
"moved": "Chuyển đi",
"moved": "Đã chuyển",
"moved-from": "Đã chuyển từ %1",
"copy-code": "Sao Chép Mã",
"copy-ip": "Sao chép IP",
@@ -85,7 +85,7 @@
"mark-unread.success": "Đã đánh dấu chủ đề chưa đọc.",
"watch": "Xem",
"unwatch": "Bỏ xem",
"watch.title": "Thông báo khi có trả lời mới trong chủ đề này",
"watch.title": "Thông báo trả lời mới trong chủ đề này",
"unwatch.title": "Ngừng xem chủ đề này",
"share-this-post": "Chia sẻ bài viết này",
"watching": "Đang xem",
@@ -163,7 +163,7 @@
"composer.title-placeholder": "Nhập tiêu đề chủ đề của bạn tại đây...",
"composer.handle-placeholder": "Nhập tên/xử lý của bạn ở đây",
"composer.hide": "Ẩn",
"composer.discard": "Huỷ bỏ",
"composer.discard": "Loại bỏ",
"composer.submit": "Gửi",
"composer.additional-options": "Tùy chọn bổ sung",
"composer.post-later": "Đăng Sau",

View File

@@ -52,7 +52,7 @@
"block-toggle": "Chuyển Đổi Khóa",
"block-user": "Khóa Người Dùng",
"unblock-user": "Mở Khóa Người Dùng",
"aboutme": "Giới thiệu bản thân",
"aboutme": "Về Tôi",
"signature": "Chữ ký",
"birthday": "Ngày sinh",
"chat": "Trò Chuyện",
@@ -61,7 +61,7 @@
"flag-profile": "Gắn Cờ Hồ Sơ",
"follow": "Theo dõi",
"unfollow": "Bỏ theo dõi",
"more": "Thêm nữa",
"more": "Thêm",
"profile-update-success": "Đã cập nhật hồ sơ thành công!",
"change-picture": "Đổi Hình Ảnh",
"change-username": "Đổi Tên Đăng Nhập",
@@ -133,7 +133,7 @@
"upvote-notif-freq": "Tần Suất Thông Báo Ủng Hộ",
"upvote-notif-freq.all": "Tất Cả Số Ủng Hộ",
"upvote-notif-freq.first": "Đầu Tiên Mỗi Bài Đăng",
"upvote-notif-freq.everyTen": "Mỗi 10 lượt thích",
"upvote-notif-freq.everyTen": "Mỗi 10 Ủng Hộ",
"upvote-notif-freq.threshold": "Trên 1, 5, 10, 25, 50, 100, 150, 200...",
"upvote-notif-freq.logarithmic": "Cứ mỗi 10, 100, 1000...",
"upvote-notif-freq.disabled": "Đã tắt",
@@ -180,9 +180,9 @@
"info.banned-permanently": "Bị cấm vĩnh viễn",
"info.banned-reason-label": "Lý do",
"info.banned-no-reason": "Không có lí do.",
"info.mute-history": "Lịch Sử Tắt Tiếng Gần Đây",
"info.no-mute-history": "Người dùng này chưa bao giờ bị tắt tiếng",
"info.muted-until": "Đã tắt tiếng cho đến %1",
"info.mute-history": "Lịch Sử Im Lặng Gần Đây",
"info.no-mute-history": "Người dùng này chưa bao giờ bị im lặng",
"info.muted-until": "Bị im lặng đến %1",
"info.muted-expiry": "Hết hạn",
"info.muted-no-reason": "Không có lý do nào được đưa ra.",
"info.username-history": "Lịch Sử Tên Đăng Nhập",

View File

@@ -18,8 +18,9 @@
<!-- IMPORT partials/category/filter-dropdown-right.tpl -->
</div>
<div class="btn-group bottom-sheet" component="post-queue/bulk-actions">
<button type="button" class="btn btn-ghost btn-sm dropdown-toggle" data-bs-toggle="dropdown" autocomplete="off" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-clone"></i> [[post-queue:bulk-actions]]
<button type="button" class="btn btn-ghost btn-sm dropdown-toggle d-flex gap-2 align-items-center" data-bs-toggle="dropdown" autocomplete="off" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-clone text-primary"></i>
<span class="fw-semibold">[[post-queue:bulk-actions]]</span>
</button>
<ul class="dropdown-menu dropdown-menu-end p-1" role="menu">
{{{ if canAccept }}}