diff --git a/locale/vi/LC_MESSAGES/django.po b/locale/vi/LC_MESSAGES/django.po
index 0cb9282..16a4641 100644
--- a/locale/vi/LC_MESSAGES/django.po
+++ b/locale/vi/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lqdoj2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-08-26 05:31+0700\n"
+"POT-Creation-Date: 2023-08-30 10:40+0700\n"
"PO-Revision-Date: 2021-07-20 03:44\n"
"Last-Translator: Icyene\n"
"Language-Team: Vietnamese\n"
@@ -18,26 +18,26 @@ msgstr ""
"X-Crowdin-Project-ID: 466004\n"
"X-Crowdin-File-ID: 5\n"
-#: chat_box/models.py:31 chat_box/models.py:54 chat_box/models.py:68
+#: chat_box/models.py:32 chat_box/models.py:57 chat_box/models.py:72
#: judge/admin/interface.py:150 judge/models/contest.py:636
-#: judge/models/contest.py:845 judge/models/course.py:115
-#: judge/models/profile.py:375 judge/models/profile.py:453
+#: judge/models/contest.py:842 judge/models/course.py:115
+#: judge/models/profile.py:383 judge/models/profile.py:461
msgid "user"
msgstr "người dùng"
-#: chat_box/models.py:32 judge/models/comment.py:44 judge/models/comment.py:189
+#: chat_box/models.py:34 judge/models/comment.py:44 judge/models/comment.py:189
msgid "posted time"
msgstr "thời gian đăng"
-#: chat_box/models.py:33 judge/models/comment.py:49
+#: chat_box/models.py:36 judge/models/comment.py:49
msgid "body of comment"
msgstr "nội dung bình luận"
-#: chat_box/models.py:58
+#: chat_box/models.py:61
msgid "last seen"
msgstr "xem lần cuối"
-#: chat_box/views.py:45
+#: chat_box/views.py:46
msgid "LQDOJ Chat"
msgstr ""
@@ -98,7 +98,7 @@ msgstr "Hiện bình luận"
msgid "Included contests"
msgstr ""
-#: judge/admin/contest.py:80 judge/admin/volunteer.py:54
+#: judge/admin/contest.py:79 judge/admin/volunteer.py:54
#: templates/contest/clarification.html:42 templates/contest/contest.html:100
#: templates/contest/moss.html:41 templates/internal/left-sidebar.html:2
#: templates/internal/problem.html:35 templates/problem/list.html:17
@@ -107,76 +107,76 @@ msgstr ""
msgid "Problem"
msgstr "Bài tập"
-#: judge/admin/contest.py:156
+#: judge/admin/contest.py:155
msgid "Settings"
msgstr "Cài đặt"
-#: judge/admin/contest.py:169
+#: judge/admin/contest.py:168
msgid "Scheduling"
msgstr ""
-#: judge/admin/contest.py:173
+#: judge/admin/contest.py:172
msgid "Details"
msgstr "Chi tiết"
-#: judge/admin/contest.py:185
+#: judge/admin/contest.py:184
msgid "Format"
msgstr "Thể thức"
-#: judge/admin/contest.py:189 templates/contest/ranking-table.html:5
+#: judge/admin/contest.py:188 templates/contest/ranking-table.html:5
#: templates/user/user-about.html:15 templates/user/user-about.html:45
msgid "Rating"
msgstr ""
-#: judge/admin/contest.py:201
+#: judge/admin/contest.py:200
msgid "Access"
msgstr "Truy cập"
-#: judge/admin/contest.py:211 judge/admin/problem.py:218
+#: judge/admin/contest.py:210 judge/admin/problem.py:218
msgid "Justice"
msgstr "Xử phạt"
-#: judge/admin/contest.py:331
+#: judge/admin/contest.py:330
#, python-format
msgid "%d contest successfully marked as visible."
msgid_plural "%d contests successfully marked as visible."
msgstr[0] "%d kỳ thi đã được đánh dấu hiển thị."
-#: judge/admin/contest.py:338
+#: judge/admin/contest.py:337
msgid "Mark contests as visible"
msgstr "Đánh dấu hiển thị các kỳ thi"
-#: judge/admin/contest.py:349
+#: judge/admin/contest.py:348
#, python-format
msgid "%d contest successfully marked as hidden."
msgid_plural "%d contests successfully marked as hidden."
msgstr[0] "%d kỳ thi đã được đánh dấu ẩn."
-#: judge/admin/contest.py:356
+#: judge/admin/contest.py:355
msgid "Mark contests as hidden"
msgstr "Ẩn các kỳ thi"
-#: judge/admin/contest.py:377 judge/admin/submission.py:241
+#: judge/admin/contest.py:376 judge/admin/submission.py:241
#, python-format
msgid "%d submission was successfully scheduled for rejudging."
msgid_plural "%d submissions were successfully scheduled for rejudging."
msgstr[0] "%d bài nộp đã được lên lịch thành công để chấm lại."
-#: judge/admin/contest.py:485
+#: judge/admin/contest.py:484
#, python-format
msgid "%d participation recalculated."
msgid_plural "%d participations recalculated."
msgstr[0] "%d thí sinh đã được tính điểm lại."
-#: judge/admin/contest.py:492
+#: judge/admin/contest.py:491
msgid "Recalculate results"
msgstr "Tính toán lại kết quả"
-#: judge/admin/contest.py:497 judge/admin/organization.py:99
+#: judge/admin/contest.py:496 judge/admin/organization.py:99
msgid "username"
msgstr "tên đăng nhập"
-#: judge/admin/contest.py:503 templates/base.html:331
+#: judge/admin/contest.py:502 templates/base.html:331
msgid "virtual"
msgstr "ảo"
@@ -402,8 +402,8 @@ msgstr "Tính điểm lại cái bài nộp"
#: templates/organization/requests/log.html:10
#: templates/organization/requests/pending.html:20
#: templates/problem/list.html:154
-#: templates/submission/status-testcases.html:144
-#: templates/submission/status-testcases.html:146
+#: templates/submission/status-testcases.html:139
+#: templates/submission/status-testcases.html:141
msgid "Time"
msgstr "Thời gian"
@@ -417,7 +417,7 @@ msgstr "%d KB"
msgid "%.2f MB"
msgstr ""
-#: judge/admin/submission.py:345 templates/submission/status-testcases.html:151
+#: judge/admin/submission.py:345 templates/submission/status-testcases.html:146
msgid "Memory"
msgstr "Bộ nhớ"
@@ -511,7 +511,8 @@ msgstr "Các tên đăng nhập này không tồn tại: {usernames}"
msgid "Username"
msgstr "Tên đăng nhập"
-#: judge/forms.py:428 templates/registration/registration_form.html:46
+#: judge/forms.py:428 judge/views/email.py:22
+#: templates/registration/registration_form.html:46
#: templates/registration/registration_form.html:60
#: templates/user/edit-profile.html:108 templates/user/import/table_csv.html:5
msgid "Password"
@@ -910,7 +911,7 @@ msgstr "riêng tư với các tổ chức"
#: judge/models/contest.py:228 judge/models/course.py:34
#: judge/models/interface.py:92 judge/models/problem.py:281
-#: judge/models/profile.py:137
+#: judge/models/profile.py:144
msgid "organizations"
msgstr "tổ chức"
@@ -1031,7 +1032,7 @@ msgid "Edit contest problem label script"
msgstr "Cách hiển thị thứ tự bài tập"
#: judge/models/contest.py:620 judge/models/contest.py:767
-#: judge/models/contest.py:848 judge/models/contest.py:878
+#: judge/models/contest.py:845 judge/models/contest.py:875
#: judge/models/course.py:178 judge/models/submission.py:116
msgid "contest"
msgstr "kỳ thi"
@@ -1115,14 +1116,14 @@ msgstr "lần tham gia kỳ thi"
msgid "contest participations"
msgstr "lần tham gia kỳ thi"
-#: judge/models/contest.py:763 judge/models/contest.py:819
-#: judge/models/contest.py:881 judge/models/problem.py:582
+#: judge/models/contest.py:763 judge/models/contest.py:816
+#: judge/models/contest.py:878 judge/models/problem.py:582
#: judge/models/problem.py:589 judge/models/problem.py:610
#: judge/models/problem.py:641 judge/models/problem_data.py:50
msgid "problem"
msgstr "bài tập"
-#: judge/models/contest.py:771 judge/models/contest.py:831
+#: judge/models/contest.py:771 judge/models/contest.py:828
#: judge/models/course.py:182 judge/models/problem.py:209
msgid "points"
msgstr "điểm"
@@ -1131,7 +1132,7 @@ msgstr "điểm"
msgid "partial"
msgstr "thành phần"
-#: judge/models/contest.py:773 judge/models/contest.py:833
+#: judge/models/contest.py:773 judge/models/contest.py:830
msgid "is pretested"
msgstr "dùng pretest"
@@ -1140,111 +1141,107 @@ msgid "order"
msgstr "thứ tự"
#: judge/models/contest.py:776
-msgid "0 to not show testcases, 1 to show"
-msgstr "0 để ẩn test, 1 để hiện"
-
-#: judge/models/contest.py:777
msgid "visible testcases"
msgstr "hiển thị test"
-#: judge/models/contest.py:784
+#: judge/models/contest.py:781
msgid "Maximum number of submissions for this problem, or 0 for no limit."
msgstr "Số lần nộp tối đa, đặt là 0 nếu không có giới hạn."
-#: judge/models/contest.py:786
+#: judge/models/contest.py:783
msgid "max submissions"
msgstr "số lần nộp tối đa"
-#: judge/models/contest.py:789
+#: judge/models/contest.py:786
msgid "Why include a problem you can't submit to?"
msgstr ""
-#: judge/models/contest.py:793
+#: judge/models/contest.py:790
#, fuzzy
#| msgid "Only for format new IOI. Separated by commas, e.g: 2, 3"
msgid "Separated by commas, e.g: 2, 3"
msgstr ""
"Chỉ dùng với format IOI mới. Các sub cách nhau bởi dấu phẩy. Ví dụ: 2, 3"
-#: judge/models/contest.py:794
+#: judge/models/contest.py:791
#, fuzzy
#| msgid "frozen subtasks"
msgid "hidden subtasks"
msgstr "Đóng băng subtasks"
-#: judge/models/contest.py:806
+#: judge/models/contest.py:803
msgid "contest problem"
msgstr "bài trong kỳ thi"
-#: judge/models/contest.py:807
+#: judge/models/contest.py:804
msgid "contest problems"
msgstr "bài trong kỳ thi"
-#: judge/models/contest.py:813 judge/models/submission.py:233
+#: judge/models/contest.py:810 judge/models/submission.py:233
msgid "submission"
msgstr "bài nộp"
-#: judge/models/contest.py:826 judge/models/contest.py:852
+#: judge/models/contest.py:823 judge/models/contest.py:849
msgid "participation"
msgstr "lần tham gia"
-#: judge/models/contest.py:834
+#: judge/models/contest.py:831
msgid "Whether this submission was ran only on pretests."
msgstr "Quyết định bài nộp chỉ được chạy trên pretest không."
-#: judge/models/contest.py:839
+#: judge/models/contest.py:836
msgid "contest submission"
msgstr "bài nộp kỳ thi"
-#: judge/models/contest.py:840
+#: judge/models/contest.py:837
msgid "contest submissions"
msgstr "bài nộp kỳ thi"
-#: judge/models/contest.py:856
+#: judge/models/contest.py:853
msgid "rank"
msgstr "rank"
-#: judge/models/contest.py:857
+#: judge/models/contest.py:854
msgid "rating"
msgstr "rating"
-#: judge/models/contest.py:858
+#: judge/models/contest.py:855
msgid "raw rating"
msgstr "rating thật"
-#: judge/models/contest.py:859
+#: judge/models/contest.py:856
msgid "contest performance"
msgstr ""
-#: judge/models/contest.py:860
+#: judge/models/contest.py:857
msgid "last rated"
msgstr "lần cuối được xếp hạng"
-#: judge/models/contest.py:864
+#: judge/models/contest.py:861
msgid "contest rating"
msgstr "rating kỳ thi"
-#: judge/models/contest.py:865
+#: judge/models/contest.py:862
msgid "contest ratings"
msgstr "rating kỳ thi"
-#: judge/models/contest.py:889
+#: judge/models/contest.py:886
msgid "contest moss result"
msgstr "kết quả MOSS kỳ thi"
-#: judge/models/contest.py:890
+#: judge/models/contest.py:887
msgid "contest moss results"
msgstr "kết quả MOSS kỳ thi"
-#: judge/models/contest.py:895
+#: judge/models/contest.py:892
msgid "clarified problem"
msgstr ""
-#: judge/models/contest.py:897
+#: judge/models/contest.py:894
msgid "clarification body"
msgstr ""
-#: judge/models/contest.py:899
+#: judge/models/contest.py:896
msgid "clarification timestamp"
msgstr ""
@@ -1991,142 +1988,142 @@ msgid ""
"organization."
msgstr "Ảnh này sẽ thay thế logo mặc định khi ở trong tổ chức."
-#: judge/models/profile.py:136 judge/models/profile.py:165
-#: judge/models/profile.py:381 judge/models/profile.py:460
+#: judge/models/profile.py:143 judge/models/profile.py:172
+#: judge/models/profile.py:389 judge/models/profile.py:468
msgid "organization"
msgstr ""
-#: judge/models/profile.py:142
+#: judge/models/profile.py:149
msgid "user associated"
msgstr ""
-#: judge/models/profile.py:144
+#: judge/models/profile.py:151
msgid "self-description"
msgstr ""
-#: judge/models/profile.py:147
+#: judge/models/profile.py:154
msgid "location"
msgstr ""
-#: judge/models/profile.py:153
+#: judge/models/profile.py:160
msgid "preferred language"
msgstr ""
-#: judge/models/profile.py:161
+#: judge/models/profile.py:168
msgid "last access time"
msgstr ""
-#: judge/models/profile.py:162
+#: judge/models/profile.py:169
msgid "last IP"
msgstr ""
-#: judge/models/profile.py:173
+#: judge/models/profile.py:180
msgid "display rank"
msgstr ""
-#: judge/models/profile.py:181
+#: judge/models/profile.py:189
msgid "comment mute"
msgstr ""
-#: judge/models/profile.py:182
+#: judge/models/profile.py:190
msgid "Some users are at their best when silent."
msgstr ""
-#: judge/models/profile.py:186
+#: judge/models/profile.py:194
msgid "unlisted user"
msgstr ""
-#: judge/models/profile.py:187
+#: judge/models/profile.py:195
msgid "User will not be ranked."
msgstr ""
-#: judge/models/profile.py:191
+#: judge/models/profile.py:199
#, fuzzy
#| msgid "Banned from joining"
msgid "banned from voting"
msgstr "Bị cấm tham gia"
-#: judge/models/profile.py:192
+#: judge/models/profile.py:200
msgid "User will not be able to vote on problems' point values."
msgstr ""
-#: judge/models/profile.py:197
+#: judge/models/profile.py:205
msgid "user script"
msgstr ""
-#: judge/models/profile.py:201
+#: judge/models/profile.py:209
msgid "User-defined JavaScript for site customization."
msgstr ""
-#: judge/models/profile.py:205
+#: judge/models/profile.py:213
msgid "current contest"
msgstr "kỳ thi hiện tại"
-#: judge/models/profile.py:212
+#: judge/models/profile.py:220
msgid "math engine"
msgstr ""
-#: judge/models/profile.py:216
+#: judge/models/profile.py:224
msgid "the rendering engine used to render math"
msgstr ""
-#: judge/models/profile.py:219
+#: judge/models/profile.py:227
msgid "2FA enabled"
msgstr ""
-#: judge/models/profile.py:221
+#: judge/models/profile.py:229
msgid "check to enable TOTP-based two factor authentication"
msgstr "đánh dấu để sử dụng TOTP-based two factor authentication"
-#: judge/models/profile.py:227
+#: judge/models/profile.py:235
msgid "TOTP key"
msgstr "mã TOTP"
-#: judge/models/profile.py:228
+#: judge/models/profile.py:236
msgid "32 character base32-encoded key for TOTP"
msgstr ""
-#: judge/models/profile.py:230
+#: judge/models/profile.py:238
msgid "TOTP key must be empty or base32"
msgstr ""
-#: judge/models/profile.py:234
+#: judge/models/profile.py:242
msgid "internal notes"
msgstr "ghi chú nội bộ"
-#: judge/models/profile.py:237
+#: judge/models/profile.py:245
msgid "Notes for administrators regarding this user."
msgstr "Ghi chú riêng cho quản trị viên."
-#: judge/models/profile.py:368
+#: judge/models/profile.py:376
msgid "user profile"
msgstr "thông tin người dùng"
-#: judge/models/profile.py:369
+#: judge/models/profile.py:377
msgid "user profiles"
msgstr "thông tin người dùng"
-#: judge/models/profile.py:385
+#: judge/models/profile.py:393
msgid "request time"
msgstr "thời gian đăng ký"
-#: judge/models/profile.py:388
+#: judge/models/profile.py:396
msgid "state"
msgstr "trạng thái"
-#: judge/models/profile.py:395
+#: judge/models/profile.py:403
msgid "reason"
msgstr "lý do"
-#: judge/models/profile.py:398
+#: judge/models/profile.py:406
msgid "organization join request"
msgstr "đơn đăng ký tham gia"
-#: judge/models/profile.py:399
+#: judge/models/profile.py:407
msgid "organization join requests"
msgstr "đơn đăng ký tham gia"
-#: judge/models/profile.py:465
+#: judge/models/profile.py:473
#, fuzzy
#| msgid "last seen"
msgid "last visit"
@@ -2715,7 +2712,7 @@ msgid "You already voted."
msgstr "Bạn đã vote."
#: judge/views/comment.py:253 judge/views/organization.py:807
-#: judge/views/organization.py:953 judge/views/organization.py:1118
+#: judge/views/organization.py:957 judge/views/organization.py:1122
msgid "Edited from site"
msgstr "Chỉnh sửa từ web"
@@ -2859,19 +2856,19 @@ msgstr "Mô tả vấn đề"
msgid "New clarification for %s"
msgstr "Thông báo mới cho %s"
-#: judge/views/email.py:20
+#: judge/views/email.py:21
msgid "New Email"
msgstr "Email mới"
-#: judge/views/email.py:25
+#: judge/views/email.py:31
msgid "An account with this email already exists."
msgstr "Email đã được dùng cho tài khoản khác."
-#: judge/views/email.py:43
+#: judge/views/email.py:55
msgid "Email Change Request"
msgstr "Thay đổi Email"
-#: judge/views/email.py:46
+#: judge/views/email.py:58
msgid ""
"We have received a request to change your email to this email. Click the "
"button below to change your email:"
@@ -2879,27 +2876,27 @@ msgstr ""
"Chúng tôi đã nhận được yêu cầu thay đổi địa chỉ email của bạn thành địa chỉ "
"email này. Vui lòng nhấp vào nút bên dưới để thay đổi địa chỉ email của bạn:"
-#: judge/views/email.py:48
+#: judge/views/email.py:60
msgid "Email Change"
msgstr "Thay đổi Email"
-#: judge/views/email.py:49
+#: judge/views/email.py:61
msgid "Change Email"
msgstr "Thay đổi Email"
-#: judge/views/email.py:71 templates/user/edit-profile.html:120
+#: judge/views/email.py:83 templates/user/edit-profile.html:120
msgid "Change email"
msgstr "Thay đổi email"
-#: judge/views/email.py:94
+#: judge/views/email.py:106
msgid "Success"
msgstr "Thành công"
-#: judge/views/email.py:98
+#: judge/views/email.py:110
msgid "Invalid"
msgstr "Không hợp lệ"
-#: judge/views/email.py:107
+#: judge/views/email.py:119
msgid "Email change pending"
msgstr "Yêu cầu thay đổi email đang đợi xác thực."
@@ -3080,7 +3077,7 @@ msgstr ""
msgid "The user you are trying to kick is not in organization: %s."
msgstr ""
-#: judge/views/organization.py:790 judge/views/organization.py:942
+#: judge/views/organization.py:790 judge/views/organization.py:946
#, fuzzy, python-format
#| msgid "Editing %s"
msgid "Edit %s"
@@ -3100,7 +3097,7 @@ msgid "You created too many groups. You can only create at most %d groups"
msgstr ""
#: judge/views/organization.py:839 judge/views/organization.py:864
-#: judge/views/organization.py:1008
+#: judge/views/organization.py:1012
msgid "Added from site"
msgstr "Thêm từ web"
@@ -3109,7 +3106,7 @@ msgstr "Thêm từ web"
msgid "Add contest"
msgstr "Thêm kỳ thi"
-#: judge/views/organization.py:898 judge/views/organization.py:1060
+#: judge/views/organization.py:898 judge/views/organization.py:1064
msgid "Permission denied"
msgstr "Truy cập bị từ chối"
@@ -3119,21 +3116,21 @@ msgstr "Truy cập bị từ chối"
msgid "You are not allowed to edit this contest"
msgstr "Bạn không được phép chỉnh sửa tổ chức này."
-#: judge/views/organization.py:997
+#: judge/views/organization.py:1001
#, python-format
msgid "Add blog for %s"
msgstr "Thêm bài đăng cho %s"
-#: judge/views/organization.py:1061
+#: judge/views/organization.py:1065
msgid "Not allowed to edit this blog"
msgstr "Bạn không được phép chỉnh sửa bài đăng này."
-#: judge/views/organization.py:1093
+#: judge/views/organization.py:1097
#, python-format
msgid "Edit blog %s"
msgstr "Chỉnh sửa %s"
-#: judge/views/organization.py:1144
+#: judge/views/organization.py:1148
#, python-format
msgid "Pending blogs in %s"
msgstr "Bài đang đợi duyệt trong %s"
@@ -3391,8 +3388,8 @@ msgstr "Phải qua một kỳ thi"
#: judge/views/submission.py:914
#, python-brace-format
msgid ""
-"{0}'s submissions for {2} in {4}"
+"{0}'s submissions for {2} in {4}"
msgstr ""
"Các bài nộp của {0} cho {2} trong {4}"
@@ -3588,7 +3585,7 @@ msgstr "Chỉnh sửa thông tin"
msgid "Rejudge"
msgstr "Chấm lại"
-#: templates/base.html:227 templates/chat/chat.html:610
+#: templates/base.html:227 templates/chat/chat.html:66
msgid "Chat"
msgstr "Chat"
@@ -3604,7 +3601,7 @@ msgstr ""
msgid "Profile"
msgstr "Trang cá nhân"
-#: templates/base.html:279 templates/chat/chat.html:21
+#: templates/base.html:279 templates/chat/chat_js.html:5
#: templates/comments/content-list.html:81
#: templates/contest/contest-list-tabs.html:4
#: templates/contest/ranking-table.html:47 templates/internal/problem.html:57
@@ -3725,48 +3722,48 @@ msgstr "Thêm mới"
msgid "No clarifications have been made at this time."
msgstr "Không có thông báo nào."
-#: templates/chat/chat.html:5 templates/chat/chat.html:584
+#: templates/chat/chat.html:5 templates/chat/chat_js.html:535
msgid "Chat Box"
msgstr "Chat Box"
-#: templates/chat/chat.html:19
-msgid "Recent"
-msgstr "Gần đây"
+#: templates/chat/chat.html:68 templates/chat/chat.html:75
+msgid "Online Users"
+msgstr "Trực tuyến"
-#: templates/chat/chat.html:20
-msgid "Following"
-msgstr "Bạn bè"
-
-#: templates/chat/chat.html:22
-msgid "Other"
-msgstr "Thành viên khác"
-
-#: templates/chat/chat.html:169
-msgid "New message(s)"
-msgstr "Tin nhắn mới"
-
-#: templates/chat/chat.html:435
-msgid "Mute this user and delete all messages?"
-msgstr "Mute người dùng này và xóa tất cả tin nhắn chung?"
-
-#: templates/chat/chat.html:546 templates/chat/chat.html:627
+#: templates/chat/chat.html:83 templates/chat/chat_js.html:497
#: templates/user/base-users-js.html:10
#: templates/user/base-users-two-col.html:19
msgid "Search by handle..."
msgstr "Tìm kiếm theo tên..."
-#: templates/chat/chat.html:612 templates/chat/chat.html:619
-msgid "Online Users"
-msgstr "Trực tuyến"
-
-#: templates/chat/chat.html:648
+#: templates/chat/chat.html:103
msgid "Emoji"
msgstr ""
-#: templates/chat/chat.html:649
+#: templates/chat/chat.html:104
msgid "Enter your message"
msgstr "Nhập tin nhắn"
+#: templates/chat/chat_js.html:3
+msgid "Recent"
+msgstr "Gần đây"
+
+#: templates/chat/chat_js.html:4
+msgid "Following"
+msgstr "Bạn bè"
+
+#: templates/chat/chat_js.html:6
+msgid "Other"
+msgstr "Thành viên khác"
+
+#: templates/chat/chat_js.html:121
+msgid "New message(s)"
+msgstr "Tin nhắn mới"
+
+#: templates/chat/chat_js.html:387
+msgid "Mute this user and delete all messages?"
+msgstr "Mute người dùng này và xóa tất cả tin nhắn chung?"
+
#: templates/chat/message.html:20 templates/fine_uploader/script.html:25
#: templates/organization/blog/edit.html:37
msgid "Delete"
@@ -4005,8 +4002,8 @@ msgstr "G:i T, j F, Y"
#: templates/contest/contest-datetime.html:39
#, python-format
msgid ""
-"%(time_limit)s window between %(start_time)s and "
-"%(end_time)s"
+"%(time_limit)s window between %(start_time)s and "
+"%(end_time)s"
msgstr ""
"Kéo dài %(time_limit)s từ %(start_time)s đến %(end_time)s"
"b>"
@@ -4066,7 +4063,7 @@ msgstr "Nhân bản"
msgid "Leave contest"
msgstr "Rời kỳ thi"
-#: templates/contest/contest.html:42 templates/contest/list.html:401
+#: templates/contest/contest.html:42 templates/contest/list.html:408
msgid "Virtual join"
msgstr "Tham gia ảo"
@@ -4091,7 +4088,7 @@ msgid "AC Rate"
msgstr "Tỷ lệ AC"
#: templates/contest/contest.html:103 templates/contest/list.html:242
-#: templates/contest/list.html:291 templates/contest/list.html:378
+#: templates/contest/list.html:291 templates/contest/list.html:385
#: templates/problem/list.html:24
msgid "Users"
msgstr "Người nộp"
@@ -4160,7 +4157,7 @@ msgid "Active Contests"
msgstr "Kỳ thi bạn đang tham gia"
#: templates/contest/list.html:241 templates/contest/list.html:290
-#: templates/contest/list.html:333 templates/contest/list.html:375
+#: templates/contest/list.html:338 templates/contest/list.html:382
msgid "Contest"
msgstr "Kỳ thi"
@@ -4174,22 +4171,30 @@ msgstr "Cửa số thi còn %(countdown)s"
msgid "Ends in %(countdown)s"
msgstr "Kết thúc trong %(countdown)s"
-#: templates/contest/list.html:284
+#: templates/contest/list.html:283
msgid "Ongoing Contests"
msgstr "Kỳ thi đang diễn ra"
-#: templates/contest/list.html:326
+#: templates/contest/list.html:324
+msgid "There is no ongoing contest at this time."
+msgstr "Không có kỳ thi nào đang diễn ra hiện tại."
+
+#: templates/contest/list.html:331
msgid "Upcoming Contests"
msgstr "Kỳ thi sắp tới"
-#: templates/contest/list.html:357
-msgid "There are no scheduled contests at this time."
+#: templates/contest/list.html:363
+msgid "There is no scheduled contest at this time."
msgstr "Không có kỳ thi nào được lên lịch hiện tại."
-#: templates/contest/list.html:364
+#: templates/contest/list.html:370
msgid "Past Contests"
msgstr "Kỳ thi trong quá khứ"
+#: templates/contest/list.html:423
+msgid "There is no past contest."
+msgstr "Không có kỳ thi nào trong quá khứ."
+
#: templates/contest/media-js.html:147
msgid "Are you sure you want to leave?"
msgstr "Bạn có chắc muốn rời?"
@@ -4324,7 +4329,7 @@ msgstr "Còn"
msgid "Upcoming contests"
msgstr "Kỳ thi sắp diễn ra"
-#: templates/email_change/email_change.html:19
+#: templates/email_change/email_change.html:15
msgid "Verify Email"
msgstr "Xác thực Email"
@@ -4913,7 +4918,7 @@ msgid "Memory limit:"
msgstr "Bộ nhớ:"
#: templates/problem/problem.html:244 templates/problem/raw.html:67
-#: templates/submission/status-testcases.html:160
+#: templates/submission/status-testcases.html:155
msgid "Input:"
msgstr "Input:"
@@ -4922,7 +4927,7 @@ msgid "stdin"
msgstr "bàn phím"
#: templates/problem/problem.html:250 templates/problem/raw.html:70
-#: templates/submission/status-testcases.html:164
+#: templates/submission/status-testcases.html:159
msgid "Output:"
msgstr "Output:"
@@ -5427,84 +5432,84 @@ msgstr "Xem mã nguồn"
msgid "Resubmit"
msgstr "Nộp lại"
-#: templates/submission/status-testcases.html:10
+#: templates/submission/status-testcases.html:5
msgid "We are waiting for a suitable judge to process your submission..."
msgstr "Các máy chấm đang bận. Hãy kiên nhẫn chờ đợi một chút..."
-#: templates/submission/status-testcases.html:12
+#: templates/submission/status-testcases.html:7
msgid "Your submission is being processed..."
msgstr "Đang chấm..."
-#: templates/submission/status-testcases.html:14
+#: templates/submission/status-testcases.html:9
msgid "Compilation Error"
msgstr "Lỗi biên dịch"
-#: templates/submission/status-testcases.html:18
+#: templates/submission/status-testcases.html:13
msgid "Compilation Warnings"
msgstr "Cảnh báo khi biên dịch"
-#: templates/submission/status-testcases.html:23
+#: templates/submission/status-testcases.html:18
msgid "Pretest Execution Results"
msgstr "Kết quả chấm Pretest"
-#: templates/submission/status-testcases.html:25
+#: templates/submission/status-testcases.html:20
msgid "Execution Results"
msgstr "Kết quả chấm"
-#: templates/submission/status-testcases.html:32
-#: templates/submission/status-testcases.html:47
-#: templates/submission/status-testcases.html:98
+#: templates/submission/status-testcases.html:27
+#: templates/submission/status-testcases.html:42
+#: templates/submission/status-testcases.html:93
msgid "Batch "
msgstr "Nhóm "
-#: templates/submission/status-testcases.html:37
-#: templates/submission/status-testcases.html:39
-#: templates/submission/status-testcases.html:124
+#: templates/submission/status-testcases.html:32
+#: templates/submission/status-testcases.html:34
+#: templates/submission/status-testcases.html:119
msgid "Case"
msgstr "Test"
-#: templates/submission/status-testcases.html:58
+#: templates/submission/status-testcases.html:53
msgid "Overall: "
msgstr "Tổng cộng: "
-#: templates/submission/status-testcases.html:72
+#: templates/submission/status-testcases.html:67
msgid "Point: "
msgstr "Điểm: "
-#: templates/submission/status-testcases.html:77
+#: templates/submission/status-testcases.html:72
msgid "Time: "
msgstr "Thời gian: "
-#: templates/submission/status-testcases.html:86
+#: templates/submission/status-testcases.html:81
msgid "Memory: "
msgstr "Bộ nhớ: "
-#: templates/submission/status-testcases.html:109
-#: templates/submission/status-testcases.html:138
+#: templates/submission/status-testcases.html:104
+#: templates/submission/status-testcases.html:133
msgid "Point"
msgstr "Điểm"
-#: templates/submission/status-testcases.html:126
+#: templates/submission/status-testcases.html:121
msgid "Pretest"
msgstr "Pretest"
-#: templates/submission/status-testcases.html:128
+#: templates/submission/status-testcases.html:123
msgid "Test case"
msgstr "Test"
-#: templates/submission/status-testcases.html:168
+#: templates/submission/status-testcases.html:163
msgid "Answer:"
msgstr "Kết quả:"
-#: templates/submission/status-testcases.html:173
+#: templates/submission/status-testcases.html:168
msgid "Judge feedback:"
msgstr "Phản hồi từ máy chấm:"
-#: templates/submission/status-testcases.html:195
+#: templates/submission/status-testcases.html:190
msgid "Passing pretests does not guarantee a full score on system tests."
msgstr "AC pretest không đồng nghĩa AC cả bài nhé :))"
-#: templates/submission/status-testcases.html:198
+#: templates/submission/status-testcases.html:193
msgid "Submission aborted!"
msgstr "Đã hủy chấm bài nộp!"
@@ -5909,6 +5914,9 @@ msgstr "Thông tin"
msgid "Check all"
msgstr "Chọn tất cả"
+#~ msgid "0 to not show testcases, 1 to show"
+#~ msgstr "0 để ẩn test, 1 để hiện"
+
#~ msgid "{settings.SITE_NAME} - Email Change Request"
#~ msgstr "{settings.SITE_NAME} - Thay đổi email"
@@ -5942,8 +5950,8 @@ msgstr "Chọn tất cả"
#~ msgstr "bình luận nữa"
#~ msgid ""
-#~ "This comment is hidden due to too much negative feedback. Click here to view it."
+#~ "This comment is hidden due to too much negative feedback. Click here to view it."
#~ msgstr ""
#~ "Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở."
@@ -6178,9 +6186,6 @@ msgstr "Chọn tất cả"
#~ msgid "Organization news"
#~ msgstr "Tin tức tổ chức"
-#~ msgid "There is no news at this time."
-#~ msgstr "Không có tin tức."
-
#~ msgid "Admin organization"
#~ msgstr "Trang admin tổ chức"