mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-01-05 07:10:30 +01:00
Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
"name": "nodebb",
|
||||
"license": "GPL-3.0",
|
||||
"description": "NodeBB Forum",
|
||||
"version": "1.7.2",
|
||||
"version": "1.7.3",
|
||||
"homepage": "http://www.nodebb.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -17,89 +17,89 @@
|
||||
"coveralls": "nyc report --reporter=text-lcov | coveralls && rm -r coverage"
|
||||
},
|
||||
"dependencies": {
|
||||
"ace-builds": "^1.2.9",
|
||||
"async": "2.6.0",
|
||||
"autoprefixer": "7.1.6",
|
||||
"bcryptjs": "2.4.3",
|
||||
"benchpressjs": "^1.2.0",
|
||||
"body-parser": "^1.18.2",
|
||||
"bootstrap": "^3.3.7",
|
||||
"chart.js": "^2.7.0",
|
||||
"colors": "^1.1.2",
|
||||
"compression": "^1.7.1",
|
||||
"commander": "^2.11.0",
|
||||
"connect-ensure-login": "^0.1.1",
|
||||
"connect-flash": "^0.1.1",
|
||||
"connect-mongo": "2.0.0",
|
||||
"connect-multiparty": "^2.1.0",
|
||||
"connect-redis": "3.3.2",
|
||||
"cookie-parser": "^1.4.3",
|
||||
"cron": "^1.3.0",
|
||||
"cropperjs": "^1.1.3",
|
||||
"csurf": "^1.9.0",
|
||||
"daemon": "^1.1.0",
|
||||
"express": "^4.16.2",
|
||||
"express-session": "^1.15.6",
|
||||
"express-useragent": "1.0.8",
|
||||
"graceful-fs": "^4.1.11",
|
||||
"html-to-text": "3.3.0",
|
||||
"ipaddr.js": "^1.5.4",
|
||||
"jimp": "0.2.28",
|
||||
"jquery": "^3.2.1",
|
||||
"jsesc": "2.5.1",
|
||||
"json-2-csv": "^2.1.2",
|
||||
"less": "^2.7.2",
|
||||
"lodash": "^4.17.4",
|
||||
"logrotate-stream": "^0.2.5",
|
||||
"lru-cache": "4.1.1",
|
||||
"material-design-lite": "^1.3.0",
|
||||
"mime": "^2.0.3",
|
||||
"mkdirp": "^0.5.1",
|
||||
"mongodb": "2.2.33",
|
||||
"morgan": "^1.9.0",
|
||||
"mousetrap": "^1.6.1",
|
||||
"nconf": "^0.9.1",
|
||||
"nodebb-plugin-composer-default": "6.0.7",
|
||||
"nodebb-plugin-dbsearch": "2.0.9",
|
||||
"nodebb-plugin-emoji": "2.0.7",
|
||||
"nodebb-plugin-emoji-android": "2.0.0",
|
||||
"nodebb-plugin-markdown": "8.2.2",
|
||||
"nodebb-plugin-mentions": "2.2.2",
|
||||
"nodebb-plugin-soundpack-default": "1.0.0",
|
||||
"nodebb-plugin-spam-be-gone": "0.5.1",
|
||||
"nodebb-rewards-essentials": "0.0.9",
|
||||
"nodebb-theme-lavender": "5.0.0",
|
||||
"nodebb-theme-persona": "7.2.7",
|
||||
"nodebb-theme-slick": "1.1.2",
|
||||
"nodebb-theme-vanilla": "8.1.4",
|
||||
"nodebb-widget-essentials": "4.0.1",
|
||||
"nodemailer": "4.4.0",
|
||||
"passport": "^0.4.0",
|
||||
"passport-local": "1.0.0",
|
||||
"postcss": "6.0.14",
|
||||
"postcss-clean": "1.1.0",
|
||||
"promise-polyfill": "^6.0.2",
|
||||
"prompt": "^1.0.0",
|
||||
"redis": "2.8.0",
|
||||
"request": "2.83.0",
|
||||
"rimraf": "2.6.2",
|
||||
"rss": "^1.2.2",
|
||||
"sanitize-html": "^1.14.1",
|
||||
"semver": "^5.4.1",
|
||||
"serve-favicon": "^2.4.5",
|
||||
"sitemap": "^1.13.0",
|
||||
"socket.io": "2.0.4",
|
||||
"socket.io-client": "2.0.4",
|
||||
"socket.io-redis": "5.2.0",
|
||||
"socketio-wildcard": "2.0.0",
|
||||
"spdx-license-list": "^3.0.1",
|
||||
"toobusy-js": "^0.5.1",
|
||||
"uglify-js": "^3.1.5",
|
||||
"validator": "9.1.2",
|
||||
"winston": "^2.4.0",
|
||||
"xml": "^1.0.1",
|
||||
"xregexp": "3.2.0",
|
||||
"zxcvbn": "^4.4.2"
|
||||
"ace-builds": "^1.2.9",
|
||||
"async": "2.6.0",
|
||||
"autoprefixer": "7.1.6",
|
||||
"bcryptjs": "2.4.3",
|
||||
"benchpressjs": "^1.2.0",
|
||||
"body-parser": "^1.18.2",
|
||||
"bootstrap": "^3.3.7",
|
||||
"chart.js": "^2.7.0",
|
||||
"colors": "^1.1.2",
|
||||
"compression": "^1.7.1",
|
||||
"commander": "^2.11.0",
|
||||
"connect-ensure-login": "^0.1.1",
|
||||
"connect-flash": "^0.1.1",
|
||||
"connect-mongo": "2.0.0",
|
||||
"connect-multiparty": "^2.1.0",
|
||||
"connect-redis": "3.3.2",
|
||||
"cookie-parser": "^1.4.3",
|
||||
"cron": "^1.3.0",
|
||||
"cropperjs": "^1.1.3",
|
||||
"csurf": "^1.9.0",
|
||||
"daemon": "^1.1.0",
|
||||
"express": "^4.16.2",
|
||||
"express-session": "^1.15.6",
|
||||
"express-useragent": "1.0.8",
|
||||
"graceful-fs": "^4.1.11",
|
||||
"html-to-text": "3.3.0",
|
||||
"ipaddr.js": "^1.5.4",
|
||||
"jimp": "0.2.28",
|
||||
"jquery": "^3.2.1",
|
||||
"jsesc": "2.5.1",
|
||||
"json-2-csv": "^2.1.2",
|
||||
"less": "^2.7.2",
|
||||
"lodash": "^4.17.4",
|
||||
"logrotate-stream": "^0.2.5",
|
||||
"lru-cache": "4.1.1",
|
||||
"material-design-lite": "^1.3.0",
|
||||
"mime": "^2.0.3",
|
||||
"mkdirp": "^0.5.1",
|
||||
"mongodb": "2.2.33",
|
||||
"morgan": "^1.9.0",
|
||||
"mousetrap": "^1.6.1",
|
||||
"nconf": "^0.9.1",
|
||||
"nodebb-plugin-composer-default": "6.0.7",
|
||||
"nodebb-plugin-dbsearch": "2.0.9",
|
||||
"nodebb-plugin-emoji": "2.0.9",
|
||||
"nodebb-plugin-emoji-android": "2.0.0",
|
||||
"nodebb-plugin-markdown": "8.2.2",
|
||||
"nodebb-plugin-mentions": "2.2.2",
|
||||
"nodebb-plugin-soundpack-default": "1.0.0",
|
||||
"nodebb-plugin-spam-be-gone": "0.5.1",
|
||||
"nodebb-rewards-essentials": "0.0.9",
|
||||
"nodebb-theme-lavender": "5.0.0",
|
||||
"nodebb-theme-persona": "7.2.8",
|
||||
"nodebb-theme-slick": "1.1.2",
|
||||
"nodebb-theme-vanilla": "8.1.4",
|
||||
"nodebb-widget-essentials": "4.0.1",
|
||||
"nodemailer": "4.4.0",
|
||||
"passport": "^0.4.0",
|
||||
"passport-local": "1.0.0",
|
||||
"postcss": "6.0.14",
|
||||
"postcss-clean": "1.1.0",
|
||||
"promise-polyfill": "^6.0.2",
|
||||
"prompt": "^1.0.0",
|
||||
"redis": "2.8.0",
|
||||
"request": "2.83.0",
|
||||
"rimraf": "2.6.2",
|
||||
"rss": "^1.2.2",
|
||||
"sanitize-html": "^1.14.1",
|
||||
"semver": "^5.4.1",
|
||||
"serve-favicon": "^2.4.5",
|
||||
"sitemap": "^1.13.0",
|
||||
"socket.io": "2.0.4",
|
||||
"socket.io-client": "2.0.4",
|
||||
"socket.io-redis": "5.2.0",
|
||||
"socketio-wildcard": "2.0.0",
|
||||
"spdx-license-list": "^3.0.1",
|
||||
"toobusy-js": "^0.5.1",
|
||||
"uglify-js": "^3.1.5",
|
||||
"validator": "9.1.2",
|
||||
"winston": "^2.4.0",
|
||||
"xml": "^1.0.1",
|
||||
"xregexp": "3.2.0",
|
||||
"zxcvbn": "^4.4.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"coveralls": "^3.0.0",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"alert.confirm-reload": "Bạn có thật sự muốn tải lại NodeBB",
|
||||
"alert.confirm-reload": "Bạn có thật sự muốn xác lập lại NodeBB",
|
||||
"alert.confirm-restart": "Bạn có thật sự muốn khởi động lại NodeBB",
|
||||
|
||||
"acp-title": "%1 | Bảng điểu khiển",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"post-cache": "Cache bài viết",
|
||||
"post-cache": "Bộ nhớ đệm bài viết",
|
||||
"posts-in-cache": "Cache cho bài viết",
|
||||
"average-post-size": "Kích thước bài viết",
|
||||
"length-to-max": "Độ dài / Tối Đa",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"email-settings": "Email Settings",
|
||||
"email-settings": "Thiết lập Email",
|
||||
"address": "Email Address",
|
||||
"address-help": "The following email address refers to the email that the recipient will see in the \"From\" and \"Reply To\" fields.",
|
||||
"from": "From Name",
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
"no_replies": "Chưa có bình luận nào",
|
||||
"no_new_posts": "Không có bài mới.",
|
||||
"share_this_category": "Chia sẻ chuyên mục này",
|
||||
"watch": "Theo dõi",
|
||||
"watch": "Quan tâm",
|
||||
"ignore": "Bỏ qua",
|
||||
"watching": "Đang theo dõi",
|
||||
"watching": "Đang quan tâm",
|
||||
"ignoring": "Bỏ qua",
|
||||
"watching.description": "Hiện các chủ đề chưa đọc",
|
||||
"ignoring.description": "Không hiện những chủ đề chưa đọc",
|
||||
"watch.message": "Bạn đang theo dõi các cập nhật ở chuyên mục này và các chuyên mục con",
|
||||
"ignore.message": "Bạn đang bỏ qua các cập nhật ở chuyên mục này và các chuyên mục con",
|
||||
"watched-categories": "Các chuyên mục đã xem"
|
||||
"watched-categories": "Các chuyên mục đã quan tâm"
|
||||
}
|
||||
@@ -30,12 +30,12 @@
|
||||
"notif.chat.unsub.info": "Thông báo tin nhắn này được gửi tới dựa theo cài đặt theo dõi của bạn.",
|
||||
"notif.post.cta": "Nhấn vào đây để đọc toàn bộ chủ đề",
|
||||
"notif.post.unsub.info": "Thông báo bài viết này được gửi cho bạn dựa tên thiết lập nhận thông báo của bạn",
|
||||
"notif.cta": "Click here to go to forum",
|
||||
"notif.cta": "Click vào đây để đi đến diễn đàn",
|
||||
"test.text1": "Đây là email kiểm tra xem chức năng gửi mail trên hệ thống NodeBB của bạn có hoạt động tốt hay không.",
|
||||
"unsub.cta": "Nhấn vào đây để thay đổi cài đặt.",
|
||||
"banned.subject": "You have been banned from %1",
|
||||
"banned.text1": "The user %1 has been banned from %2.",
|
||||
"banned.text2": "This ban will last until %1.",
|
||||
"banned.text3": "This is the reason why you have been banned:",
|
||||
"banned.subject": "Bạn đã bị cấm khỏi %1",
|
||||
"banned.text1": "Người dùng %1 đã bị cấm khỏi %2",
|
||||
"banned.text2": "Lệnh cấm sẽ kéo dài đến %1.",
|
||||
"banned.text3": "Đây là lý do tại sao bạn bị cấm:",
|
||||
"closing": "Xin cảm ơn!"
|
||||
}
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"invalid-data": "Dữ liệu không hợp lệ",
|
||||
"invalid-json": "Invalid JSON",
|
||||
"invalid-json": "JSON không hợp lệ",
|
||||
"not-logged-in": "Có vẻ bạn chưa đăng nhập.",
|
||||
"account-locked": "Tài khoản của bạn đang tạm thời bị khóa",
|
||||
"search-requires-login": "Bạn cần phải có tài khoản để tìm kiếm - vui lòng đăng nhập hoặc đăng ký.",
|
||||
"goback": "Press back to return to the previous page",
|
||||
"goback": "Nhấn back để quay về trang trước",
|
||||
"invalid-cid": "ID chuyên mục không hợp lệ",
|
||||
"invalid-tid": "ID chủ đề không hợp lệ",
|
||||
"invalid-pid": "ID bài viết không hợp lệ",
|
||||
"invalid-uid": "ID tài khoản không hợp lệ",
|
||||
"invalid-username": "Tên đăng nhập không hợp lệ",
|
||||
"invalid-email": "Email không hợp lệ",
|
||||
"invalid-title": "Invalid title",
|
||||
"invalid-title": "Tiêu đề không hợp lệ",
|
||||
"invalid-user-data": "Dữ liệu tài khoản không hợp lệ",
|
||||
"invalid-password": "Mật khẩu không hợp lệ",
|
||||
"invalid-login-credentials": "Invalid login credentials",
|
||||
"invalid-login-credentials": "Thông tin đăng nhập không hợp lệ",
|
||||
"invalid-username-or-password": "Xin hãy nhập cả tên đăng nhập và mật khẩu",
|
||||
"invalid-search-term": "Từ khóa không hợp lệ",
|
||||
"csrf-invalid": "Hệ thống không cho phép bạn đăng nhập, có vẻ như phiên đăng nhập cũ đã hết hạn. Hãy thử đăng nhập lại",
|
||||
@@ -33,7 +33,7 @@
|
||||
"password-too-long": "Mật khẩu quá dài",
|
||||
"user-banned": "Tài khoản bị ban",
|
||||
"user-banned-reason": "Xin lỗi, tài khoản này đã bị khóa (Lí do: %1)",
|
||||
"user-banned-reason-until": "Sorry, this account has been banned until %1 (Reason: %2)",
|
||||
"user-banned-reason-until": "Rất tiếc, tài khoản này đã bị cấm cho đến %1 (Lý do: %2)",
|
||||
"user-too-new": "Rất tiếc, bạn phải chờ %1 giây để đăng bài viết đầu tiên.",
|
||||
"blacklisted-ip": "Rất tiếc, địa chỉ IP của bạn đã bị cấm khỏi cộng đồng. Nếu bạn cảm thấy có gì không đúng, hãy liên lạc với người quản trị.",
|
||||
"ban-expiry-missing": "Vui lòng cung cấp ngày hết hạn của lệnh cấm",
|
||||
@@ -81,7 +81,7 @@
|
||||
"cant-ban-other-admins": "Bạn không thể cấm được các quản trị viên khác",
|
||||
"cant-remove-last-admin": "Bạn là quản trị viên duy nhất. Hãy cho thành viên khác làm quản trị viên trước khi huỷ bỏ quyền quản trị của bạn.",
|
||||
"cant-delete-admin": "Hủy quyền quản trị của tài khoản này trước khi xóa",
|
||||
"invalid-image": "Invalid image",
|
||||
"invalid-image": "Hình ảnh không hợp lệ",
|
||||
"invalid-image-type": "Định dạng ảnh không hợp lệ. Những định dạng được cho phép là: %1",
|
||||
"invalid-image-extension": "Định dạng ảnh không hợp lệ",
|
||||
"invalid-file-type": "Định dạng file không hợp lệ. Những định dạng được cho phép là: %1",
|
||||
@@ -109,7 +109,7 @@
|
||||
"chat-disabled": "Hệ thống chat đã bị vô hiệu hoá",
|
||||
"too-many-messages": "Bạn đã gửi quá nhiều tin nhắn, vui lòng đợi trong giây lát.",
|
||||
"invalid-chat-message": "Tin nhắn không hợp lệ",
|
||||
"chat-message-too-long": "Chat messages can not be longer than %1 characters.",
|
||||
"chat-message-too-long": "Thông điệp không thể dài hơn %1 chữ.",
|
||||
"cant-edit-chat-message": "Bạn không được phép chỉnh sửa tin nhắn này",
|
||||
"cant-remove-last-user": "Bạn không thể xoá thành viên cuối cùng",
|
||||
"cant-delete-chat-message": "Bạn không được phép xoá tin nhắn này",
|
||||
@@ -119,13 +119,13 @@
|
||||
"not-enough-reputation-to-downvote": "Bạn không có đủ phiếu tín nhiệm để downvote bài này",
|
||||
"not-enough-reputation-to-flag": "Bạn không đủ tín nhiệm để đánh dấu bài viết này",
|
||||
"already-flagged": "Bạn đã gắn cờ cho bài viết này",
|
||||
"self-vote": "You cannot vote on your own post",
|
||||
"self-vote": "Bạn không thể tự bầu cho bài đăng của mình",
|
||||
"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.",
|
||||
"registration-error": "Lỗi đăng kí",
|
||||
"parse-error": "Có gì không ổn khi nhận kết quả từ máy chủ",
|
||||
"wrong-login-type-email": "Xin vui lòng sửa dụng email của bạn để đăng nhập",
|
||||
"wrong-login-type-username": "Vui lòng sử dụng tên đăng nhập của bạn để đăng nhập",
|
||||
"sso-registration-disabled": "Registration has been disabled for %1 accounts, please register with an email address first",
|
||||
"sso-registration-disabled": "Không thể đăng ký với tài khoản %1, vui lòng đăng ký với địa chỉ email của bạn",
|
||||
"invite-maximum-met": "Bạn đã sử dụng hết số lượng lời mời bạn có thể gửi (%1 đã gửi trên tổng số %2 được cho phép)",
|
||||
"no-session-found": "Không tìm thấy phiên đăng nhập!",
|
||||
"not-in-room": "Thành viên không có trong phòng",
|
||||
@@ -135,5 +135,5 @@
|
||||
"invalid-home-page-route": "Đường dẫn trang chủ không hợp lệ",
|
||||
"invalid-session": "Không đúng session",
|
||||
"invalid-session-text": "Có vẻ như phiên đăng nhập của bạn đã không còn hoạt động nữa, hoặc không còn đúng với thông tin trên máy chủ. Vui lòng tải lại trang này",
|
||||
"no-topics-selected": "No topics selected!"
|
||||
"no-topics-selected": "Không có chủ đề nào đang được chọn!"
|
||||
}
|
||||
@@ -104,6 +104,6 @@
|
||||
"cookies.accept": "Đã rõ!",
|
||||
"cookies.learn_more": "Xem thêm",
|
||||
"edited": "Đã cập nhật",
|
||||
"disabled": "Disabled",
|
||||
"select": "Select"
|
||||
"disabled": "Bị khóa",
|
||||
"select": "Chọn"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "Tiếng Việt",
|
||||
"name": "Tiếng Anh (Anh Quốc/Ca-na-da)",
|
||||
"code": "vi",
|
||||
"dir": "ltr"
|
||||
"dir": "Trái qua phải"
|
||||
}
|
||||
@@ -9,17 +9,17 @@
|
||||
"continue_to": "Tiếp tục tới %1",
|
||||
"return_to": "Quay lại %1",
|
||||
"new_notification": "Thông báo mới",
|
||||
"new_notification_from": "You have a new Notification from %1",
|
||||
"new_notification_from": "Bạn nhận được 1 thông báo từ %1",
|
||||
"you_have_unread_notifications": "Bạn có thông báo chưa đọc",
|
||||
"all": "All",
|
||||
"topics": "Topics",
|
||||
"replies": "Replies",
|
||||
"chat": "Chats",
|
||||
"follows": "Follows",
|
||||
"upvote": "Upvotes",
|
||||
"new-flags": "New Flags",
|
||||
"my-flags": "Flags assigned to me",
|
||||
"bans": "Bans",
|
||||
"all": "Toàn bộ",
|
||||
"topics": "Chủ đề",
|
||||
"replies": "Phản hồi",
|
||||
"chat": "Thông điệp",
|
||||
"follows": "Lượt theo dõi",
|
||||
"upvote": "Lượt thích",
|
||||
"new-flags": "Cảnh báo mới",
|
||||
"my-flags": "Cảnh báo dành cho tôi",
|
||||
"bans": "Cấm",
|
||||
"new_message_from": "Tin nhắn mới từ <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> đã bình chọn bài của bạn trong <strong>%2</strong>.",
|
||||
"upvoted_your_post_in_dual": "<strong>%1</strong> và <strong>%2</strong> đã tán thành với bài viết của bạn trong <strong>%3</strong>.",
|
||||
@@ -29,9 +29,9 @@
|
||||
"user_flagged_post_in": "<strong>%1</strong> gắn cờ 1 bài trong <strong>%2</strong>",
|
||||
"user_flagged_post_in_dual": "<strong>%1</strong> và <strong>%2</strong> đã gắn cờ một bài viết trong <strong>%3</strong>",
|
||||
"user_flagged_post_in_multiple": "<strong>%1</strong> và %2 người khác đã gắn cờ bài viết của bạn trong <strong>%3</strong>",
|
||||
"user_flagged_user": "<strong>%1</strong> flagged a user profile (%2)",
|
||||
"user_flagged_user_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a user profile (%3)",
|
||||
"user_flagged_user_multiple": "<strong>%1</strong> and %2 others flagged a user profile (%3)",
|
||||
"user_flagged_user": "<strong>%1</strong> đã cảnh báo một người dùng (%2)",
|
||||
"user_flagged_user_dual": "<strong>%1</strong> và <strong>%2</strong> đã cảnh báo một người dùng (%3)",
|
||||
"user_flagged_user_multiple": "<strong>%1</strong> và %2 người khác đã cảnh báo người dùng (%3)",
|
||||
"user_posted_to": "<strong>%1</strong> đã trả lời <strong>%2</strong>",
|
||||
"user_posted_to_dual": "<strong>%1</strong> và <strong>%2</strong> đã trả lời: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> và %2 người khác đã trả lời: <strong>%3</strong>",
|
||||
@@ -41,24 +41,24 @@
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> và %2 người khác đã bắt đầu theo dõi bạn.",
|
||||
"new_register": "<strong>%1</strong> đã gửi một yêu cầu tham gia.",
|
||||
"new_register_multiple": "Có <strong>%1</strong> đơn đăng ký đang chờ xem xét.",
|
||||
"flag_assigned_to_you": "<strong>Flag %1</strong> has been assigned to you",
|
||||
"post_awaiting_review": "Post awaiting review",
|
||||
"flag_assigned_to_you": "<strong>Cảnh báo %1</strong> đã được ghi nhận đối với bạn",
|
||||
"post_awaiting_review": "Bài đăng đang chờ xét duyệt",
|
||||
"email-confirmed": "Đã xác nhận email",
|
||||
"email-confirmed-message": "Cảm ơn bạn đã xác nhận địa chỉ email của bạn. 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ó thể đoạn mã không đúng hoặc đã hết hạn.",
|
||||
"email-confirm-sent": "Email xác nhận đã gửi.",
|
||||
"none": "None",
|
||||
"notification_only": "Notification Only",
|
||||
"email_only": "Email Only",
|
||||
"notification_and_email": "Notification & Email",
|
||||
"notificationType_upvote": "When someone upvotes your post",
|
||||
"notificationType_new-topic": "When someone you follow posts a topic",
|
||||
"notificationType_new-reply": "When a new reply is posted in a topic you are watching",
|
||||
"notificationType_follow": "When someone starts following you",
|
||||
"notificationType_new-chat": "When you receive a chat message",
|
||||
"notificationType_group-invite": "When you receive a group invite",
|
||||
"notificationType_new-register": "When someone gets added to registration queue",
|
||||
"notificationType_post-queue": "When a new post is queued",
|
||||
"notificationType_new-post-flag": "When a post is flagged",
|
||||
"notificationType_new-user-flag": "When a user is flagged"
|
||||
"none": "Hoàn toàn không",
|
||||
"notification_only": "Chỉ thông báo",
|
||||
"email_only": "Chỉ email",
|
||||
"notification_and_email": "Cả thông báo & email",
|
||||
"notificationType_upvote": "Khi ai đó thích bài đăng của bạn",
|
||||
"notificationType_new-topic": "Khi người bạn theo dõi đăng một chủ đề",
|
||||
"notificationType_new-reply": "Khi phản hồi được đăng trong chủ đề bạn đang quan tâm",
|
||||
"notificationType_follow": "Khi ai đó theo dõi bạn",
|
||||
"notificationType_new-chat": "Khi bạn nhận được thông điệp chat",
|
||||
"notificationType_group-invite": "Khi bạn nhận được lời mời gia nhập nhóm",
|
||||
"notificationType_new-register": "Khi ai đó được thêm vào lượt chờ đăng ký",
|
||||
"notificationType_post-queue": "Khi bài đăng được thêm vào lượt chờ",
|
||||
"notificationType_new-post-flag": "Khi bài đăng được cảnh báo",
|
||||
"notificationType_new-user-flag": "Khi người dùng bị cảnh báo"
|
||||
}
|
||||
@@ -43,8 +43,8 @@
|
||||
"account/groups": "Nhóm của %1",
|
||||
"account/bookmarks": "Đã bookmark %1's chủ đề",
|
||||
"account/settings": "Thiết lập",
|
||||
"account/watched": "Chủ đề %1 đang theo dõi",
|
||||
"account/ignored": "Topics ignored by %1",
|
||||
"account/watched": "Chủ đề được quan tâm bởi %1",
|
||||
"account/ignored": "Các chủ đề đã bị phớt lờ bởi %1",
|
||||
"account/upvoted": "Bài viết %1 tán thành",
|
||||
"account/downvoted": "Bài viết %1 phản đối",
|
||||
"account/best": "Bài viết hay nhất của %1",
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
"posted-by": "Đăng bởi",
|
||||
"in-categories": "Nằm trong chuyên mục",
|
||||
"search-child-categories": "Tìm kiếm chuyên mục con",
|
||||
"has-tags": "Has tags",
|
||||
"has-tags": "Có thẻ bên trong",
|
||||
"reply-count": "Số lượt trả lời",
|
||||
"at-least": "Tối thiểu",
|
||||
"at-most": "Tối đa",
|
||||
"relevance": "Relevance",
|
||||
"relevance": "Mức độ liên quan",
|
||||
"post-time": "Thời điểm đăng bài",
|
||||
"newer-than": "Mới hơn",
|
||||
"older-than": "Cũ hơn",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"success": "Thành công",
|
||||
"topic-post": "Bạn đã gửi bài thành công",
|
||||
"post-queued": "Your post is queued for approval.",
|
||||
"post-queued": "Bài đăng của bạn đang được chờ xét duyệt.",
|
||||
"authentication-successful": "Xác thực thành công",
|
||||
"settings-saved": "Đã lưu thiết lập"
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
"quote": "Trích dẫn",
|
||||
"reply": "Trả lời",
|
||||
"replies_to_this_post": "%1 trả lời",
|
||||
"one_reply_to_this_post": "1 Reply",
|
||||
"one_reply_to_this_post": "1 Phản hồi",
|
||||
"last_reply_time": "Trả lời cuối cùng",
|
||||
"reply-as-topic": "Trả lời dưới dạng chủ đề",
|
||||
"guest-login-reply": "Hãy đăng nhập để trả lời",
|
||||
@@ -40,13 +40,13 @@
|
||||
"markAsUnreadForAll.success": "Chủ đề đã được đánh dấu là chưa đọc toàn bộ",
|
||||
"mark_unread": "Đánh dấu chưa đọc",
|
||||
"mark_unread.success": "Chủ đề đã được đánh dấu chưa đọc.",
|
||||
"watch": "Theo dõi",
|
||||
"unwatch": "Ngừng theo dõi",
|
||||
"watch": "Quan tâm",
|
||||
"unwatch": "Ngừng quan tâm",
|
||||
"watch.title": "Được thông báo khi có trả lời mới trong chủ đề này",
|
||||
"unwatch.title": "Ngừng theo dõi chủ đề này",
|
||||
"unwatch.title": "Ngừng quan tâm chủ đề này",
|
||||
"share_this_post": "Chia sẻ bài viết này",
|
||||
"watching": "Đang xem",
|
||||
"not-watching": "Không xem",
|
||||
"watching": "Đang quan tâm",
|
||||
"not-watching": "Không để ý",
|
||||
"ignoring": "Bỏ qua",
|
||||
"watching.description": "Thông báo cho tôi các trả lời mới. <br/>Hiển thị các mục chưa đọc",
|
||||
"not-watching.description": "Không thông báo tôi các trả lời mới. <br/>Hiển thị mục chưa đọc nếu danh mục bị bỏ qua.",
|
||||
@@ -59,7 +59,7 @@
|
||||
"thread_tools.unlock": "Mở khóa chủ đề",
|
||||
"thread_tools.move": "Chuyển chủ đề",
|
||||
"thread_tools.move_all": "Chuyển tất cả",
|
||||
"thread_tools.select_category": "Select Category",
|
||||
"thread_tools.select_category": "Chọn chuyện mục",
|
||||
"thread_tools.fork": "Tạo bản sao chủ đề",
|
||||
"thread_tools.delete": "Xóa chủ đề",
|
||||
"thread_tools.delete-posts": "Xoá bài viết",
|
||||
@@ -68,8 +68,8 @@
|
||||
"thread_tools.restore_confirm": "Bạn có muốn phục hồi chủ đề này?",
|
||||
"thread_tools.purge": "Xóa hẳn chủ đề",
|
||||
"thread_tools.purge_confirm": "Bạn có muốn xóa hẳn chủ đề này?",
|
||||
"thread_tools.merge_topics": "Merge Topics",
|
||||
"thread_tools.merge": "Merge",
|
||||
"thread_tools.merge_topics": "Xác nhập chủ đề",
|
||||
"thread_tools.merge": "Xác nhập",
|
||||
"topic_move_success": "Đã chuyển thành công chủ đề này sang %1",
|
||||
"post_delete_confirm": "Bạn có chắc là muốn xóa bài gửi này không?",
|
||||
"post_restore_confirm": "Bạn có chắc là muốn phục hồi bài gửi này không?",
|
||||
@@ -91,7 +91,7 @@
|
||||
"fork_pid_count": "%1 bài viết(s) đã được gửi",
|
||||
"fork_success": "Tạo bản sao thành công! Nhấn vào đây để chuyển tới chủ đề vừa tạo.",
|
||||
"delete_posts_instruction": "Chọn những bài viết bạn muốn xoá",
|
||||
"merge_topics_instruction": "Click the topics you want to merge",
|
||||
"merge_topics_instruction": "Click vào các chủ đề bạn muốn xác nhập",
|
||||
"composer.title_placeholder": "Nhập tiêu đề cho chủ đề của bạn tại đây...",
|
||||
"composer.handle_placeholder": "Tên",
|
||||
"composer.discard": "Huỷ bỏ",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"topics_marked_as_read.success": "Chủ đề được đánh dấu đã đọc",
|
||||
"all-topics": "Toàn bộ chủ đề",
|
||||
"new-topics": "Các chủ đề mới",
|
||||
"watched-topics": "Các chủ đề đã xem",
|
||||
"unreplied-topics": "Unreplied Topics",
|
||||
"multiple-categories-selected": "Multiple Selected"
|
||||
"watched-topics": "Các chủ đề đuợc quan tâm",
|
||||
"unreplied-topics": "Chủ đề chưa có phản hồi nào",
|
||||
"multiple-categories-selected": "Chọn nhiều cùng lúc"
|
||||
}
|
||||
@@ -24,17 +24,17 @@
|
||||
"profile_views": "Số lượt người ghé thăm",
|
||||
"reputation": "Mức uy tín",
|
||||
"bookmarks": "Bookmarks",
|
||||
"watched": "Đã theo dõi",
|
||||
"ignored": "Ignored",
|
||||
"watched": "Đã quan tâm",
|
||||
"ignored": "Phớt lờ",
|
||||
"followers": "Số người theo dõi",
|
||||
"following": "Đang theo dõi",
|
||||
"aboutme": "Giới thiệu bản thân",
|
||||
"signature": "Chữ ký",
|
||||
"birthday": "Ngày sinh ",
|
||||
"chat": "Chat",
|
||||
"chat_with": "Continue chat with %1",
|
||||
"new_chat_with": "Start new chat with %1",
|
||||
"flag-profile": "Flag Profile",
|
||||
"chat_with": "Tiếp tục chat với %1",
|
||||
"new_chat_with": "Bắt đầu chat với %1",
|
||||
"flag-profile": "Cảnh báo người dùng",
|
||||
"follow": "Theo dõi",
|
||||
"unfollow": "Hủy theo dõi",
|
||||
"more": "Xem thêm",
|
||||
@@ -61,14 +61,14 @@
|
||||
"username_taken_workaround": "Tên truy cập này đã tồn tại, vì vậy chúng tôi đã sửa đổi nó một chút. Tên truy cập của bạn giờ là <strong>%1</strong>",
|
||||
"password_same_as_username": "Mật khẩu của bạn trùng với tên đăng nhập, vui lòng chọn một mật khẩu khác.",
|
||||
"password_same_as_email": "Mật khẩu của bạn trùng với email của bạn, hãy chọn mật khẩu khác.",
|
||||
"weak_password": "Weak password.",
|
||||
"weak_password": "Mật khẩu yếu",
|
||||
"upload_picture": "Tải lên hình ảnh",
|
||||
"upload_a_picture": "Tải lên một hình ảnh",
|
||||
"remove_uploaded_picture": "Xoá ảnh đã tải lên",
|
||||
"upload_cover_picture": "Tải ảnh bìa lên",
|
||||
"remove_cover_picture_confirm": "Are you sure you want to remove the cover picture?",
|
||||
"crop_picture": "Crop picture",
|
||||
"upload_cropped_picture": "Crop and upload",
|
||||
"remove_cover_picture_confirm": "Bạn có thật sự muốn xóa hình ảnh này?",
|
||||
"crop_picture": "Cắt nhỏ hình ảnh",
|
||||
"upload_cropped_picture": "Cắt nhỏ và đăng tải",
|
||||
"settings": "Thiết lập",
|
||||
"show_email": "Hiện Email của tôi",
|
||||
"show_fullname": "Hiện tên đầy đủ",
|
||||
@@ -84,8 +84,8 @@
|
||||
"follows_no_one": "Người dùng này hiện chưa theo dõi ai :(",
|
||||
"has_no_posts": "Thành viên này chưa đăng bài viết nào cả.",
|
||||
"has_no_topics": "Thành viên này chưa đăng chủ đề nào cả.",
|
||||
"has_no_watched_topics": "Thành viên này chưa theo dõi chủ đề nào cả.",
|
||||
"has_no_ignored_topics": "This user hasn't ignored any topics yet.",
|
||||
"has_no_watched_topics": "Thành viên này chưa quan tâm chủ đề nào cả.",
|
||||
"has_no_ignored_topics": "Người dùng này chưa bỏ qua bất cứ chủ đề nào.",
|
||||
"has_no_upvoted_posts": "Thành viên này chưa tán thành bài viết nào cả.",
|
||||
"has_no_downvoted_posts": "Thành viên này chưa phản đối bài viết nào cả.",
|
||||
"has_no_voted_posts": "Thành viên này không có bài viết nào được tán thành.",
|
||||
@@ -94,18 +94,18 @@
|
||||
"paginate_description": "Phân trang chủ đề và bài viết thay vì sử dụng cuộn vô hạn",
|
||||
"topics_per_page": "Số chủ đề trong một trang",
|
||||
"posts_per_page": "Số bài viết trong một trang",
|
||||
"max_items_per_page": "Maximum %1",
|
||||
"max_items_per_page": "Tối đa %1",
|
||||
"notification_sounds": "Phát âm thanh khi bạn nhận được thông báo mới",
|
||||
"notifications_and_sounds": "Thông báo & Âm thanh",
|
||||
"incoming-message-sound": "Âm báo tin nhắn tới",
|
||||
"outgoing-message-sound": "Âm báo tin nhắn đi",
|
||||
"notification-sound": "Âm thanh thông báo",
|
||||
"no-sound": "Không có âm thanh",
|
||||
"upvote-notif-freq": "Upvote Notification Frequency",
|
||||
"upvote-notif-freq.all": "All Upvotes",
|
||||
"upvote-notif-freq.everyTen": "Every Ten Upvotes",
|
||||
"upvote-notif-freq.logarithmic": "On 10, 100, 1000...",
|
||||
"upvote-notif-freq.disabled": "Disabled",
|
||||
"upvote-notif-freq": "Tần suất thông báo lượt thích",
|
||||
"upvote-notif-freq.all": "Toàn bộ lượt thích",
|
||||
"upvote-notif-freq.everyTen": "Mỗi 10 lượt thích",
|
||||
"upvote-notif-freq.logarithmic": "Cứ mỗi 10, 100, 1000...",
|
||||
"upvote-notif-freq.disabled": "Bị khóa",
|
||||
"browsing": "Đang xem cài đặt",
|
||||
"open_links_in_new_tab": "Mở link trong tab mới.",
|
||||
"enable_topic_searching": "Bật In-topic Searching",
|
||||
@@ -113,8 +113,8 @@
|
||||
"delay_image_loading": "Việc tải ảnh đang bị chậm",
|
||||
"image_load_delay_help": "Nếu được bật, toàn bộ ảnh trong chủ đề sẽ chỉ được tải khi người dùng kéo chuột tới",
|
||||
"scroll_to_my_post": "Sau khi đăng một trả lời thì hiển thị bài viết mới",
|
||||
"follow_topics_you_reply_to": "Theo dõi những chủ đề mà bạn đã bình luận",
|
||||
"follow_topics_you_create": "Theo dõi những chủ đề do bạn t",
|
||||
"follow_topics_you_reply_to": "Những chủ đề bạn quan tâm và từng bình luận",
|
||||
"follow_topics_you_create": "Theo dõi chủ đề bạn tạo",
|
||||
"grouptitle": "Tên nhóm",
|
||||
"no-group-title": "Không có tên nhóm",
|
||||
"select-skin": "Chọn một giao diện",
|
||||
@@ -126,9 +126,9 @@
|
||||
"sso.title": "Đăng nhập một lần",
|
||||
"sso.associated": "Đã liên kết với",
|
||||
"sso.not-associated": "Nhấn vào đây để liên kết với",
|
||||
"sso.dissociate": "Dissociate",
|
||||
"sso.dissociate-confirm-title": "Confirm Dissociation",
|
||||
"sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?",
|
||||
"sso.dissociate": "Tách khỏi",
|
||||
"sso.dissociate-confirm-title": "Xác nhận việc tách khỏi",
|
||||
"sso.dissociate-confirm": "Bạn có chắc chắn muốn tách tài khoản của mình khỏi %1?",
|
||||
"info.latest-flags": "Cờ mới nhất",
|
||||
"info.no-flags": "Không có bài viết nào bị gắn c",
|
||||
"info.ban-history": "Lịch sử khóa tài khoản gần đây",
|
||||
@@ -141,5 +141,5 @@
|
||||
"info.email-history": "Lịch sử email",
|
||||
"info.moderation-note": "Ghi chú quản lí",
|
||||
"info.moderation-note.success": "Đã lưu ghi chú quản l",
|
||||
"info.moderation-note.add": "Add note"
|
||||
"info.moderation-note.add": "Thêm ghi chú"
|
||||
}
|
||||
@@ -117,7 +117,6 @@ define('alerts', ['translator', 'components', 'benchpress'], function (translato
|
||||
alert
|
||||
.on('mouseenter', function () {
|
||||
$(this).css('transition-duration', 0);
|
||||
console.log(this);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async');
|
||||
var winston = require('winston');
|
||||
|
||||
var user = require('../../user');
|
||||
var meta = require('../../meta');
|
||||
@@ -112,7 +113,12 @@ module.exports = function (SocketUser) {
|
||||
reason: reason,
|
||||
};
|
||||
|
||||
emailer.send('banned', uid, data, next);
|
||||
emailer.send('banned', uid, data, function (err) {
|
||||
if (err) {
|
||||
winston.error('[emailer.send] ' + err.message);
|
||||
}
|
||||
next();
|
||||
});
|
||||
},
|
||||
function (next) {
|
||||
user.ban(uid, until, reason, next);
|
||||
|
||||
@@ -205,7 +205,7 @@ Upgrade.incrementProgress = function (value) {
|
||||
if (this.total) {
|
||||
percentage = Math.floor((this.current / this.total) * 100) + '%';
|
||||
filled = Math.floor((this.current / this.total) * 15);
|
||||
unfilled = Math.min(0, 15 - filled);
|
||||
unfilled = Math.max(0, 15 - filled);
|
||||
}
|
||||
|
||||
readline.cursorTo(process.stdout, 0);
|
||||
|
||||
@@ -31,7 +31,7 @@ widgets.render = function (uid, options, callback) {
|
||||
var returnData = {};
|
||||
|
||||
async.each(locations, function (location, done) {
|
||||
widgetsByLocation[location] = (data.global[location] || []).concat(data[options.template][location] || []);
|
||||
widgetsByLocation[location] = (data[options.template][location] || []).concat(data.global[location] || []);
|
||||
|
||||
if (!widgetsByLocation[location].length) {
|
||||
return done(null, { location: location, widgets: [] });
|
||||
|
||||
Reference in New Issue
Block a user