diff --git a/locale/vi/LC_MESSAGES/django.po b/locale/vi/LC_MESSAGES/django.po index cca05b9..4b9e6d3 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-10-28 04:45+0700\n" +"POT-Creation-Date: 2023-11-01 13:59+0700\n" "PO-Revision-Date: 2021-07-20 03:44\n" "Last-Translator: Icyene\n" "Language-Team: Vietnamese\n" @@ -2605,59 +2605,59 @@ msgstr "Chỉnh sửa bài nộp" msgid "Recalculating user points" msgstr "Tính lại điểm người dùng" -#: judge/utils/problem_data.py:71 +#: judge/utils/problem_data.py:73 msgid "Empty batches not allowed." msgstr "Nhóm test trống là không hợp lệ." -#: judge/utils/problem_data.py:79 judge/utils/problem_data.py:87 -#: judge/utils/problem_data.py:102 +#: judge/utils/problem_data.py:81 judge/utils/problem_data.py:89 +#: judge/utils/problem_data.py:104 msgid "How did you corrupt the custom checker path?" msgstr "How did you corrupt the custom checker path?" -#: judge/utils/problem_data.py:130 +#: judge/utils/problem_data.py:132 #, python-format msgid "Points must be defined for non-batch case #%d." msgstr "Ô điểm số cho test #%d phải được điền." -#: judge/utils/problem_data.py:137 +#: judge/utils/problem_data.py:139 #, python-format msgid "Input file for case %d does not exist: %s" msgstr "File input cho test %d không tồn tại: %s" -#: judge/utils/problem_data.py:142 +#: judge/utils/problem_data.py:144 #, python-format msgid "Output file for case %d does not exist: %s" msgstr "File output cho test %d không tồn tại: %s" -#: judge/utils/problem_data.py:169 +#: judge/utils/problem_data.py:171 #, python-format msgid "Batch start case #%d requires points." msgstr "Nhóm test #%d cần được điền điểm số." -#: judge/utils/problem_data.py:192 +#: judge/utils/problem_data.py:194 #, python-format msgid "Attempt to end batch outside of one in case #%d" msgstr "Nhóm test #%d kết thúc không hợp lệ" -#: judge/utils/problem_data.py:211 +#: judge/utils/problem_data.py:213 msgid "How did you corrupt the zip path?" msgstr "" -#: judge/utils/problem_data.py:217 +#: judge/utils/problem_data.py:219 msgid "How did you corrupt the generator path?" msgstr "" -#: judge/utils/problem_data.py:235 +#: judge/utils/problem_data.py:237 msgid "Invalid interactor judge" msgstr "" -#: judge/utils/problem_data.py:259 +#: judge/utils/problem_data.py:261 #, fuzzy #| msgid "Invalid Return" msgid "Invalid signature handler" msgstr "Invalid Return" -#: judge/utils/problem_data.py:262 +#: judge/utils/problem_data.py:264 msgid "Invalid signature header" msgstr "" @@ -2759,7 +2759,7 @@ msgid "Editing comment" msgstr "Chỉnh sửa bình luận" #: judge/views/contests.py:123 judge/views/contests.py:386 -#: judge/views/contests.py:391 judge/views/contests.py:683 +#: judge/views/contests.py:391 judge/views/contests.py:685 msgid "No such contest" msgstr "Không có contest nào như vậy" @@ -2785,118 +2785,118 @@ msgstr "Không tìm thấy kỳ thi nào như vậy." msgid "Access to contest \"%s\" denied" msgstr "Truy cập tới kỳ thi \"%s\" bị từ chối" -#: judge/views/contests.py:466 +#: judge/views/contests.py:468 msgid "Clone Contest" msgstr "Nhân bản kỳ thi" -#: judge/views/contests.py:557 +#: judge/views/contests.py:559 msgid "Contest not ongoing" msgstr "Kỳ thi đang không diễn ra" -#: judge/views/contests.py:558 +#: judge/views/contests.py:560 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" kỳ thi đang không diễn ra." -#: judge/views/contests.py:565 +#: judge/views/contests.py:567 msgid "Already in contest" msgstr "Đã ở trong kỳ thi" -#: judge/views/contests.py:566 +#: judge/views/contests.py:568 #, python-format msgid "You are already in a contest: \"%s\"." msgstr "Bạn đã ở trong kỳ thi: \"%s\"." -#: judge/views/contests.py:576 +#: judge/views/contests.py:578 msgid "Banned from joining" msgstr "Bị cấm tham gia" -#: judge/views/contests.py:578 +#: judge/views/contests.py:580 msgid "" "You have been declared persona non grata for this contest. You are " "permanently barred from joining this contest." msgstr "Bạn không được phép tham gia kỳ thi này." -#: judge/views/contests.py:667 +#: judge/views/contests.py:669 #, python-format msgid "Enter access code for \"%s\"" msgstr "Nhập mật khẩu truy cập cho \"%s\"" -#: judge/views/contests.py:684 +#: judge/views/contests.py:686 #, python-format msgid "You are not in contest \"%s\"." msgstr "Bạn không ở trong kỳ thi \"%s\"." -#: judge/views/contests.py:707 +#: judge/views/contests.py:709 msgid "ContestCalendar requires integer year and month" msgstr "Lịch thi yêu cầu giá trị cho năm và tháng là số nguyên" -#: judge/views/contests.py:765 +#: judge/views/contests.py:767 #, python-format msgid "Contests in %(month)s" msgstr "Các kỳ thi trong %(month)s" -#: judge/views/contests.py:766 +#: judge/views/contests.py:768 msgid "F Y" msgstr "F Y" -#: judge/views/contests.py:826 +#: judge/views/contests.py:828 #, python-format msgid "%s Statistics" msgstr "%s Thống kê" -#: judge/views/contests.py:1122 +#: judge/views/contests.py:1124 #, python-format msgid "%s Rankings" msgstr "%s Bảng điểm" -#: judge/views/contests.py:1133 +#: judge/views/contests.py:1135 msgid "???" msgstr "???" -#: judge/views/contests.py:1160 +#: judge/views/contests.py:1162 #, python-format msgid "Your participation in %s" msgstr "Lần tham gia trong %s" -#: judge/views/contests.py:1161 +#: judge/views/contests.py:1163 #, python-format msgid "%s's participation in %s" msgstr "Lần tham gia của %s trong %s" -#: judge/views/contests.py:1175 +#: judge/views/contests.py:1177 msgid "Live" msgstr "Trực tiếp" -#: judge/views/contests.py:1194 templates/contest/contest-tabs.html:21 +#: judge/views/contests.py:1196 templates/contest/contest-tabs.html:21 msgid "Participation" msgstr "Lần tham gia" -#: judge/views/contests.py:1243 +#: judge/views/contests.py:1245 #, python-format msgid "%s MOSS Results" msgstr "%s Kết quả MOSS" -#: judge/views/contests.py:1279 +#: judge/views/contests.py:1281 #, python-format msgid "Running MOSS for %s..." msgstr "Đang chạy MOSS cho %s..." -#: judge/views/contests.py:1302 +#: judge/views/contests.py:1304 #, python-format msgid "Contest tag: %s" msgstr "Nhãn kỳ thi: %s" -#: judge/views/contests.py:1317 judge/views/ticket.py:67 +#: judge/views/contests.py:1319 judge/views/ticket.py:67 msgid "Issue description" msgstr "Mô tả vấn đề" -#: judge/views/contests.py:1360 +#: judge/views/contests.py:1362 #, python-format msgid "New clarification for %s" msgstr "Thông báo mới cho %s" -#: judge/views/contests.py:1466 +#: judge/views/contests.py:1468 #, fuzzy #| msgid "contest summary" msgid "Contests Summary" @@ -3251,39 +3251,39 @@ msgstr "Nộp bài cho %(problem)s" msgid "Clone Problem" msgstr "Nhân bản bài tập" -#: judge/views/problem_data.py:70 +#: judge/views/problem_data.py:71 msgid "Checker arguments must be a JSON object" msgstr "" -#: judge/views/problem_data.py:72 +#: judge/views/problem_data.py:73 msgid "Checker arguments is invalid JSON" msgstr "" -#: judge/views/problem_data.py:79 +#: judge/views/problem_data.py:80 msgid "Your zip file is invalid!" msgstr "File Zip không hợp lệ!" -#: judge/views/problem_data.py:169 +#: judge/views/problem_data.py:170 #, python-brace-format msgid "Comparing submissions for {0}" msgstr "So sánh các bài nộp cho {0}" -#: judge/views/problem_data.py:173 +#: judge/views/problem_data.py:174 #, python-brace-format msgid "Comparing submissions for {0}" msgstr "So sánh các bài nộp cho {0}" -#: judge/views/problem_data.py:210 +#: judge/views/problem_data.py:211 #, python-brace-format msgid "Editing data for {0}" msgstr "Chỉnh sửa dữ liệu cho {0}" -#: judge/views/problem_data.py:214 +#: judge/views/problem_data.py:215 #, python-format msgid "Editing data for %s" msgstr "Chỉnh sửa dữ liệu cho %s" -#: judge/views/problem_data.py:344 judge/views/problem_data.py:346 +#: judge/views/problem_data.py:348 judge/views/problem_data.py:350 #, python-format msgid "Generated init.yml for %s" msgstr "File init.yml cho %s" @@ -3596,6 +3596,10 @@ msgstr "Chia sẻ" msgid "Report" msgstr "Báo cáo" +#: templates/actionbar/media-js.html:116 +msgid "Copied link" +msgstr "Đã sao chép link" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "Bạn có muốn chấm lại tất cả bài nộp?" diff --git a/resources/blog.scss b/resources/blog.scss index 4c57cfe..265ebb9 100644 --- a/resources/blog.scss +++ b/resources/blog.scss @@ -147,8 +147,9 @@ } } -.blog-box:hover { +.blog-box:hover, .blog-box:not(.pre-expand-blog) { border-color: #8a8a8a; + box-shadow: 0 0 2px rgba(0, 0, 0, 0.1); } .blog-description { diff --git a/resources/comments.scss b/resources/comments.scss index 05ef84f..dd2fe50 100644 --- a/resources/comments.scss +++ b/resources/comments.scss @@ -269,10 +269,10 @@ a { .actionbar-button { cursor: pointer; padding: 0.8em; - border: 0.2px solid lightgray; border-radius: 5em; font-weight: bold; display: inherit; + background: lightgray; } .actionbar-block { display: flex; @@ -287,7 +287,7 @@ a { border-radius: 5em 0 0 5em; } .actionbar-button:hover { - background: lightgray; + background: darkgray; } .dislike-button { padding-left: 0.5em; diff --git a/templates/actionbar/media-js.html b/templates/actionbar/media-js.html index e4f281e..f1dec97 100644 --- a/templates/actionbar/media-js.html +++ b/templates/actionbar/media-js.html @@ -113,7 +113,7 @@ navigator.clipboard .writeText(link) .then(() => { - showTooltip(element, "Copied link", 'n'); + showTooltip(element, "{{_('Copied link')}}", 'n'); }); }; diff --git a/templates/chat/chat_css.html b/templates/chat/chat_css.html index a03d481..fa54ef8 100644 --- a/templates/chat/chat_css.html +++ b/templates/chat/chat_css.html @@ -10,7 +10,15 @@ } ::-webkit-scrollbar { - width: 20px; + width: 16px; + background-color: transparent !important; + } + + #chat-input::-webkit-scrollbar { + width: 22px; + } + #chat-input::-webkit-scrollbar-thumb { + border: 10px solid transparent; } ::-webkit-scrollbar-track { @@ -144,9 +152,11 @@ transition: box-shadow 0.3s ease-in-out; width: 80%; resize: none; - height: 80%; + height: 70%; max-height: 200px; overflow-y: auto; + margin-top: auto; + margin-bottom: 6px; } #chat-input:focus { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); diff --git a/templates/chat/chat_js.html b/templates/chat/chat_js.html index 5c467f8..9d728a4 100644 --- a/templates/chat/chat_js.html +++ b/templates/chat/chat_js.html @@ -561,7 +561,7 @@ this.style.height = (this.scrollHeight) + 'px'; $(this).css('border-radius', '30px'); } else { - $(this).css('height', '80%'); + $(this).css('height', '70%'); } });