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

v1.18.x
Julian Lam 7 years ago
commit 8588a54ff2

@ -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: [] });

Loading…
Cancel
Save