From 69656a44bec5961570e69fa1768f56dad29cc681 Mon Sep 17 00:00:00 2001 From: dmoj-build Date: Tue, 4 Feb 2025 00:54:16 +0000 Subject: [PATCH] i18n: update translations from Crowdin --- locale/ar/LC_MESSAGES/django.po | 953 +++++++----- locale/ca/LC_MESSAGES/django.po | 957 +++++++----- locale/de/LC_MESSAGES/django.po | 953 +++++++----- locale/el/LC_MESSAGES/django.po | 959 +++++++----- locale/en/LC_MESSAGES/django.po | 957 +++++++----- locale/es/LC_MESSAGES/django.po | 955 +++++++----- locale/fr/LC_MESSAGES/django.po | 959 +++++++----- locale/hi/LC_MESSAGES/django.po | 953 +++++++----- locale/hr/LC_MESSAGES/django.po | 955 +++++++----- locale/hu/LC_MESSAGES/django.po | 955 +++++++----- locale/it/LC_MESSAGES/django.po | 953 +++++++----- locale/ja/LC_MESSAGES/django.po | 2086 ++++++++++++++------------ locale/ja/LC_MESSAGES/djangojs.po | 22 +- locale/kk/LC_MESSAGES/django.po | 963 +++++++----- locale/ko/LC_MESSAGES/django.po | 957 +++++++----- locale/lt/LC_MESSAGES/django.po | 953 +++++++----- locale/nl/LC_MESSAGES/django.po | 953 +++++++----- locale/pl/LC_MESSAGES/django.po | 953 +++++++----- locale/pt/LC_MESSAGES/django.po | 953 +++++++----- locale/ro/LC_MESSAGES/django.po | 961 +++++++----- locale/ru/LC_MESSAGES/django.po | 955 +++++++----- locale/sr_Latn/LC_MESSAGES/django.po | 955 +++++++----- locale/tr/LC_MESSAGES/django.po | 955 +++++++----- locale/vi/LC_MESSAGES/django.po | 965 +++++++----- locale/zh_Hans/LC_MESSAGES/django.po | 984 +++++++----- locale/zh_Hant/LC_MESSAGES/django.po | 1258 +++++++++------- 26 files changed, 15214 insertions(+), 10168 deletions(-) diff --git a/locale/ar/LC_MESSAGES/django.po b/locale/ar/LC_MESSAGES/django.po index 92a9d62a64..8a6c45c9ed 100644 --- a/locale/ar/LC_MESSAGES/django.po +++ b/locale/ar/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Arabic, Saudi Arabia\n" "Language: ar_SA\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "الكاتالونية" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "الألمانية" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "الانجليزية" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "الإسبانية" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "الفرنسية" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "الكرواتية" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "الهنغارية" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "يابانية" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "الكورية" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "البرتغالية" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "" @@ -148,63 +148,63 @@ msgstr[5] "" msgid "associated page" msgstr "" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "مسألة" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "الإعدادات" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "الجدول الزمني" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "تفاصيل" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "التقييم" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "الولوج" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "العدالة" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." @@ -215,11 +215,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." @@ -230,11 +230,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." @@ -245,11 +245,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." @@ -260,7 +260,7 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." @@ -271,11 +271,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." @@ -286,11 +286,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "اسم المستخدم" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "افتراضي" @@ -302,9 +302,9 @@ msgstr "سبيل الرابط" msgid "Summary" msgstr "ملخص" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -314,57 +314,57 @@ msgstr "مستخدم" msgid "object" msgstr "عنصر" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." @@ -375,11 +375,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." @@ -390,11 +390,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." @@ -405,31 +405,31 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." @@ -440,26 +440,26 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "" @@ -475,39 +475,39 @@ msgstr "" msgid "Unaccepted" msgstr "" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." @@ -518,38 +518,38 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -569,20 +569,20 @@ msgstr "" msgid "Online Judge" msgstr "" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "" @@ -675,7 +675,7 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." @@ -686,31 +686,31 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." @@ -721,91 +721,91 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -814,6 +814,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -895,7 +955,7 @@ msgid "comments" msgstr "" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "" @@ -949,7 +1009,7 @@ msgstr "" msgid "contest tag" msgstr "" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "" @@ -1025,12 +1085,12 @@ msgstr "" msgid "description" msgstr "" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "" @@ -1039,7 +1099,7 @@ msgid "end time" msgstr "" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "" @@ -1111,380 +1171,380 @@ msgstr "" msgid "rate all" msgstr "" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." +#: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." msgstr "" -#: judge/models/contest.py:118 +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1536,7 +1596,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1702,7 +1762,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "" @@ -1818,111 +1878,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -3074,40 +3138,40 @@ msgstr "" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3116,111 +3180,111 @@ msgstr "" msgid "Contests" msgstr "" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3677,52 +3741,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3785,7 +3849,7 @@ msgstr "" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3827,7 +3891,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3878,12 +3942,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3903,13 +4093,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3972,7 +4162,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -4085,7 +4275,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4121,45 +4311,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4172,15 +4369,15 @@ msgstr "" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4286,7 +4483,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4487,7 +4684,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4540,7 +4737,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "" @@ -4563,10 +4760,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4903,10 +5108,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5635,7 +5836,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5685,17 +5886,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5704,7 +5905,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5722,12 +5923,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -6094,144 +6295,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/ca/LC_MESSAGES/django.po b/locale/ca/LC_MESSAGES/django.po index 554d49e20f..3d383a714d 100644 --- a/locale/ca/LC_MESSAGES/django.po +++ b/locale/ca/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Catalan\n" "Language: ca_ES\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Català" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Alemany" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Grec" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Anglès" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Castellà" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Francès" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Croat" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Hongarès" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japonès" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazakh" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Coreà" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Portuguès (Brasil)" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Romanès" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Rus" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Serbi (llatí)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Turc" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vietnamita" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Xinès simplificat" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Xinès tradicional" @@ -140,125 +140,125 @@ msgstr[1] "Comentaris %d mostrats amb èxit." msgid "associated page" msgstr "pàgina associada" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Concursos inclosos" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Problema" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Problemes" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Rejutjar" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Ajustaments" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Planificador" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Detalls" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Format" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Puntuació" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Accés" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Justícia" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Fer els concursos visibles" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "Concurs %d marcat com a visible amb èxit." msgstr[1] "Concursos %d marcats com a visibles amb èxit." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Fer els concursos invisibles" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "Concurs %d marcat com a ocult amb èxit." msgstr[1] "Concursos %d marcats com a ocults amb èxit." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Bloqueja els enviaments al concurs" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "Concurs %d bloquejat amb èxit." msgstr[1] "Concursos %d bloquejats amb èxit." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Desbloqueja els enviaments al concurs" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "Concurs %d desbloquejat amb èxit." msgstr[1] "Concursos %d desbloquejats amb èxit." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "Enviament %d s'ha planificat per a ser rejutjat amb èxit." msgstr[1] "Enviaments %d s'han planificat per a ser rejutjats amb èxit." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Recalcular els resultats" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "Participació %d recalculada." msgstr[1] "Participacions %d recalculades." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "nom d'usuari" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "virtual" @@ -270,9 +270,9 @@ msgstr "path a l'enllaç" msgid "Summary" msgstr "Resum" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "usuari" msgid "object" msgstr "objecte" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Veure-ho al lloc web" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Descriu els canvis que has fet (opcional)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Xarxes Socials" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Taxonomia" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Punts" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Límits" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Llenguatge" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Historial" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "autors/es" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Posa la data de publicació a ara" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "La data de publicació del problema %d ha estat actualitzada correctament." msgstr[1] "La data de publicació dels problemes %d ha estat actualitzada correctament." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Marca els problemes com a públics" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "Problema %d marcat com a públic amb èxit." msgstr[1] "Problemes %d marcats com a públic amb èxit." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Marca els problemes com a privats" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "Problema %d marcat com a privat amb èxit." msgstr[1] "Problemes %d marcats com a privats amb èxit." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "problema" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "zona horària" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "correu electrònic" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "data quan es va unir" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Recalcular les puntuacions" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "S'ha recalculat la puntuació de l'usuari %d." msgstr[1] "S'ha recalculat la puntuació dels usuaris %d." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Regenera" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Descripció" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Informació" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Característiques" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Cap" @@ -427,77 +427,77 @@ msgstr "Excepcional" msgid "Unaccepted" msgstr "No acceptat" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s en %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Rejutja els enviaments seleccionats" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "No tens permís per rejutjar enviaments." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "No tens permís per rejutjar TANTS enviaments." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Requalifica els enviaments seleccionats" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "Enviament %d ha estat requalificat amb èxit." msgstr[1] "Enviaments %d han estat requalificats amb èxit." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "codi del problema" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "nom del problema" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "temps" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "memòria" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "llenguatge" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "Bloquejat" @@ -517,20 +517,20 @@ msgstr "Aquests problemes estan inclosos en aquest Tipus." msgid "Online Judge" msgstr "Jutge Online" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Cos del comentari" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "No se suposa que hagis de parlar, patufet." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Comentari publicat" @@ -615,129 +615,129 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "IOI (abans del 2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "Els tokens d'autenticació en dos passos han de ser d'{count} dígit decimal." msgstr[1] "Els tokens d'autenticació en dos passos han de ser de {count} dígits decimals." -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Token d'autenticació en dos passos invàlid." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "Els codis Scratch han de ser de 16 caràcters en Base32." -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "El codi Scratch no és vàlid." -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Subscriure's als canvis en els concursos" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Activa les actualitzacions experimentals" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "No pots formar part de més d'{count} organització pública." msgstr[1] "No pots formar part de més de {count} organitzacions públiques." -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Descarregar comentaris?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "Descarregar enviaments?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "Filtrar per el glob del codi de problema:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "Deixar-ho buit per a incluir tots els enviaments" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Filtra per resultats:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "Siusplau, seleccioneu com a mínim una cosa a descarregar." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Qualsevol jutge" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Nom d'usuari" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Contrasenya" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "Longitud del codi invàlida." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "Resposta WebAuthn invàlida." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "No hi ha hagut resposta WebAuthn." -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "Credencial WebAuthn invàlida." -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "Token d'autenticació en dos passos o codi Scratch invàlid." -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "S'ha d'especificar un totp_token o una webauthn_response." -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "El codi del problema ha de ser ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "Ja existeix un problema amb aquest codi." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "La id del concurs ha de ser ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Ja existeix un concurs amb aquesta clau." @@ -746,6 +746,66 @@ msgstr "Ja existeix un concurs amb aquesta clau." msgid "N j, Y, g:i a" msgstr "j N Y, G:i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -827,7 +887,7 @@ msgid "comments" msgstr "comentaris" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Editorial de %s" @@ -881,7 +941,7 @@ msgstr "descripció d'etiqueta" msgid "contest tag" msgstr "etiqueta de concurs" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "etiquetes de concurs" @@ -957,12 +1017,12 @@ msgstr "" msgid "description" msgstr "descripció" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "problemes" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "hora d'inici" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "hora de finalització" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "límit de temps" @@ -1043,380 +1103,380 @@ msgstr "" msgid "rate all" msgstr "qualificar tots" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Qualificar tots els usuaris que s'han unit." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "exclou de les qualificacions" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "privat per a usuaris específics" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "concursants privats" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "amagar etiquets dels problemes" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Si les etiquetes dels problemes han d'estar amagades per defecte." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "executa només els casos de prova preliminars" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "Si els jutges han de jutjar només els casos de prova preliminars o tots els casos de prova. Generalment es posa en un concurs online, i després es treu per a jutjar tots els enviaments a l'acabament del concurs." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "privat per a organitzacions" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "organitzacions" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "imatge OpenGraph" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "imatge que sobreescriu el logo" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "Aquesta imatge reemplaçarà el logo per defecte a tots els usuaris en el concurs." -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "la quantitat de participans en viu" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "resum del concurs" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "Text pla, que surt en l'etiqueta de meta descripció, per exemple per Xarxes Socials." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "codi d'accés" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "Un codi opcional que se li demana als concursants abans de que se'ls permeti participar. Deixa-ho buit per a desactivar-ho." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "persones non grates" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "Baneja als usuaris per a unir-se al concurs." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "format del concurs" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "El modul de format del concurs que es farà servir." -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "configuració del format del concurs" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "Un objecte JSON que es fa servir com la configuració per al mòdul de format del concurs seleccionat. Deixa-ho buit per fer servir None. El format exacte depèn del format del concurs seleccionat." -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "bloqueig del concurs" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Veure concursos privats" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Editar els concursos propis" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Editar tots els concursos" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "Clonar concurs" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "Passar el MOSS al concurs" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Puntuar concursos" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "Codi d'accés al concurs" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "Crear concursos privats" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "Canviar la visibilitat d'un concurs" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "Editar el script d'etiquetat del problema d'un concurs" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "Canviar el estatus de bloqueig del concurs" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "concurs" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "concursos" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "concurs associat" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "puntuació" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "temps acumulat" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "està desqualificat" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "Si aquest participant ha estat desqualificat." -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "camp de desempat" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "id de participació virtual" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 significa no virtual. En cas contrari la n-èssima participació virtual." -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "dades específiques del format del concurs" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "participació al concurs" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "participacions al concurs" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "punts" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "parcial" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "s'han passat els casos de prova preliminars" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "ordre" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "sobreescriptura de la longitud de prefix de sortida" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "Nombre màxim d'enviaments per a aquest problema, o deixa-ho en blanc per a no posar límit." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "Per què incloure un problema al que no pots fer enviaments?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "problema del concurs" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "problemes del concurs" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "enviament" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "participació" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Si aquest enviament ha estat provat només en casos preliminars." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "enviament de concurs" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "enviaments de concurs" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "classificació" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "puntuació" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "última puntuació" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "puntuació del concurs" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "puntuacions del concurs" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "resultat del MOSS del concurs" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "resultats del MOSS del concurs" @@ -1468,7 +1528,7 @@ msgstr "títol de l'entrada" msgid "slug" msgstr "identificador únic" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "visibilitat pública" @@ -1634,7 +1694,7 @@ msgstr "El grup del problema, tal i com es mostra en la llista de problemes com msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "El temps límit per aquest problema, en segons. Les fraccions (1.5) estan permeses." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "límit de memòria" @@ -1750,111 +1810,115 @@ msgstr "Cambiar camp is_manually_managed" msgid "See organization-private problems" msgstr "Veure els problemes privats per a organitzacions" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "Crear problemes privats" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "nom traduït" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "descripció traduïda" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "traducció del problema" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "traduccions del problema" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "problema aclarit" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "cos de l'aclariment" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "marca de temps de l'aclariment" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "límit de recursos específics per llenguatge" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "límits de recursos específics per llenguatge" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "problema associat" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "data de publicació" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "contingut de l'editorial" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "Veure solucions ocultes" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "solució" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "solucions" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "votant" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "nota" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "vot del problema" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "vots del problema" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -2994,40 +3058,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "Pàgina %d d'Entradres" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "Toquetejant-me el programa, eh?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "Has de resoldre com a mínim un problema abans de poder votar." -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Ja has votat." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "Editat des de'l lloc web" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "Editant comentari" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "No es troba aquest concurs" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "No s'ha pogut trobar un concurs amb la clau \"%s\"." @@ -3036,111 +3100,111 @@ msgstr "No s'ha pogut trobar un concurs amb la clau \"%s\"." msgid "Contests" msgstr "Concursos" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "No es troba aquest concurs." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "S'ha denegat l'accés al concurs \"%s\"" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "Clonar Concurs" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "El concurs no està en curs" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" no està en curs actualment." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "BANEJAT" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "Has estat declarat persona non grata per aquest concurs. Estas vetat permanentment." -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "Entra el codi d'accés per a \"%s\"" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "No estas en el concurs \"%s\"." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "Concursos en %(month)s" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "F Y" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "Estadístiques de %s" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "Classificacions de %s" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "La teva participació en %(contest)s" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "Participació de %(user)s en %(contest)s" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "En directe" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Participació" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "Resultats del MOSS per a %s" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "Executant sistema anticòpia MOSS per a %s..." -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "Etiqueta de concurs: %s" @@ -3577,52 +3641,52 @@ msgstr "Els enviaments de {user} per {problem} en {contest}" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "Els enviaments de {user} per al problema {number} en {contest}" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Títol del ticket" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Descripció del problema" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." -msgstr "" +msgstr "Has de resoldre com a mínim un problema abans de poder crear un ticket." -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "Nou ticket per a %s" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - Ticket %(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "Tickets - Pàgina %(number)d de %(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "Nou Ticket: %s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d, assignat a: %(users)s" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "ningú" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "Nou missatge de Ticket per a: %s" @@ -3685,7 +3749,7 @@ msgstr "j M Y, G:i" msgid "Preparing your data..." msgstr "Preparant les teves dates..." -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "Descarrega les teves dades" @@ -3727,7 +3791,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3778,12 +3842,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "Esteu segur que voleu rejutjar TOTS els enviaments?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "Puntua" @@ -3803,13 +3993,13 @@ msgstr "Acaba" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "Inhabilita" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "Habilita" @@ -3872,7 +4062,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Editar" @@ -3985,7 +4175,7 @@ msgstr "comentat {time}" msgid "edit %(edits)s" msgstr "edició %(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "editat" @@ -4021,45 +4211,52 @@ msgstr "Nou comentari" msgid "Invalid comment body." msgstr "Cos de comentari invàlid." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "Contestant a comentari" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "edició {edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "original" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "actualitzat" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "Votant" @@ -4072,15 +4269,15 @@ msgstr "Puntuació" msgid "No votes" msgstr "Sense vots" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4186,7 +4383,7 @@ msgstr "Clonar" msgid "Leave contest" msgstr "Deixar concurs" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Unir-se virtualment" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "Tasa de AC" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Usuaris" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "Concursos actius" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Concurs" @@ -4451,10 +4648,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "En aquests moments no hi ha concursos." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Concursos anteriors" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "Cerca concursos..." + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "Estàs segur que vols sortir?" @@ -4787,10 +4992,6 @@ msgstr "Expulsar" msgid "Are you sure you want to kick this user?" msgstr "Estàs segur de que vols expulsar aquest usuari?" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "Entra un nou codi per al problema clonat:" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "Organitzacions afiliades" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "Avisa'm sobre concursos vinents" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "Activar Autenticació en Dos Passos" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "WebAuthn no és suportat pel teu navegador." #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "No s'ha pogut connectar amb el servidor." @@ -5930,144 +6131,144 @@ msgstr "Classificació" msgid "Search by handle..." msgstr "Cerca per l'adreça..." -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "Esteu segur que voleu generar o regenerar el token API?" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "Això invalidarà qualsevol token API anterior." -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "També permet accés a la compta sense l'Autenticació de dos passos." -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "No podràs veure el teu token API després de que deixis aquesta pàgina!" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "Generant..." -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "Elimina" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "Estàs segur que vols suprimir el teu token API?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "Generar" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "Segur que vols suprimir aquesta clau de seguretat?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "No podràs veure els teus codis Scratch després de que deixis aquesta pàgina!" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "Autodescripció:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "Tria la ciutat més propera" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Zona horària:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Llenguatge:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "Tema de l'editor:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Motor matemàtic:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "Organitzacions afiliades:" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "Canviar avatar" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "Canvia la teva contrasenya" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "Token de l'API:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "Ocult" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "S'ha activat l'autenticació de dos passos:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "Codis Scratch:" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "S'ha desactivat l'autenticació de dos passos:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "Claus de seguretat:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "Eliminar" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "Entreu un nom per a aquesta clau" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "Afegir" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "Script d'usuari:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "Actualitzar perfil" diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index c93fd36eb4..3e92a09026 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-10-07 00:57\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Katalanisch" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Deutsch" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Griechisch" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Englisch" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Spanisch" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Französisch" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Kroatisch" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Ungarisch" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japanisch" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kasachisch" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Koreanisch" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Brasilianisches Portugiesisch" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Rumänisch" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Russisch" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Serbisch (Lateinisches Alphabet)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Türkisch" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vietnamesisch" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Chinesisch (vereinfacht)" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Chinesisch (traditionell)" @@ -140,125 +140,125 @@ msgstr[1] "" msgid "associated page" msgstr "Zugehörige Seite" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Problem" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Einstellungen" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Details" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Format" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Bewertung" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Zugang" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "" @@ -270,9 +270,9 @@ msgstr "" msgid "Summary" msgstr "" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "" msgid "object" msgstr "" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Systematik" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Grenzen" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Programmiersprache" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Nicht" @@ -427,77 +427,77 @@ msgstr "" msgid "Unaccepted" msgstr "" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "" msgstr[1] "" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -517,20 +517,20 @@ msgstr "" msgid "Online Judge" msgstr "" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "" @@ -615,129 +615,129 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -746,6 +746,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -827,7 +887,7 @@ msgid "comments" msgstr "" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "" @@ -881,7 +941,7 @@ msgstr "" msgid "contest tag" msgstr "" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "" @@ -957,12 +1017,12 @@ msgstr "" msgid "description" msgstr "" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "" @@ -1043,380 +1103,380 @@ msgstr "" msgid "rate all" msgstr "" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." +#: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." msgstr "" -#: judge/models/contest.py:118 +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1468,7 +1528,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1634,7 +1694,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "" @@ -1750,111 +1810,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -2994,40 +3058,40 @@ msgstr "" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3036,111 +3100,111 @@ msgstr "" msgid "Contests" msgstr "" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3577,52 +3641,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3685,7 +3749,7 @@ msgstr "" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3727,7 +3791,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3778,12 +3842,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3803,13 +3993,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3872,7 +4062,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -3985,7 +4175,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4021,45 +4211,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4072,15 +4269,15 @@ msgstr "" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4186,7 +4383,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "" @@ -4451,10 +4648,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4787,10 +4992,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5930,144 +6131,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/el/LC_MESSAGES/django.po b/locale/el/LC_MESSAGES/django.po index ed7ab38ebe..81bb8bffab 100644 --- a/locale/el/LC_MESSAGES/django.po +++ b/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-28 00:50\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Καταλανικά" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Γερμανικά" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Ελληνικά" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Αγγλικά" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Ισπανικά" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Γαλλικά" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Κροάτικα" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Ουγγρικά" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Ιαπωνικά" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Καζακικά" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Κορεατικά" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Πορτογαλικά Βραζιλίας" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Ρουμανικά" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Ρωσικά" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Σερβικά (Λατινικά)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Τουρκικά" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Βιετναμέζικα" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Απλοποιημένα Κινέζικα" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Παραδοσιακά Κινέζικα" @@ -140,125 +140,125 @@ msgstr[1] "%d σχόλια επανεμφανίστηκαν επιτυχώς." msgid "associated page" msgstr "συσχετιζόμενη σελίδα" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Συμπεριλαμβανόμενοι διαγωνισμοί" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Πρόβλημα" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Προβλήματα" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Κρίση εκ νέου" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Ρυθμίσεις" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Χρονοδρομολόγηση" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Λεπτομέρειες" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Μορφή" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Αξιολόγηση" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Πρόσβαση" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Δικαιοσύνη" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Σήμανση διαγωνισμών ως ορατών" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "%d διαγωνισμός επισημάνθηκε επιτυχώς ως ορατός." msgstr[1] "%d διαγωνισμοί επισημάνθηκαν επιτυχώς ως ορατοί." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Σήμανση διαγωνισμών ως κρυφών" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "%d διαγωνισμός επισημάνθηκε επιτυχώς ως κρυφός." msgstr[1] "%d διαγωνισμοί επισημάνθηκαν επιτυχώς ως κρυφοί." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Κλείδωμα υποβολής διαγωνισμών" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "%d διαγωνισμός κλειδώθηκε επιτυχώς." msgstr[1] "%d διαγωνισμοί κλειδώθηκαν επιτυχώς." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Ξεκλείδωμα υποβολής διαγωνισμών" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "%d διαγωνισμός ξεκλειδώθηκε επιτυχώς." msgstr[1] "%d διαγωνισμοί ξεκλειδώθηκαν επιτυχώς." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "%d υποβολή προγραμματίστηκε επιτυχώς για επανεξέταση." msgstr[1] "%d υποβολές προγραμματίστηκαν επιτυχώς για επανεξέταση." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Επανυπολογισμός αποτελεσμάτων" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "%d συμμετοχή επανυπολογίστηκε." msgstr[1] "%d συμμετοχές επανυπολογίστηκαν." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "όνομα χρήστη" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "εικονικό" @@ -270,9 +270,9 @@ msgstr "διαδρομή συνδέσμου" msgid "Summary" msgstr "Περίληψη" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "χρήστης" msgid "object" msgstr "αντικείμενο" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Προβολή στην ιστοσελίδα" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "Αιτία επεξεργασίας" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Περιγράψτε τις αλλαγές που κάνατε (προαιρετικό)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Κοινωνικά Δίκτυα" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Ταξινομία" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Πόντοι" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Όρια" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Γλώσσα" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Ιστορικό" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "συγγραφείς" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Ορισμός ημερομηνίας δημοσίευσης ως τώρα" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "Η ημερομηνία δημοσίευσης %d του προβλήματος ενημερώθηκε επιτυχώς." msgstr[1] "Η ημερομηνία δημοσίευσης %d των προβλημάτων ενημερώθηκε επιτυχώς." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Επισήμανση προβλημάτων ως δημόσια" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "%d πρόβλημα επισημάνθηκε επιτυχώς ως δημόσιο." msgstr[1] "%d προβλήματα επισημάνθηκαν επιτυχώς ως δημόσια." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Επισήμανση προβλημάτων ως ιδιωτικό" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "%d πρόβλημα επισημάνθηκε επιτυχώς ως ιδιωτικό." msgstr[1] "%d προβλήματα επισημάνθηκαν επιτυχώς ως απόρρητα." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "πρόβλημα" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "ζώνη ώρας" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "email" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "ημερ/νία εγγραφής" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Επανυπολογισμός βαθμολογίας" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "%d χρήστης επανυπολογίζει τη βαθμολογία του." msgstr[1] "%d χρήστες επανυπολογίζουν τη βαθμολογία τους." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Αναπαραγωγή" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Περιγραφή" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Πληροφορίες" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Δυνατότητες" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Κανένα" @@ -427,77 +427,77 @@ msgstr "Εξαίρεση" msgid "Unaccepted" msgstr "Μη Αποδεκτά" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (παρακολουθεί)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s (εικονικό %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s σε %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Επανεξέταση των επιλεγμένων υποβολών" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Δεν έχετε την άδεια να επανεξετάσετε υποβολές." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "Δεν έχετε την άδεια να επανεξετάσετε ΤΟΣΕΣ πολλές υποβολές." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Αναβαθμολόγηση των επιλεγμένων υποβολών" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d υποβολή αναβαθμολογήθηκε επιτυχώς." msgstr[1] "%d υποβολές αναβαθμολογήθηκαν επιτυχώς." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "κωδικός προβλήματος" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "όνομα προβλήματος" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "ώρα" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "μνήμη" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "γλώσσα" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "Κλειδωμένο" @@ -517,20 +517,20 @@ msgstr "Τα προβλήματα αυτά περιλαμβάνονται σε msgid "Online Judge" msgstr "Διαδικτυακός Κριτής" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Σώμα σχολίου" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "Το κομμάτι σου είναι σιωπηλό, μικρέ βάτραχε." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "Πρέπει να λύσετε τουλάχιστον ένα πρόβλημα πριν ακουστεί η φωνή σας." -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Αναρτημένο σχόλιο" @@ -615,129 +615,129 @@ msgstr "Ισοπαλίες θα σπάνε από το σύνολο χρόνων msgid "IOI (pre-2016)" msgstr "IOI (προ του 2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "Τα διακριτικά ελέγχου ταυτότητας δύο παραγόντων πρέπει να είναι {count} δεκαδικό ψηφίο." msgstr[1] "Τα διακριτικά ελέγχου ταυτότητας δύο παραγόντων πρέπει να είναι {count} δεκαδικά ψηφία." -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Μη έγκυρο διακριτικό ελέγχου ταυτότητας δύο παραγόντων." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "Οι κωδικοί scratch πρέπει να είναι 16 χαρακτήρες βάσης32." -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "Μη έγκυρος κωδικός scratch." -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Εγγραφείτε σε ενημερώσεις διαγωνισμού" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Ενεργοποίηση πειραματικών λειτουργιών" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "Πρέπει να λύσετε τουλάχιστον ένα πρόβλημα πριν να έχετε τη δυνατότητα να ενημερώσετε το προφίλ σας." -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "Δεν μπορείτε να είστε μέρος σε περισσότερους από {count} δημόσιου οργανισμού." msgstr[1] "Δεν μπορείτε να είστε μέλος σε περισσότερους από {count} δημόσιους οργανισμούς." -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου χρησιμοποιείται ήδη." -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "Μη έγκυρος κωδικός πρόσβασης" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Λήψη σχολίων;" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "Λήψη υποβολών;" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "Φιλτράρισμα ανά glob κώδικα προγράμματος:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "Αφήστε κενό για να συμπεριλάβετε όλες τις υποβολές" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Φιλτράρισμα κατά αποτέλεσμα:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "Παρακαλώ επιλέξτε τουλάχιστον ένα πράγμα για λήψη." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Οποιοσδήποτε κριτής" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Όνομα Χρήστη" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Κωδικόs πρόσβασης" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "Μη έγκυρο μήκος κωδικού." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "Άκυρη WebAuthn απάντηση." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "Δεν υπάρχει πρόκληση WebAuthn." -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "Μη έγκυρο αναγνωριστικό ID διαπιστευτηρίου WebAuthn." -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "Μη έγκυρο διακριτικό ελέγχου ταυτότητας δύο παραγόντων ή κωδικού scratch." -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "Πρέπει να καθορίσετε είτε totp_token ή webauthn_response." -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "Ο κωδικός προβλήματος πρέπει να είναι ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "Πρόβλημα με αυτόν τον κωδικό υπάρχει ήδη." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "Το αναγνωριστικό του διαγωνισμού πρέπει να είναι ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Διαγωνισμός με αυτό το κλειδί υπάρχει ήδη." @@ -746,6 +746,66 @@ msgstr "Διαγωνισμός με αυτό το κλειδί υπάρχει ή msgid "N j, Y, g:i a" msgstr "j N Y, g:i a" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "Μη αξιολογημένο" @@ -827,7 +887,7 @@ msgid "comments" msgstr "σχόλια" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Εξήγηση για %s" @@ -881,7 +941,7 @@ msgstr "περιγραφή ετικέτας" msgid "contest tag" msgstr "ετικέτα διαγωνισμού" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "ετικέτες διαγωνισμού" @@ -957,12 +1017,12 @@ msgstr "Αυτοί οι χρήστες θα είναι σε θέση να παρ msgid "description" msgstr "περιγραφή" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "προβλήματα" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "ώρα έναρξης" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "ώρα λήξης" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "χρονικό όριο" @@ -1043,380 +1103,380 @@ msgstr "Να μην αξιολογούνται οι χρήστες που έχο msgid "rate all" msgstr "αξιολόγηση όλων" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Αξιολογήστε όλους τους χρήστες που συμμετέχουν." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "απόκλειση από αξιολόγηση" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "ιδιωτικό για συγκεκριμένους χρήστες" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "ιδιωτικοί συμμετέχοντες" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "Εάν δεν είναι άδειο, μόνο αυτοί οι χρήστες μπορούν να δουν το διαγωνισμό." -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "απόκρυψη ετικέτα προβήματος" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Εάν οι ετικέτες προβλήματος θα πρέπει να είναι κρυφές από προεπιλογή." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "απόκρυψη συγγραφέων προβήματος" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "Εάν οι συγγραφείς προβλήματος θα πρέπει να είναι κρυφοί από προεπιλογή." -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "εκτέλεση προδοκιμών μόνο" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "Εάν οι κριτές θα πρέπει να βαθμολογούν τις προδοκιμές μόνο, ή όλες τις περιπτώσεις. Συνήθως ορίζεται κατά τη διάρκεια ενός διαγωνισμού και, στη συνέχεια, καταργείται πριν από την επανεξέταση των υποβολών των χρηστών όταν λήξει ο διαγωνισμός." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "εμφάνιση μερικών ρυθμίσεων φόρμας" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "Εάν θα εμφανίζεται μια ενότητα που περιέχει ρυθμίσεις διαγωνισμού στη σελίδα διαγωνισμού ή όχι." -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "ιδιωτικό για οργανισμούς" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "οργανισμοί" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "Εάν δεν είναι άδειο, μόνο οι οργανισμοί αυτοί μπορούν να δουν το διαγωνισμό." -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "περιορισμός των οργανισμών που μπορούν να συμμετάσχουν" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "οργανισμοί που συμμετέχουν" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "Εάν δεν είναι άδειο, μόνο οι οργανισμοί αυτοί μπορούν να συμμετάσχουν στο διαγωνισμό." -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "κατηγορίες" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "Εάν ιδιωτικό για οργανισμό, μόνο αυτές οι κατηγορίες μπορούν να δουν το διαγωνισμό." -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "Εικόνα OpenGraph" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "παράκαμψη εικόνας λογότυπου" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "Αυτή η εικόνα θα αντικαταστήσει το προεπιλεγμένο λογότυπο για τους χρήστες στο διαγωνισμό." -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "ο αριθμός των ζωντανών συμμετεχόντων" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "σύνοψη διαγωνισμού" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "Απλό κείμενο, που εμφανίζεται στην ετικέτα meta, π.χ. για τα μέσα κοινωνικής δικτύωσης." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "κωδικός πρόσβασης" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "Ένας προαιρετικός κώδικας για την προτροπή των διαγωνιζομένων πριν τους επιτραπεί να συμμετάσχουν στο διαγωνισμό. Αφήστε το κενό για απενεργοποίηση." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "personae non gratae" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "Απαγορεύει στους επιλεγμένους χρήστες να συμμετάσχουν σε αυτόν τον διαγωνισμό." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "μορφή διαγωνισμού" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "Η ενότητα μορφής διαγωνισμού που θα χρησιμοποιηθεί." -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "διαμόρφωση μορφής διαγωνισμού" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "Ένα αντικείμενο JSON που θα χρησιμοποιηθεί ως διαμόρφωση για την επιλεγμένη ενότητα μορφής διαγωνισμού. Αφήστε κενό για να χρησιμοποιήσετε Κανένα. Η ακριβής μορφή εξαρτάται από τη μορφή διαγωνισμού που επιλέξατε." -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "script παραγωγής ετικέτας προβλήματος διαγωνισμού" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "Μια προσαρμοσμένη συνάρτηση Lua για την παραγωγή ετικετών προβλημάτων. Απαιτεί μια μοναδική συνάρτηση με μια ακέραια παράμετρο, το δείκτη προβλήματος διαγωνισμού μηδενικού δείκτη και επιστρέφει μια συμβολοσειρά, την ετικέτα." -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "κλείδωμα διαγωνισμού" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "Αποτροπή υποβολών αυτού του διαγωνισμού από το να επανεξεταστούν μετά από αυτή την ημερομηνία." -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "πόντοι ακρίβειας" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "Αριθμός ψηφίων στρογγυλοποίησης πόντων." -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Δείτε ιδιωτικούς διαγωνισμούς" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Επεξεργασία δικών σας διαγωνισμών" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Επεξεργασία όλων των διαγωνισμών" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "Κλωνοποίηση διαγωνισμού" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "Διαγωνισμός MOSS" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Αξιολόγηση διαγωνισμών" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "Κωδικοί πρόσβασης διαγωνισμού" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "Δημιουργία ιδιωτικών διαγωνισμών" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "Αλλαγή ορατότητας διαγωνισμού" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "Επεξεργαστείτε το script ετικέτας προβλήματος διαγωνισμού" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "Αλλαγή κατάστασης κλειδώματος του διαγωνισμού" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "διαγωνισμός" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "διαγωνισμοί" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "σχετικός διαγωνισμός" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "βαθμολογία" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "αθροιστικός χρόνος" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "έχει αποκλειστεί" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "Εάν αυτή η συμμετοχή έχει αποκλειστεί." -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "τάι μπρέικ πεδίο" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "id εικονικής συμμετοχής" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 σημαίνει μη εικονική, εναλλακτικά η n-ιοστή εικονική συμμετοχή." -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "ειδικά δεδομένα μορφής διαγωνισμού" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "%(user)s παρακολουθεί στο %(contest)s" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "%(user)s σε %(contest)s, v%(id)d" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "%(user)s σε %(contest)s" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "συμμετοχή διαγωνισμού" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "συμμετοχές διαγωνισμού" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "πόντοι" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "εν μέρει" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "είναι προδοκιμασμένο" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "σειρά" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "παράκαμψη μήκους προθέματος εξόδου" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "μέγιστες υποβολές" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "Μέγιστος αριθμός υποβολών για αυτό το πρόβλημα ή αφήστε κενό για χωρίς όριο." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "Γιατί να συμπεριλάβετε πρόβλημα στο οποίο δεν μπορείτε να υποβάλετε;" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "πρόβλημα διαγωνισμού" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "προβλήματα διαγωνισμού" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "υποβολή" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "συμμετοχή" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Εάν αυτή η υποβολή έτρεξε μόνο σε προδοκιμές." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "υποβολή διαγωνισμού" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "υποβολές διαγωνισμού" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "βαθμίδα" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "αξιολόγηση" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "ακατέργαστη αξιολόγηση" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "επίδοση στο διαγωνισμό" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "τελευταία αξιολόγηση" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "αξιολόγηση διαγωνισμού" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "αξιολογήσεις διαγωνισμού" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "αποτέλεσμα διαγωνισμού moss" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "αποτελέσματα διαγωνισμού moss" @@ -1468,7 +1528,7 @@ msgstr "τίτλος ανάρτησης" msgid "slug" msgstr "slug" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "δημόσια ορατότητα" @@ -1634,7 +1694,7 @@ msgstr "Η ομάδα του προβλήματος, όπως εμφανίζετ msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "Το χρονικό όριο για αυτό το πρόβλημα, σε δευτερόλεπτα. Κλασματικά δευτερόλεπτα (π.χ. 1.5) υποστηρίζονται." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "όριο μνήμης" @@ -1750,111 +1810,115 @@ msgstr "Αλλαγή is_manually_managed πεδίου" msgid "See organization-private problems" msgstr "Δείτε ιδιωτικά-οργανισμών προβλήματα" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "Δημιουργία ιδιωτικών προβλημάτων" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "μεταφρασμένο όνομα" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "μεταφρασμένη περιγραφή" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "μετάφραση προβλήματος" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "μεταφράσεις προβλήματος" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "διευκρινισμένο πρόβλημα" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "σώμα διευκρίνησης" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "χρονοσφραγίδα διευκρίνησης" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "διευκρίνηση προβλήματος" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "διευκρινίσεις προβλήματος" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "ειδικό όριο πόρων για τη γλώσσα" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "ειδικά όρια πόρων για τη γλώσσα" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "συσχετιζόμενο πρόβλημα" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "ημερομηνία δημοσίευσης" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "περιεχόμενο εξήγησης" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "Δείτε κρυφές λύσεις" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "λύση" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "λύσεις" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "προτεινόμενα σημεία" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "Ο αριθμός των πόντων που ο ψηφοφόρος πιστεύει ότι αξίζει αυτό το πρόβλημα." -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "ψηφοφόρος" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "ώρα ψηφοφορίας" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "Ήρθε η ώρα να διεξαχθεί αυτή η ψηφοφορία." -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "σημείωση" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "Αιτιολόγηση για την τιμή των πόντων προβλήματος." -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "πρόβλημα ψήφου" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "πρόβλημα ψήφων" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "Points vote by %(voter)s for %(problem)s" @@ -2994,40 +3058,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "Σελίδα %d Αναρτήσεων" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "Σαχλαμαρίζουμε, ε;" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "Πρέπει να λύσετε τουλάχιστον ένα πρόβλημα πριν μπορέσετε να ψηφίσετε." -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "Το σχόλιο δεν βρέθηκε." -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "Δεν μπορείτε να ψηφίσετε για τα δικά σας σχόλια." -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Έχετε ήδη ψηφίσει." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "Επεξεργάστηκε από την ιστοσελίδα" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "Επεξεργασία σχολίου" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "Δεν υπάρχει τέτοιος διαγωνισμός" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "Αδυναμία εύρεσης διαγωνισμού με κλειδί \"%s\"." @@ -3036,111 +3100,111 @@ msgstr "Αδυναμία εύρεσης διαγωνισμού με κλειδί msgid "Contests" msgstr "Διαγωνισμοί" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "Αδυναμία εύρεσης τέτοιου διαγωνισμού." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "Πρόσβαση στο διαγωνισμό \"%s\" απορρίφθηκε" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "Κλωνοποίηση Διαγωνισμού" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "Κλωνοποιημένος διαγωνισμός από %s" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "Ο διαγωνισμός δεν βρίσκεται σε εξέλιξη" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" δεν βρίσκεται σε εξέλιξη." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "Αποκλεισμένος από συμμετοχή" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "Έχετε κηρυχθεί persona non grata για αυτόν τον διαγωνισμό. Είστε μόνιμα αποκλεισμένοι από το να συμμετάσχετε σε αυτόν τον διαγωνισμό." -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "Αδυναμία εισόδου" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "Δεν έχετε τη δυνατότητα να συμμετάσχετε σε αυτόν τον διαγωνισμό." -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "Εισάγετε κωδικό πρόσβασης για το \"%s\"" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "Δεν είστε στο διαγωνισμό \"%s\"." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "Διαγωνισμοί %(month)s" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "F Y" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "%s Στατιστικά" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "%s Κατάταξη" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "Η συμμετοχή σας στο %(contest)s" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "Συμμετοχή του/της %(user)s στο %(contest)s" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "Ζωντανά" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Συμμετοχή" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "%s MOSS Αποτελέσματα" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "Εκτέλεση MOSS για %s..." -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "Ετικέτα διαγωνισμού: %s" @@ -3577,52 +3641,52 @@ msgstr "Υποβολές του/της {user} για {problem} στο {contest}" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "Υποβολές του/της {user} για το πρόβλημα {number} στο {contest}" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Τίτλος αιτήματος" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Περιγραφή θέματος" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "Πρέπει να λύσετε τουλάχιστον ένα πρόβλημα πριν να έχετε τη δυνατότητα να δημιουργήσετε ένα αίτημα." -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "Νέο αίτημα για %s" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - Αίτημα %(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "Αιτήματα - Σελίδα %(number)d από %(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "Νέο Αίτημα: %s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d, ανατέθηκε στον/στην: %(users)s" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "κανένας" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "Νέο Μήνυμα Αιτήματος Για: %s" @@ -3685,7 +3749,7 @@ msgstr "j M Y, G:i" msgid "Preparing your data..." msgstr "Προετοιμασία των δεδομένων σας..." -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "Λήψη των δεδομένων σας" @@ -3727,7 +3791,7 @@ msgstr "Αποσυνδεθήκατε επιτυχώς." msgid "You have sent too many password reset requests. Please try again later." msgstr "Έχετε στείλει πάρα πολλά αιτήματα επαναφοράς κωδικού πρόσβασης. Παρακαλώ προσπαθήστε ξανά αργότερα." -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "Αλλάξτε το email σας" @@ -3778,12 +3842,138 @@ msgstr "Το email άλλαξε επιτυχώς" msgid "The email attached to your account has been changed to %s." msgstr "Το email που επισυνάπτεται στο λογαριασμό σας έχει αλλάξει σε %s." +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "Είστε βέβαιοι ότι θέλετε να κρίνετε εκ νέου ΟΛΕΣ τις υποβολές;" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "Αξιολόγηση" @@ -3803,13 +3993,13 @@ msgstr "Τερματισμός" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "Απενεργοποίηση" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "Ενεργοποίηση" @@ -3872,7 +4062,7 @@ msgstr "παρέχεται περήφανα από **DMOJ**" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Επεξεργασία" @@ -3985,7 +4175,7 @@ msgstr "σχολιάστηκε {time}" msgid "edit %(edits)s" msgstr "επεξεργασία %(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "επεξεργάστηκε" @@ -4021,45 +4211,52 @@ msgstr "Νέο σχόλιο" msgid "Invalid comment body." msgstr "Μη έγκυρο σώμα σχολίου." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "Απάντηση σε σχόλιο" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "επεξεργασία {edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "αρχικό" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "Αδυναμία ψήφου: {error}" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "Είστε βέβαιοι ότι θέλετε να αποκρύψετε αυτό το σχόλιο;" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "Αδυναμία απόκρυψης σχολίου." -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "ενημερώθηκε" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "Απέτυχε η ενημέρωση του σώματος σχολίου." -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "Δεν ήταν δυνατή η επεξεργασία του σχολίου: {error}" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "Ψηφοφόρος" @@ -4072,15 +4269,15 @@ msgstr "Βαθμολογία" msgid "No votes" msgstr "Δεν υπάρχουν ψήφοι" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "Κάντε κλικ για αντιγραφή" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "Αντιγραφή" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "Αντιγράφηκε!" @@ -4186,7 +4383,7 @@ msgstr "Κλωνοποίηση" msgid "Leave contest" msgstr "Έξοδος από διαγωνισμό" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Εικονική συμμετοχή" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "Ποσοστό AC" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Χρήστες" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "Ενεργοί διαγωνισμοί" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Διαγωνισμός" @@ -4451,10 +4648,18 @@ msgstr "Ξεκινώντας από το %(countdown)s" msgid "There are no scheduled contests at this time." msgstr "Δεν υπάρχουν προγραμματισμένοι διαγωνισμοί αυτή τη στιγμή." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Παλαιότεροι διαγωνισμοί" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "Είστε βέβαιοι ότι θέλετε να φύγετε;" @@ -4787,10 +4992,6 @@ msgstr "Αποβολή" msgid "Are you sure you want to kick this user?" msgstr "Είστε βέβαιοι ότι θέλετε να αποβάλλετε αυτόν τον χρήστη;" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "Ενημέρωση προεπισκόπησης" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "Εισάγετε έναν νέο κωδικό για το κλωνοποιημένο πρόβλημα:" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "Συνδεδεμένοι οργανισμοί" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "Ειδοποιήστε με για επερχόμενους διαγωνισμούς" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "Ενεργοποίηση Ταυτοποίησης Δύο Παραγόντων" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "Παρακάτω είναι μια λίστα μίας χρήσης κωδικών scratch." #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "Οι κωδικοί αυτοί μπορούν να χρησιμοποιηθούν μόνο μία φορά και προορίζονται για επείγουσα χρήση." #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "Μπορείτε να χρησιμοποιήσετε αυτούς τους κωδικούς για να συνδεθείτε στο λογαριασμό σας ή να απενεργοποιήσετε τον έλεγχο ταυτότητας δύο παραγόντων." @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "Εάν χρειάζεστε ποτέ περισσότερους κώδικες scratch, μπορείτε να τους παράξετε εκ νέου στην καρτέλα επεξεργασίας προφίλ." #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "Παρακαλώ καταγράψτε και αποθηκεύστε τους σε ασφαλές σημείο." @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "Αν χάσετε τη συσκευή ελέγχου ταυτότητας και δεν μπορείτε να χρησιμοποιήσετε τους κωδικούς scratch, %(site_name)s διαχειριστές ΔΕΝ θα είναι σε θέση να ανακτήσουν το λογαριασμό σας. Παρακαλώ κρατήστε τους κωδικούς scratch σας ασφαλείς!" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "Το πρόγραμμα περιήγησης σας δεν υποστηρίζει WebAuthn." #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "Αποτυχία επικοινωνίας με το διακομιστή." @@ -5663,7 +5864,7 @@ msgstr "Πληροφορίες σφάλματος" #: templates/submission/list.html:35 templates/submission/status.html:81 msgid "Are you sure you want to rejudge?" -msgstr "Είστε σίγουροι ότι θέλετε να επανεξετάσετε?" +msgstr "Είστε σίγουροι ότι θέλετε να επανεξετάσετε;" #: templates/submission/list.html:75 msgid "Filter by status..." @@ -5930,144 +6131,144 @@ msgstr "Βαθμίδα" msgid "Search by handle..." msgstr "Αναζήτηση με ανγνωριστικό..." -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "Οι διαχειριστές αυτού του ιστότοπου απαιτούν από όλο το προσωπικό να έχει ενεργοποιημένο τον έλεγχο ταυτότητας δύο παραγόντων, οπότε ενδέχεται να μην είναι απενεργοποιημένο αυτή τη στιγμή." -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "Είστε βέβαιοι ότι θέλετε να παράξετε ή να αναπαράξετε το API διακριτικό σας;" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "Αυτό θα ακυρώσει τυχόν προηγούμενα διακριτικά API." -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "Επιτρέπει επίσης πρόσβαση στο λογαριασμό σας χωρίς έλεγχο ταυτότητας δύο παραγόντων." -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "Δεν θα είστε σε θέση να δείτε το API διακριτικό σας αφού φύγετε από αυτή τη σελίδα!" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "Δημιουργία..." -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "Διαγραφή" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "Είστε βέβαιοι ότι θέλετε να διαγράψετε το API διακριτικό σας;" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "Παραγωγή" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το κλειδί ασφαλείας;" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" -msgstr "Είστε βέβαιοι ότι θέλετε να δημιουργήσετε ή να αναγεννήσετε ένα νέο σύνολο από κώδικες γρατσουνιών?" +msgstr "Είστε βέβαιοι ότι θέλετε να δημιουργήσετε ή να αναγεννήσετε ένα νέο σύνολο από κώδικες γρατσουνιών;" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "Αυτό θα ακυρώσει τυχόν προηγούμενους κώδικες γρατσουνιών που έχετε." -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "Δεν θα είστε σε θέση να δείτε τους κώδικες γρατσουνιών σας αφού φύγετε από αυτή τη σελίδα!" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "Αυτο-περιγραφή:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "Επιλέξτε την κοντινότερη μεγάλη πόλη" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Ζώνη ώρας:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Γλώσσα:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "Θέμα ιστότοπου:" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "Μοτίβο συντάκτη:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Μηχανή μαθηματικών:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "Συνδεδεμένοι οργανισμοί:" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "Αλλάξτε το avatar σας" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "Αλλάξτε τον κωδικό σας" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "Διακριτικό API:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "Κρυφό" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "Η ταυτοποίηση δύο παραγόντων είναι ενεργοποιημένη:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "Κωδικοί scratch:" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "Αν χρειάζεστε ποτέ περισσότερους κώδικες γρατσουνιών, μπορείτε να τους αναγεννήσετε εδώ." -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "Η ταυτοποίηση δύο παραγόντων είναι απενεργοποιημένη:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "Κλειδιά ασφαλείας:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "Διαγραφή" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "Εισάγετε όνομα για αυτό το κλειδί" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "Προσθήκη" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "Script χρήστη:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "Ενημέρωση προφίλ" diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 369253f2f9..32a59585b1 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-01 00:43+0000\n" +"POT-Creation-Date: 2025-01-13 00:59+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,79 +18,79 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "" @@ -141,125 +141,125 @@ msgstr[1] "" msgid "associated page" msgstr "" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "" @@ -271,9 +271,9 @@ msgstr "" msgid "Summary" msgstr "" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -283,136 +283,136 @@ msgstr "" msgid "object" msgstr "" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "" @@ -428,77 +428,77 @@ msgstr "" msgid "Unaccepted" msgstr "" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "" msgstr[1] "" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -518,20 +518,20 @@ msgstr "" msgid "Online Judge" msgstr "" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "" @@ -635,129 +635,129 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -766,6 +766,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -847,7 +907,7 @@ msgid "comments" msgstr "" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "" @@ -901,7 +961,7 @@ msgstr "" msgid "contest tag" msgstr "" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "" @@ -981,12 +1041,12 @@ msgstr "" msgid "description" msgstr "" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "" @@ -995,7 +1055,7 @@ msgid "end time" msgstr "" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "" @@ -1069,396 +1129,396 @@ msgstr "" msgid "rate all" msgstr "" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." +#: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." msgstr "" -#: judge/models/contest.py:118 +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "" "Whether judges should grade pretests only, versus all testcases. Commonly " "set during a contest, then unset prior to rejudging user submissions when " "the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "" "Whether to show a section containing contest settings on the contest page or " "not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "" "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "" "An optional code to prompt contestants before they are allowed to join the " "contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "" "A JSON object to serve as the configuration for the chosen contest format " "module. Leave empty to use None. Exact format depends on the contest format " "selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "" "A custom Lua function to generate problem labels. Requires a single function " "with an integer parameter, the zero-indexed contest problem index, and " "returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "" "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "" "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1510,7 +1570,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1679,7 +1739,7 @@ msgid "" "are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "" @@ -1800,111 +1860,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -3069,40 +3133,40 @@ msgstr "" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3111,113 +3175,113 @@ msgstr "" msgid "Contests" msgstr "" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "" "You have been declared persona non grata for this contest. You are " "permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3658,52 +3722,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3766,7 +3830,7 @@ msgstr "" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3808,7 +3872,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3863,12 +3927,140 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "" +"This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3888,13 +4080,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3957,7 +4149,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -4070,7 +4262,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4106,45 +4298,56 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "" +"Looks like you're trying to post some source code!\n" +"\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" " +"button.\n" +"\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4157,15 +4360,15 @@ msgstr "" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4271,7 +4474,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4477,7 +4680,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4532,7 +4735,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "" @@ -4555,10 +4758,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4902,10 +5113,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5641,7 +5848,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5695,17 +5902,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "" "You can use these codes to login to your account or disable two-factor " "authentication." @@ -5718,7 +5925,7 @@ msgid "" msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5741,12 +5948,12 @@ msgid "" msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -6116,149 +6323,149 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "" "The administrators for this site require all the staff to have Two-factor " "Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "" "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "" "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "" "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index 9962467040..7d8d0d6bc0 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-28 00:50\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Catalán" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Alemán" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Griego" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Inglés" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Español" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Francés" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Croata" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Húngaro" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japonés" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazajo" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Coreano" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Portugués (Brasil)" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Rumano" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Ruso" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Serbio (Latino)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Turco" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vietnamita" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Chino Simplificado" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Chino Tradicional" @@ -140,125 +140,125 @@ msgstr[1] "%d comentarios desocultados con éxito." msgid "associated page" msgstr "página asociada" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Concursos incluidos" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Problema" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Problemas" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Rejuzgar" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Ajustes" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Programación Horaria" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Detalles" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Formato" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Puntuación" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Acceso" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Justicia" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Marcar concursos como visibles" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "%d concurso ha sido hecho visible con éxito." msgstr[1] "%d concursos han sido hechos visibles con éxito." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Marcar concursos como invisibles" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "%d concurso ha sido hecho invisible con éxito." msgstr[1] "%d concursos han sido hecho invisibles con éxito." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Bloquear envíos del concurso" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "%d concurso bloqueado exitosamente." msgstr[1] "%d concursos bloqueados exitosamente." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Desbloquear envíos del concurso" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "%d concurso desbloqueado exitosamente." msgstr[1] "%d concursos desbloqueados exitosamente." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "%d envío ha sido añadido a la cola para rejuzgar con éxito." msgstr[1] "%d envíos han sido añadidos a la cola para rejuzgar con éxito." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Recalcular resultados" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "%d participación recalculada." msgstr[1] "%d participaciones recalculadas." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "nombre de usuario" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "virtual" @@ -270,9 +270,9 @@ msgstr "ruta de enlace" msgid "Summary" msgstr "Resumen" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "usuario" msgid "object" msgstr "objeto" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Ver en el sitio web" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "Motivo de la edición" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Describe los cambios que realizaste (opcional)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Redes Sociales" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Taxonomía" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Puntos" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Límites" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Lenguaje" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Historia" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "autores" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Establecer fecha de publicación a ahora" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "La fecha de publicación de %d problema se ha actualizado correctamente." msgstr[1] "La fecha de publicación de %d problemas se ha actualizado correctamente." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Marcar problema como publico" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "%d problema marcado exitosamente como público." msgstr[1] "%d problemas marcados exitosamente como públicos." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Marcar problemas como privados" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "%d problema marcado como privado con éxito." msgstr[1] "%d problemas marcados como privados con éxito." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "problema" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "zona horaria" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "correo electrónico" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "fecha de registro" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Recalcular puntuaciones" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "Se ha recalculado la puntuación de %d usuario." msgstr[1] "Se ha recalculado la puntuación de %d usuarios." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Regenerar" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Descripción" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Información" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Capacidades" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Ninguno" @@ -427,77 +427,77 @@ msgstr "Excepcional" msgid "Unaccepted" msgstr "No aceptado" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (observando)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s (virtual %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s en %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Rejuzgar los envíos seleccionados" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "No tienes permiso para rejuzgar envíos." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "No tienes permiso para rejuzgar TANTOS envíos." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Reevaluar los envíos seleccionados" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d envío fue reevaluado con éxito." msgstr[1] "%d envíos fueron reevaluados con éxito." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "código del problema" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "nombre del problema" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "tiempo" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "memoria" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "lenguaje" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "Bloqueado" @@ -517,20 +517,20 @@ msgstr "Estos problemas están incluidos en este tipo de problemas." msgid "Online Judge" msgstr "Juez en Línea" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Cuerpo del comentario" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "No se supone que deberías hablar, pequeñuelo." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "Debes resolver como mínimo un problema antes de que te dejemos hablar." -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Comentario publicado" @@ -615,129 +615,129 @@ msgstr "Las ataduras se romperán por la suma del último tiempo de envío de pu msgid "IOI (pre-2016)" msgstr "IOI (antes de 2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "Los tokens de autenticación de dos pasos tienen que ser {count} dígito decimal." msgstr[1] "Los tokens de autenticación de dos pasos tienen que ser {count} dígitos decimales." -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Token de autenticación de dos pasos no válido." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "Los códigos de Scratch deben tener 16 caracteres Base32." -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "Código de scratch inválido." -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Subscribirse en las actualizaciones de los concursos" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Habilitar las funciones experimentales" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "Debes resolver como mínimo un problema antes de poder actualizar tu perfil." -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "No puedes formar parte de más de {count} organización pública." msgstr[1] "No puedes formar parte de más de {count} organizaciones públicas." -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "Esta dirección de correo electrónico ya está en uso." -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "Contraseña no válida" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "¿Descargar comentarios?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "¿Descargar envíos?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "Filtrar por código glob del problema:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "Dejar en blanco para incluir todos los envíos" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Filtrar por resultado:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "Por favor selecciona por lo menos una cosa para descargar." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Cualquier juez" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Nombre de usuario" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Contraseña" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "Longitud de código inválida." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "Respuesta WebAuthn inválida." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "Ningúna respuesta de WebAuthn emitida." -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "ID de credencial de WebAuthn inválida." -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "Token de autenticación de dos pasos o código de scratch no válido." -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "Debe especificar o totp_token o webauthn_response." -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "El código del problema debe ser ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "Ya existe un problema con este código." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "La id del concurso debe ser ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Ya existe un concurso con esta clave primaria." @@ -746,6 +746,66 @@ msgstr "Ya existe un concurso con esta clave primaria." msgid "N j, Y, g:i a" msgstr "j N Y, g:i a" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "Sin puntuación" @@ -827,7 +887,7 @@ msgid "comments" msgstr "comentarios" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Editorial para %s" @@ -881,7 +941,7 @@ msgstr "descripción de la etiqueta" msgid "contest tag" msgstr "etiqueta del concurso" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "etiquetas del concurso" @@ -957,12 +1017,12 @@ msgstr "Estos usuarios podrán observar el concurso, pero no verán los problema msgid "description" msgstr "descripción" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "problemas" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "hora de inicio" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "hora final" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "límite de tiempo" @@ -1043,380 +1103,380 @@ msgstr "No calificar a los usuarios que tengan una puntuación más alta." msgid "rate all" msgstr "calificar todo" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Calificar todos los usuarios que se unieron." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "excluir de las puntuaciones" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "privado a usuarios específicos" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "concursantes privados" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "Si no está vacío, solo estos usuarios podrán ver el concurso." -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "ocultar etiquetas de problemas" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Si las etiquetas de problemas deberían estar ocultas de forma predeterminada." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "ocultar autores de problemas" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "Si los autores de problemas deberían estar ocultas de forma predeterminada." -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "ejecutar solo las pruebas previas" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "Si los jueces deben calificar solo las pruebas previas, versus todos los casos de prueba. Se establece normalmente durante un concurso, luego se desactiva antes de rejuzgar los envíos de los usuarios cuando finaliza el concurso." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "mostrar configuración de formulario corto" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "Mostrar o no una sección que contiene la configuración del concurso en la página del concurso." -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "privado para organizaciones" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "organizaciones" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "Si no está vacío, sólo estas organizaciones pueden ver el concurso." -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "limitar las organizaciones que pueden unirse" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "unirse a organizaciones" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "Si no está vacío, sólo estas organizaciones pueden unirse al concurso." -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "clases" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "Si la organización es privada, sólo estas clases pueden ver el concurso." -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "Imagen de OpenGraph" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "imagen que sobreescribe el logo" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "Esta imagen reemplazará el logo del sitio para los usuarios en el concurso." -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "la cantidad de participantes en vivo" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "resumen del concurso" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "Texto sin formato, que se muestra en la etiqueta de metadescripción, por ejemplo, para las redes sociales." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "código de acceso" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "Un código opcional para incitar a los concursantes antes de que se les permita unirse al concurso. Déjelo en blanco para desactivar." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "persona no grata" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "Prohíbe a los usuarios seleccionados de unirse al concurso." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "formato de concurso" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "El módulo de formato de concurso que va a usarse." -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "configuración del formato de concurso" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "Un objeto JSON que se usará como configuración para el módulo de concurso escogido. Déjalo vacío para no usar ninguno. El formato exacto depende de que formato de concurso hayas escogido." -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "script de la etiqueta del concurso" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "Una función personalizada de Lua para generar etiquetas problemáticas. Requiere una función única con un parámetro entero, el índice de problema de contienda con índice cero, y devuelve una cadena, la etiqueta." -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "bloquear el concurso" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "Evitar que los envíos de este concurso sean rejuzgados después de esta fecha." -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "puntos de precisión" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "Cantidad de dígitos a los que redondear puntos." -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Ver concursos privados" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Editar concursos propios" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Editar todos los concursos" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "Clonar concurso" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "Detectar plagios con MOSS" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Calificar concursos" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "Códigos de acceso al concurso" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "Crear concursos privados" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "Cambiar visibilidad del concurso" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "Editar script de etiqueta de problema del concurso" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "Cambiar el estado de bloqueo del concurso" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "concurso" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "concursos" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "concurso asociado" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "puntuación" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "tiempo acumulado" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "se ha descalificado" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "Si esta participación ha sido descalificada." -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "campo de desempate" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "identificación de la participación virtual" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 significa no-virtual, en caso contrario la n-ésima participación virtual." -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "datos específicos del formato de concurso" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "%(user)s observando %(contest)s" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "%(user)s en %(contest)s, v%(id)d" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "%(user)s en %(contest)s" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "participación del concurso" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "participaciones del concurso" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "puntos" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "parcial" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "utilizar pruebas previas" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "orden" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "anular la longitud del prefijo de salida" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "envíos máximos" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "Número máximo de envíos para este problema, o dejar en blanco para no poner límite." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "¿Por qué incluir un problema que no puede enviarse?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "problema de concurso" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "problemas del concurso" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "envío" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "participación" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Si este envío se ejecutó solo en las pruebas previas." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "envío del concurso" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "envíos del concurso" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "rango" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "puntuación" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "puntuación bruta" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "rendimiento del concurso" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "último calificado" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "puntuación del concurso" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "puntuaciones del concurso" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "resultado del moss del concurso" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "resultados del moss del concurso" @@ -1468,7 +1528,7 @@ msgstr "título del post" msgid "slug" msgstr "slug" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "visibilidad pública" @@ -1634,7 +1694,7 @@ msgstr "El grupo del problema, visto como Categoría en la lista de problemas." msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "El límite de tiempo para este problema, en segundos. Los segundos fraccionarios (por ejemplo, 1.5) están permitidos." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "límite de memoria" @@ -1750,111 +1810,115 @@ msgstr "Cambiar campo is_manually_managed" msgid "See organization-private problems" msgstr "Ver problemas privados para la organización" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "Crear problemas privados" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "nombre traducido" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "descripción traducida" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "traducción del problema" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "traducciones del problema" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "problema aclarado" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "cuerpo de la aclaración" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "hora de la aclaración" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "aclaración del problema" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "aclaraciones del problema" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "límite de recursos específicos del lenguaje" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "límites de recursos específicos del lenguaje" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "problema asociado" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "fecha de publicación" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "contenido editorial" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "Ver soluciones ocultas" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "solución" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "soluciones" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "puntos propuestos" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "La cantidad de puntos que el votante piensa que este problema se merece." -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "votante" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "hora de votar" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "El momento de la votación." -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "nota" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "Justificación del valor de puntos del problema." -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "voto del problema" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "votos del problema" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "Voto por puntos de %(voter)s para %(problem)s" @@ -2994,40 +3058,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "Página %d de Posts" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "¿Nos aburrimos, eh?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "Debes resolver como mínimo un problema antes de poder votar." -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "Comentario no encontrado." -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "No puede votar sus propios comentarios." -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Ya has votado." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "Editado desde sitio" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "Editando comentario" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "No hay tal concurso" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "No se pudo encontrar un concurso con la clave \"%s\"." @@ -3036,111 +3100,111 @@ msgstr "No se pudo encontrar un concurso con la clave \"%s\"." msgid "Contests" msgstr "Concursos" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "No se pudo encontrar dicho concurso." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "Acceso al concurso \"%s\" denegado" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "Clonar Concurso" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "Concurso clonado de %s" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "Concurso no en curso" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" no esta actualmente en curso." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "PUM Baneado" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "Has sido declarado persona non grata para este concurso. Quedas desterrado para siempre." -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "No se puede entrar" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "No puedes unirte a este concurso." -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "Ingrese el código de acceso para \"%s\"" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "No estás en el concurso \"%s\"." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "Concursos en %(month)s" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "F \\d\\e Y" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "%s Estadísticas" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "%s Clasificaciones" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "Su participación en %(contest)s" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "Participación de %(user)s en %(contest)s" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "En vivo" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Participación" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "%s Resultados del Sistema antiplagio MOSS" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "Ejecutando sistema antiplagio MOSS para %s..." -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "Etiqueta de concurso: %s" @@ -3577,52 +3641,52 @@ msgstr "Los envíos de {user} para {problem} en {contest}" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "Los envíos de {user} para el problema {number} en {contest}" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Título del ticket" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Descripción del problema" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "Debes resolver como mínimo un problema antes de poder crear un ticket." -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "Nuevo ticket para %s" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - Ticket %(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "Tickets - Página %(number)d de %(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "Nuevo Ticket: %s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d asignado para: %(users)s" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "nadie" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "Nuevo Mensaje de Ticket para: %s" @@ -3685,7 +3749,7 @@ msgstr "j M Y, G:i" msgid "Preparing your data..." msgstr "Preparando tus datos..." -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "Descargar tus datos" @@ -3727,7 +3791,7 @@ msgstr "Se ha cerrado la sesión correctamente." msgid "You have sent too many password reset requests. Please try again later." msgstr "Ha enviado demasiadas solicitudes de restablecimiento de contraseña. Por favor, inténtelo de nuevo más tarde." -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "Cambiar tu email" @@ -3778,12 +3842,138 @@ msgstr "Email cambiado correctamente" msgid "The email attached to your account has been changed to %s." msgstr "El correo electrónico adjunto a tu cuenta ha sido cambiado a %s." +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "¿Está seguro de que quiere rejuzgar TODOS los envíos?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "Calificar" @@ -3803,13 +3993,13 @@ msgstr "Terminar" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "Desactivar" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "Activar" @@ -3872,7 +4062,7 @@ msgstr "alimentado con orgullo por **DMOJ**" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Editar" @@ -3985,7 +4175,7 @@ msgstr "comentado {time}" msgid "edit %(edits)s" msgstr "editar %(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "editado" @@ -4021,45 +4211,52 @@ msgstr "Comentario nuevo" msgid "Invalid comment body." msgstr "Cuerpo del comentario inválido." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "Respondiendo al comentario" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "editar {edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "original" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "No se pudo votar: {error}" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "¿Estás seguro de que quieres ocultar este comentario?" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "No se pudo ocultar el comentario." -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "actualizado" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "Error al actualizar el cuerpo del comentario." -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "No se pudo editar el comentario: {error}" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "Votante" @@ -4072,15 +4269,15 @@ msgstr "Puntuación" msgid "No votes" msgstr "No hay votos" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "Clic para copiar" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "Copiar" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "¡Copiado!" @@ -4186,7 +4383,7 @@ msgstr "Clonar" msgid "Leave contest" msgstr "Abandonar concurso" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Unión virtual" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "Tasa de AC" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Usuarios" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "Concursos activos" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Concurso" @@ -4451,10 +4648,18 @@ msgstr "Comenzando a partir de %(countdown)s" msgid "There are no scheduled contests at this time." msgstr "No hay concursos programados en este momento." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Concursos pasados" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "¿Está seguro que quiere salir?" @@ -4787,10 +4992,6 @@ msgstr "Expulsar" msgid "Are you sure you want to kick this user?" msgstr "¿Estás seguro de que quieres expulsar a este usuario?" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "Actualizar vista previa" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "Entra un nuevo código para el problema clonado:" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "Organizaciones afiliadas" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "Notificarme sobre los próximos concursos" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "Habilitar Autenticación en Dos Pasos" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "A continuación se muestra una lista de códigos de scratch de una sola vez." #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "Estos códigos sólo se pueden utilizar una vez y son para uso de emergencia." #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "Puede utilizar estos códigos para iniciar sesión en su cuenta o desactivar la autenticación de dos factores." @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "Si alguna vez necesitas más códigos de scratch, puedes regenerarlos en la pestaña de edición del perfil." #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "Por favor, escríbelos y manténgalos en una ubicación segura." @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "Si pierdes tu dispositivo de autenticación y no puedes usar tus códigos scratch, Los administradores %(site_name)s NO podrán recuperar su cuenta. ¡Por favor, mantén tus códigos de scratch a salvo!" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "WebAuthn no es compatible con su navegador." #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "Error al contactar con el servidor." @@ -5930,144 +6131,144 @@ msgstr "Rango" msgid "Search by handle..." msgstr "Buscar por nombre do usuario..." -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "Los administradores de este sitio requieren que todo el personal tenga habilitada la autenticación de doble factor, por lo que puede no estar desactivado en este momento." -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "¿Estás seguro de que quieres generar o regenerar tu token API?" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "Esto invalidará cualquier token de API anterior." -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "También permite el acceso a su cuenta sin autenticación de dos pasos." -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "¡No podrás ver tu token API después de salir de esta página!" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "Generando..." -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "Eliminar" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "¿Estás seguro de que quieres eliminar tu token de API?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "Generar" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "¿Está seguro que desea eliminar esta clave de seguridad?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "¿Está seguro de que desea generar o regenerar un nuevo conjunto de códigos de scratch?" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "Esto invalidará cualquier código de scratch anterior que tengas." -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "¡No podrás ver tus códigos scratch después de salir de esta página!" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "Descripción propia:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "Seleccione la ciudad importante más cercana" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Zona horaria:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Idioma:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "Tema del sitio:" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "Tema editor:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Motor matemático:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "Organizaciones afiliadas:" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "Cambiar tu avatar" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "Cambiar tu contraseña" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "Token API:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "Oculto" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "Autenticación en dos pasos habilitada:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "Códigos scratch:" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "Si alguna vez necesitas más códigos de scratch, puedes regenerarlos aquí." -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "Autenticación en dos pasos deshabilitada:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "Claves de seguridad:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "Eliminar" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "Introduzca un nombre para esta clave" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "Añadir" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "Script de usuario:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "Actualizar perfil" diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index cf61201306..5b1eaea6ca 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-28 00:50\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Catalan" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Allemand" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Grec" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Anglais" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Espagnol" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Français" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Croate" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Hongrois" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japonais" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazakh" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Coréen" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Portugais Brésilien" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Roumain" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Russe" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Serbe (Latin)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Turc" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vietnamien" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Chinois Simplifié" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Chinois Traditionnel" @@ -140,125 +140,125 @@ msgstr[1] "%d commentaires non cachés avec succès." msgid "associated page" msgstr "page associée" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Concours inclus" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Problème" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Problèmes" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Rejuger" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Réglages" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Planification" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Détails" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Format" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Classement" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Accès" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Justice" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Marquer les concours comme visibles" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "%d concours marqué visible avec succès." msgstr[1] "%d concours marqués visibles avec succès." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Marquer les concours comme invisibles" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "%d concours marqué invisible avec succès." msgstr[1] "%d concours marqués invisibles avec succès." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Verrouiller les soumissions au concours" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "%d concours a été verrouillé avec succès." msgstr[1] "%d concours ont été verrouillés avec succès." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Déverrouiller les soumissions au concours" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "%d concours a été déverrouillé avec succès." msgstr[1] "%d concours ont été déverrouillés avec succès." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "%d soumission a été programmée pour être rejugée avec succès." msgstr[1] "%d soumissions ont été programmées pour être rejugées avec succès." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Recalculer les résultats" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "%d participation recalculée." msgstr[1] "%d participations recalculées." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "nom d'utilisateur" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "virtuel" @@ -270,9 +270,9 @@ msgstr "chemin du lien" msgid "Summary" msgstr "Résumé" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "utilisateur" msgid "object" msgstr "objet" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Voir sur le site" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "Raison de la modification" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Décrivez vos modifications apportées (optionnel)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Médias Sociaux" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Taxonomie" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Points" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Limites" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Langage" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Histoire" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "auteurs" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Définir la date de publication à maintenant" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "La date de publication de %d problème a été mise à jour avec succès." msgstr[1] "La date de publication de %d problèmes a été mise à jour avec succès." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Marquer les problèmes comme publics" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "%d problème marqué public avec succès." msgstr[1] "%d problèmes marqués publics avec succès." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Marquer les problèmes comme privés" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "%d problème marqué privé avec succès." msgstr[1] "%d problèmes marqués privés avec succès." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "problème" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "fuseau horaire" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "courriel" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "date d'adhésion" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Recalculer les scores" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "%d utilisateur a des notes recalculées." msgstr[1] "%d utilisateurs ont des notes recalculées." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Régénérer" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Description" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Information" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Capacités" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Rien" @@ -427,77 +427,77 @@ msgstr "Exceptionnel" msgid "Unaccepted" msgstr "Non accepté" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (observateur)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s (virtuel %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s dans %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Rejuger les soumissions sélectionnées" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Vous n'avez pas le droit de rejuger des soumissions." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "Vous n'avez pas le droit de rejuger AUTANT de soumissions." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Recompter les soumissions sélectionnées" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d soumission a été recomptée avec succès." msgstr[1] "%d soumissions ont été recomptées avec succès." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "code du problème" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "nom du problème" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "temps" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "mémoire" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d Ko" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f Mo" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "langue" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "Verrouillé" @@ -517,20 +517,20 @@ msgstr "Ces problèmes sont inclus dans ce type de problèmes." msgid "Online Judge" msgstr "Juge en Ligne" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Corps du commentaire" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "Ton personnage est muet, le crapaud." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "Vous devez résoudre au moins un problème avant de pouvoir se faire entendre." -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Commentaire posté" @@ -615,129 +615,129 @@ msgstr "Les égalités seront départagées par la somme des derniers temps de s msgid "IOI (pre-2016)" msgstr "IOI (avant 2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "Les jetons d'authentification à deux facteurs doivent être de {count} chiffre décimal." msgstr[1] "Les jetons d'authentification à deux facteurs doivent être de {count} chiffres décimaux." -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Jeton d'authentification à deux facteurs invalide." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "Les codes scratch doivent être 16 caractères de Base32." -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "Code scratch invalide." -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "S'abonner aux nouvelles du concours" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Activer les fonctionnalités expérimentales" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "Vous devez résoudre au moins un problème avant de pouvoir modifier votre profil." -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "Vous ne pouvez pas faire partie de plus de {count} organisation publique." msgstr[1] "Vous ne pouvez pas faire partie de plus de {count} organisations publiques." -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "Cette adresse e-mail est déjà utilisée." -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "Mot de passe incorrect" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Télécharger les commentaires ?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "Télécharger les soumissions ?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "Filtrer par code de problème glob :" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "Laisser vide pour inclure toutes les soumissions" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Filtrer par résultat :" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "Veuillez sélectionner au moins une chose à télécharger." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "N'importe quel juge" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Nom d'utilisateur" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Mot de passe" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "Longueur de code invalide." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "Réponse WebAuthn invalide." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "Aucun défi WebAuthn émis." -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "Identifiant d'identification WebAuthn invalide." -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "Jeton d'authentification à deux facteurs ou code scratch invalide." -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "Doit spécifier soit totp_token ou webauthn_response." -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "Le code du problème doit être ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "Le problème avec le code existe déjà." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "L'id du concours doit être ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Le concours avec la clé existe déjà." @@ -746,6 +746,66 @@ msgstr "Le concours avec la clé existe déjà." msgid "N j, Y, g:i a" msgstr "j N Y, G \\h i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "%s o" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "%s Ko" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "%s Mo" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "%s Go" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "%s To" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "%s Po" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "%so" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "%sK" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "%sM" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "%sG" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "%sT" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "%sP" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "Non évalué" @@ -827,7 +887,7 @@ msgid "comments" msgstr "commentaires" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Éditorial pour %s" @@ -881,7 +941,7 @@ msgstr "description de la balise" msgid "contest tag" msgstr "balise de concours" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "balises de concours" @@ -957,12 +1017,12 @@ msgstr "Ces utilisateurs pourront observer le concours, mais ne pourront pas voi msgid "description" msgstr "description" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "problèmes" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "heure de début" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "heure de fin" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "limite de temps" @@ -1043,380 +1103,380 @@ msgstr "Ne pas évaluer les utilisateurs qui ont un classement plus élevé." msgid "rate all" msgstr "évaluer tout" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Évaluer tous les utilisateurs qui ont rejoint." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "exclure des évaluations" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "privé à des utilisateurs spécifiques" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "participants privés" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "Si non vide, seuls ces utilisateurs peuvent voir le concours." -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "masquer les balises de problème" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Si les balises de problème doivent être masquées par défaut." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "masquer les auteurs du problème" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "Si les auteurs du problème doivent être masqués par défaut." -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "exécuter uniquement les prétests" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "Si les juges ne devraient évaluer que les prétests, par opposition à tous les cas de test. Généralement coché pendant un concours, puis annulé avant de réévaluer les soumissions des utilisateurs à la fin du concours." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "afficher les paramètres du formulaire court" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "Afficher ou non une section contenant les paramètres du concours sur la page du concours." -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "privés aux organisations" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "organisations" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "Si non vide, seules ces organisations peuvent voir le concours." -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "limiter les organisations qui peuvent rejoindre" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "organisations qui peuvent rejoindre" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "Si non vide, seules ces organisations peuvent rejoindre le concours." -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "classes" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "Si privé aux organisations, seules ces classes peuvent voir le concours." -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "image OpenGraph" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "image de remplacement du logo" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "Cette image remplacera le logo par défaut du site pour les utilisateurs à l'intérieur du concours." -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "le nombre de participants en direct" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "résumé du concours" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "Texte simple, affiché dans la meta description, par exemple pour les réseaux sociaux." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "code d'accès" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "Un code facultatif pour demander aux concurrents avant qu'ils soient autorisés à rejoindre le concours. Laissez-le vide pour le désactiver." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "personae non gratae" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "Banni les utilisateurs sélectionnés de rejoindre ce concours." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "format de concours" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "Le module de format du concours à utiliser." -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "configuration du format du concours" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "Un objet JSON pour servir de configuration pour le module de format de concours choisi. Laisser vide pour utiliser Aucune. Le format exact dépend du format du concours sélectionné." -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "script d'étiquette du problème du concours" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "Une fonction Lua personnalisée pour générer des étiquettes de problème. Requiert une fonction unique avec un paramètre entier, l'indice du problème de concours indexé à partir de zéro, et retourne une chaîne, l'étiquette." -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "verrouillage du concours" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "Empêche les soumissions de ce concours d'être rejugées après cette date." -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "points de précision" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "Nombre de chiffres vers lesquels arrondir les points." -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Voir les concours privés" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Modifier vos propres concours" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Modifier tous les concours" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "Cloner concours" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSS le concours" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Évaluer les concours" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "Codes d'accès au concours" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "Créer des concours privés" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "Modifier la visibilité des concours" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "Modifier le script d'étiquette du problème du concours" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "Changer le statut de verrouillage du concours" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "concours" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "concours" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "concours associé" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "score" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "temps cumulé" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "disqualifiée" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "Si cette participation est disqualifiée." -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "champ de départage" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "id de participation virtuelle" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 signifie non virtuel, sinon la n-ème participation virtuelle." -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "données spécifiques au format du concours" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "%(user)s observant dans %(contest)s" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "%(user)s dans %(contest)s, v%(id)d" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "%(user)s dans %(contest)s" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "participation au concours" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "participations au concours" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "points" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "partiel" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "est prétesté" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "ordre" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "remplacement de la longueur du préfixe de sortie" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "maximum de soumissions" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "Nombre maximum de soumissions pour ce problème, ou laisser vide pour aucune limite." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "Pourquoi inclure un problème que vous ne pouvez pas soumettre ?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "problème de concours" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "problèmes de concours" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "soumission" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "participation" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Si cette soumission a été exécutée uniquement sur les prétests." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "soumission de concours" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "soumissions de concours" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "rang" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "classement" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "classement brut" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "performance au concours" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "dernière évaluation" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "classement du concours" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "classements du concours" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "résultat MOSS du concours" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "résultats MOSS du concours" @@ -1468,7 +1528,7 @@ msgstr "titre de l'article" msgid "slug" msgstr "slug" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "visibilité publique" @@ -1634,7 +1694,7 @@ msgstr "Le groupe de problème, indiqué sous Catégorie dans la liste des probl msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "La limite de temps pour ce problème, en secondes. Les fractions de secondes (par exemple 1.5) sont acceptées." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "limite de mémoire" @@ -1750,111 +1810,115 @@ msgstr "Changer le champ is_manually_managed" msgid "See organization-private problems" msgstr "Voir les problèmes privés des organisations" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "Créer des problèmes privés" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "nom traduit" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "description traduite" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "traduction du problème" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "traductions du problème" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "problème clarifié" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "corps de la clarification" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "horodatage de clarification" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "clarification de problème" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "clarifications de problème" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "limite de ressources spécifiques à un langage" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "limites de ressources spécifiques à un langage" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "problème associé" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "date de publication" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "contenu éditorial" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "Voir les solutions cachées" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "solution" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "solutions" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "points proposés" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "Le nombre de points que le votant estime que ce problème mérite." -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "votant" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "date de vote" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "L'heure à laquelle ce vote a été exprimé." -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "note" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "Justification pour la valeur de point de problème." -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "vote de problème" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "votes de problème" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "Vote de points par %(voter)s pour %(problem)s" @@ -2994,40 +3058,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "Page %d d'articles" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "En train de déconner, hein ?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "Vous devez résoudre au moins un problème avant de pouvoir voter." -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "Commentaire non trouvé." -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "Vous ne pouvez pas voter sur vos propres commentaires." -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Vous avez déjà voté." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "Modifié à partir du site" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "Édition du commentaire" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "Ce concours n'existe pas" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "Impossible de trouver un concours avec la clé « %s »." @@ -3036,111 +3100,111 @@ msgstr "Impossible de trouver un concours avec la clé « %s »." msgid "Contests" msgstr "Concours" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "Impossible de trouver un tel concours." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "Accès au concours « %s » refusé" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "Cloner Concours" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "Concours cloné de %s" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "Concours non en cours" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "« %s » n'est pas en cours actuellement." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "Interdit de rejoindre" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "Vous êtes persona non grata pour ce concours. Il vous est définitivement interdit de participer à ce concours." -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "Impossible d'entrer" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "Vous ne pouvez pas rejoindre ce concours." -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "Saisissez le code d'accès pour « %s »" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "Vous n'êtes pas dans le concours « %s »." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "Concours en %(month)s" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "F Y" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "Statistiques de %s" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "Classement de %s" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "Votre participation à %(contest)s" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "La participation de %(user)s à %(contest)s" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "En direct" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Participation" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "Résultats MOSS de %s" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "Exécution du MOSS pour %s..." -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "Balise de concours : %s" @@ -3577,52 +3641,52 @@ msgstr "Soumissions de {user} pour {problem} dans {contest}" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "Soumissions de {user} pour le problème {number} dans {contest}" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Titre du ticket" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Description du problème" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "Vous devez résoudre au moins un problème avant de pouvoir créer un ticket." -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "Nouveau ticket pour %s" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - Ticket %(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "Tickets - Page %(number)d sur %(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "Nouveau Ticket : %s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d, assigné à : %(users)s" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "personne" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "Nouveau Message de Ticket pour : %s" @@ -3685,7 +3749,7 @@ msgstr "j M Y, G \\h i" msgid "Preparing your data..." msgstr "Préparation de vos données..." -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "Télécharger vos données" @@ -3727,13 +3791,13 @@ msgstr "Vous avez été déconnecté avec succès." msgid "You have sent too many password reset requests. Please try again later." msgstr "Vous avez envoyé trop de demandes de réinitialisation de mot de passe. Veuillez réessayer plus tard." -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "Changer votre adresse e-mail" #: judge/views/user.py:568 msgid "Email change requested" -msgstr "Changement d’e-mail demandé " +msgstr "Changement d'e-mail demandé" #: judge/views/user.py:569 #, python-format @@ -3767,7 +3831,7 @@ msgstr "Adresse e-mail changée de %s à %s" #: judge/views/user.py:623 msgid "Email change failed" -msgstr "La modification de l’e-mail a échoué" +msgstr "La modification de l'e-mail a échoué" #: judge/views/user.py:627 msgid "Email successfully changed" @@ -3778,12 +3842,138 @@ msgstr "Courriel modifié avec succès" msgid "The email attached to your account has been changed to %s." msgstr "L'e-mail attaché à votre compte a été changé en %s." +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "Éditeur" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "Aperçu" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "Code" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "Ou" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "Gras" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "Italique" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "Ligne Horizontale" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "LaTeX" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "Plein Écran" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "Êtes-vous sûr de vouloir réévaluer TOUTES les soumissions ?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "Évaluer" @@ -3803,13 +3993,13 @@ msgstr "Terminer" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "Désactiver" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "Activer" @@ -3872,7 +4062,7 @@ msgstr "fièrement propulsé par **DMOJ**" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Modifier" @@ -3985,7 +4175,7 @@ msgstr "commenté {time}" msgid "edit %(edits)s" msgstr "modification %(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "modifié" @@ -4021,45 +4211,52 @@ msgstr "Nouveau commentaire" msgid "Invalid comment body." msgstr "Corps du commentaire invalide." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "Répondre au commentaire" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "modification {edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "original" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "Impossible de voter : {error}" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "Êtes-vous sûr de vouloir cacher ce commentaire ?" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "Impossible de cacher le commentaire." -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "mis à jour" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "Impossible de mettre à jour le corps du commentaire." -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "Impossible de modifier le commentaire : {error}" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "Votant" @@ -4072,15 +4269,15 @@ msgstr "Score" msgid "No votes" msgstr "Aucun vote" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "Cliquez pour copier" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "Copier" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "Copié !" @@ -4186,7 +4383,7 @@ msgstr "Cloner" msgid "Leave contest" msgstr "Quitter le concours" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Rejoindre virtuellement" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "Taux d'AC" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Utilisateurs" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "Concours actifs" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Concours" @@ -4451,10 +4648,18 @@ msgstr "Commence dans %(countdown)s" msgid "There are no scheduled contests at this time." msgstr "Il n'y a aucun concours prévu pour le moment." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Concours passés" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "Rechercher les concours..." + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "Êtes-vous sûr de vouloir quitter ?" @@ -4787,10 +4992,6 @@ msgstr "Expulser" msgid "Are you sure you want to kick this user?" msgstr "Êtes-vous sûr de vouloir expulser cet utilisateur ?" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "Mettre à jour l'aperçu" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "Saisissez un nouveau code pour le problème cloné :" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "Organisations affiliées" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "Informez-moi des concours à venir" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "Activer l'Authentification à Deux Facteurs" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "Vous trouverez ci-dessous une liste de codes scratch à usage unique." #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "Ces codes ne peuvent être utilisés qu'une seule fois et sont destinés à être utilisés en cas d'urgence." #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "Vous pouvez utiliser ces codes pour vous connecter à votre compte ou désactiver l'authentification à deux facteurs." @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "Si vous avez besoin de plus de codes scratch, vous pouvez les régénérer dans l'onglet « Modifier le profil »." #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "Veuillez les noter et les conserver dans un endroit sûr." @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "Si vous perdez votre appareil d'authentification et que vous ne pouvez pas utiliser vos codes scratch, les administrateurs de %(site_name)s ne seront PAS en mesure de récupérer votre compte. Veuillez conserver vos codes scratch en lieu sûr !" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "WebAuthn n'est pas supporté par votre navigateur." #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "Impossible de contacter le serveur." @@ -5930,144 +6131,144 @@ msgstr "Rang" msgid "Search by handle..." msgstr "Recherche par nom..." -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "Les administrateurs de ce site exigent que tout le personnel ait l'authentification à deux facteurs activée, elle ne peut donc pas être désactivée pour le moment." -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "Êtes-vous sûr de vouloir générer ou régénérer votre jeton API ?" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "Cela invalidera tous les jetons API précédents." -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "Il permet également d'accéder à votre compte sans authentification à deux facteurs." -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "Vous ne pourrez plus voir votre jeton API après avoir quitté cette page !" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "Génération..." -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "Supprimer" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "Êtes-vous sûr de vouloir supprimer votre jeton API ?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "Générer" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "Êtes-vous sûr de vouloir supprimer cette clé de sécurité ?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "Êtes-vous sûr de vouloir générer ou régénérer un nouveau jeu de codes scratch ?" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "Cela invalidera tous les codes scratch précédents que vous avez." -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "Vous ne pourrez plus voir vos codes scratch après avoir quitté cette page !" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "Auto-description :" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "Sélectionnez votre ville principale la plus proche" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Fuseau horaire :" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Langage :" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "Thème du site :" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "Thème de l'éditeur :" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Moteur mathématique :" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "Organisations affiliées :" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "Changer votre avatar" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "Changer votre mot de passe" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "Jeton API :" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "Caché" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "L'authentification à deux facteurs est activée :" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "Codes scratch :" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "Si vous avez besoin de plus de codes scratch, vous pouvez les régénérer ici." -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "L'authentification à deux facteurs est désactivée :" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "Clés de sécurité :" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "Supprimer" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "Saisissez un nom pour cette clé" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "Ajouter" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "Script utilisateur :" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "Mettre à jour profil" diff --git a/locale/hi/LC_MESSAGES/django.po b/locale/hi/LC_MESSAGES/django.po index 69b829777c..5fa442af9e 100644 --- a/locale/hi/LC_MESSAGES/django.po +++ b/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "अंग्रेज़ी" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "जापानी" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "" @@ -140,125 +140,125 @@ msgstr[1] "" msgid "associated page" msgstr "" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "प्रश्न" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "पुनः जाँच करें" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "प्राथमिकताएँ" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "दर्ज़ा" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "न्याय" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "परिणामों का पुनर्मूल्यांकन करें" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "" @@ -270,9 +270,9 @@ msgstr "" msgid "Summary" msgstr "" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "" msgid "object" msgstr "" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "सोशल (सामाजिक) मीडिया" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "वर्गीकरण" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "अंक" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "सीमाएँ" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "भाषा" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "इतिहास" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "लेखक" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "समय क्षेत्र" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "कुछ नहीं" @@ -427,77 +427,77 @@ msgstr "असाधारण" msgid "Unaccepted" msgstr "अस्वीकृत" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (प्रदर्शनी)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "" msgstr[1] "" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "समय" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "भाषा" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -517,20 +517,20 @@ msgstr "" msgid "Online Judge" msgstr "" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "आपको कम से कम एक समस्या को हल करना होगा आपकी प्रतिक्रिया सुनाने से पहले।" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "" @@ -615,129 +615,129 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "अमान्य पासवर्ड" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "कोई भी परीक्षक" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -746,6 +746,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -827,7 +887,7 @@ msgid "comments" msgstr "" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "" @@ -881,7 +941,7 @@ msgstr "" msgid "contest tag" msgstr "" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "" @@ -957,12 +1017,12 @@ msgstr "" msgid "description" msgstr "" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "" @@ -1043,380 +1103,380 @@ msgstr "" msgid "rate all" msgstr "" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." +#: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." msgstr "" -#: judge/models/contest.py:118 +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1468,7 +1528,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1634,7 +1694,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "" @@ -1750,111 +1810,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -2994,40 +3058,40 @@ msgstr "" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3036,111 +3100,111 @@ msgstr "" msgid "Contests" msgstr "" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3577,52 +3641,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3685,7 +3749,7 @@ msgstr "" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3727,7 +3791,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3778,12 +3842,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3803,13 +3993,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3872,7 +4062,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -3985,7 +4175,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4021,45 +4211,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4072,15 +4269,15 @@ msgstr "" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4186,7 +4383,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "" @@ -4451,10 +4648,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4787,10 +4992,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5930,144 +6131,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/hr/LC_MESSAGES/django.po b/locale/hr/LC_MESSAGES/django.po index 6b96de91dd..020d9580e4 100644 --- a/locale/hr/LC_MESSAGES/django.po +++ b/locale/hr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Croatian\n" "Language: hr_HR\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Katalonski" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Njemački" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Grčki" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Engleski" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Španjolski" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Francuski" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Hrvatski" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Mađarski" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japanski" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazaški" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Korejski" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Brazilski Portugalski" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Rumunjski" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Ruski" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Srpski (Latinica)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Turski" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vijetnamski" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Pojednostavljeni Kineski" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Tradicionalni kineski" @@ -142,63 +142,63 @@ msgstr[2] "%d komentara uspješno otkriveno." msgid "associated page" msgstr "povezana stranica" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Uključena natjecanja" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Zadatak" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Zadaci" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Ponovno evaluiraj" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Postavke" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Raspoređivanje" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Pojedinosti" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Oblik" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Bodovi" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Pristup" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Pravda" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Označi natjecanja vidljivima" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." @@ -206,11 +206,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Označi natjecanja skrivenima" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." @@ -218,11 +218,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Zaključaj predavanje rješenja na natjecanju" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." @@ -230,11 +230,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Otključaj predavanje rješenja na natjecanju" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." @@ -242,7 +242,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." @@ -250,11 +250,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Ponovno izračunaj rezultate" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." @@ -262,11 +262,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "korisničko ime" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "virtualno" @@ -278,9 +278,9 @@ msgstr "putanja veze" msgid "Summary" msgstr "Sažetak" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -290,57 +290,57 @@ msgstr "korisnik" msgid "object" msgstr "" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Prikaži na stranici" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Opišite promjene koje ste napravili (neobavezno)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Društveni Mediji" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Taksonomija" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Bodovi" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Ograničenja" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Jezik" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Povijest" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "autori" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." @@ -348,11 +348,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Označi zadatke javnima" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." @@ -360,11 +360,11 @@ msgstr[0] "%d zadatak uspješno postavljen kao javno." msgstr[1] "%d zadataka uspješno postavljeno kao javni." msgstr[2] "%d zadataka uspješno postavljeno kao javni." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Označi zadatke privatnima" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." @@ -372,31 +372,31 @@ msgstr[0] "%d zadatak uspješno postavljen kao privatan." msgstr[1] "%d zadataka uspješno postavljeno kao privatni." msgstr[2] "%d zadataka uspješno postavljeno kao privatni." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "zadatak" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "vremenska zona" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "datum registracije" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Ponovno izračunavanje rezultata" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." @@ -404,26 +404,26 @@ msgstr[0] "%d korisnik je ponovno izračunao bodove." msgstr[1] "%d korisnika je ponovno izračunalo bodove." msgstr[2] "%d korisnika je ponovno izračunalo bodove." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Opis" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Informacije" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Mogućnosti" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Nepoznato" @@ -439,39 +439,39 @@ msgstr "Izuzetno" msgid "Unaccepted" msgstr "Odbijeno" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s u %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Reevaluiraj označena predana rješenja" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Nemate dozvolu za ponovno evaluiranje predanog rješenja." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "Nemate dozvolu za ponovnu evaluaciju toliko puno predanih rješenja." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Ponovno ocijeni označena predana rješenja" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." @@ -479,38 +479,38 @@ msgstr[0] "%d predano rješenje je uspješno ponovno ocijenjeno." msgstr[1] "%d predanih rješenja je uspješno ponovno ocijenjeno." msgstr[2] "%d predanih rješenja je uspješno ponovno ocijenjeno." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "kod zadatka" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "ime zadatka" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "vrijeme" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "memorija" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "jezik" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -530,20 +530,20 @@ msgstr "Ovi zadaci imaju ovaj tip zadatka." msgid "Online Judge" msgstr "Evaluator" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Tekst komentara" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "Budi tiho, mala žabice." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Objavljen komentar" @@ -630,7 +630,7 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "IOI (prije 2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." @@ -638,31 +638,31 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Pogrešan token autentikacije u dva koraka." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Pretplati se na novosti na natjecanju" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Uključi eksperimentalne opcije" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." @@ -670,91 +670,91 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Preuzmi komentare?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "Preuzmi predana rješenja?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Filtriraj prema rezultatu:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "Molimo označite barem jednu stavku za preuzimanje." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Bilo koji evaluator" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Korisničko ime" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Lozinka" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "Pogrešan WebAuthn odgovor." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "ID zadatka mora biti ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "Već postoji zadatak koji koristi taj ID." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "ID natjecanja mora biti ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Već postoji natjecanje koje koristi taj ID." @@ -763,6 +763,66 @@ msgstr "Već postoji natjecanje koje koristi taj ID." msgid "N j, Y, g:i a" msgstr "j. N Y. G:i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -844,7 +904,7 @@ msgid "comments" msgstr "komentari" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Objašnjenje za %s" @@ -898,7 +958,7 @@ msgstr "opis oznake" msgid "contest tag" msgstr "oznaka natjecanja" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "oznake natjecanja" @@ -974,12 +1034,12 @@ msgstr "" msgid "description" msgstr "opis" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "zadaci" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "vrijeme početka" @@ -988,7 +1048,7 @@ msgid "end time" msgstr "vrijeme kraja" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "vremensko ograničenje" @@ -1060,380 +1120,380 @@ msgstr "" msgid "rate all" msgstr "boduj sve" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Boduj sve korisnike koji su se pridružili." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "izostavi iz bodovanja" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "sakrij oznake zadataka" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Trebaju li oznake zadataka biti zadano skrivene." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "pokreni samo predtestiranje" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "privatno za organizacije" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "organizacije" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "OpenGraph slika" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "trenutni broj natjecatelja" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "sažetak natjecanja" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "persona non grata" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "Zabranjuje označenom korisniku pridruživanje natjecanju." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "oblik natjecanja" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Pregledaj privatna natjecanja" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Uredi vlastita natjecanja" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Uredi sva natjecanja" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "Kloniraj natjecanje" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSS natjecanje" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "natjecanje" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "natjecanja" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "bodovi" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "bodovi" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "redoslijed" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "predano rješenje" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "sudjelovanje" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "bodovi" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1485,7 +1545,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1651,7 +1711,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "memorijsko ograničenje" @@ -1767,111 +1827,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -3014,40 +3078,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3056,111 +3120,111 @@ msgstr "" msgid "Contests" msgstr "Natjecanja" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "Kloniraj Natjecanje" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "F Y." -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Sudjelovanje" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3602,52 +3666,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3710,7 +3774,7 @@ msgstr "j. M Y. G:i" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3752,7 +3816,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3803,12 +3867,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3828,13 +4018,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3897,7 +4087,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -4010,7 +4200,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4046,45 +4236,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4097,15 +4294,15 @@ msgstr "Bodovi" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4211,7 +4408,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4403,7 +4600,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4456,7 +4653,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Natjecanje" @@ -4479,10 +4676,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4816,10 +5021,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5515,7 +5716,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5565,17 +5766,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5584,7 +5785,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5602,12 +5803,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5971,144 +6172,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Vremenska zona:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Jezik:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/hu/LC_MESSAGES/django.po b/locale/hu/LC_MESSAGES/django.po index 15869a0e68..9b8ad3670a 100644 --- a/locale/hu/LC_MESSAGES/django.po +++ b/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Katalán" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Német" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Görög" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Angol" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Spanyol" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Francia" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Horvát" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Magyar" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japán" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazak" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Koreai" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Román" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Orosz" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Szerb (Latin)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Török" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vietnami" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Egyszerűsített Kínai" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Hagyományos kínai" @@ -140,125 +140,125 @@ msgstr[1] "%d megjegyzés újra megjelenítve." msgid "associated page" msgstr "kapcsolódó lap" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Hozzárendelt versenyek" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Feladat" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Feladatok" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Újratesztel" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Időbeosztás" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Részletek" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Értékelés" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Igazságszolgáltatás" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "felhasználónév" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "virtuális" @@ -270,9 +270,9 @@ msgstr "csatolási útvonal" msgid "Summary" msgstr "Összefoglalás" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "felhasználó" msgid "object" msgstr "" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Nézd meg élesben" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Ismertesd a módosításokat (opcionális)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Közösségi Média" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Rendszerezés" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Pontok" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Limitek" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Nyelv" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Előzmények" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "szerzők" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Jelöld publikusnak a problémákat" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "%d probléma sikeresen publikusnak jelölve." msgstr[1] "%d probléma sikeresen publikusnak jelölve." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Jelöld a problémákat privátnak" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "%d probléma sikeresen privátnak jelölve." msgstr[1] "%d probléma sikeresen privátnak jelölve." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "feladat" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "időzóna" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "csatlakozás dátuma" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Pontok újraszámítása" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "%d felhasználó pontja újraszámolva." msgstr[1] "%d felhasználó pontja újraszámolva." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Leírás" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Információ" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Képességek" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Semmi" @@ -427,77 +427,77 @@ msgstr "Kivételes" msgid "Unaccepted" msgstr "Nem elfogadott" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s - %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "A kiválasztott feltöltések újratesztelése" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Nincs jogosultságod a feltöltések újratesztelésére." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "Nincs jogosultságod ilyen sok feltöltés újratesztelésére." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "A kiválasztott feltöltések újrapontozása" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d feltöltés sikeresen újrapontozva." msgstr[1] "%d feltöltés sikeresen újrapontozva." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "feladat azonosító" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "feladat név" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "idő" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "memória" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "nyelv" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -517,20 +517,20 @@ msgstr "Ezek a problémák tartoznak ehhez a típushoz." msgid "Online Judge" msgstr "Online Tesztelő" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Hozzászólás törzse" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "Az útvonalad csendes, kis varangy." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Elküldött hozzászólás" @@ -615,129 +615,129 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Iratkozz fel hírlevelünkre" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Kísérleti funkciók engedélyezése" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Felhasználónév" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Jelszó" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "A feladat azonosítónak ^[a-z0-9]+$ kell lennie" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "A verseny azonosítójának ^[a-z0-9]+$ kell lennie" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -746,6 +746,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "Y. N j., G:i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -827,7 +887,7 @@ msgid "comments" msgstr "hozzászólások" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Megoldási útmutató %s-hez" @@ -881,7 +941,7 @@ msgstr "címke leírása" msgid "contest tag" msgstr "verseny címkéje" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "verseny cimkéi" @@ -957,12 +1017,12 @@ msgstr "" msgid "description" msgstr "leírás" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "feladatok" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "kezdés" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "befejezés" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "időkorlát" @@ -1043,380 +1103,380 @@ msgstr "" msgid "rate all" msgstr "összes értékelése" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Értékelése az összes felhasználónak, aki csatlakozott." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "kizárás a értékelésből" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "feladat címkék elrejtése" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "csak pretesztek futtatása" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "privát a csoport számára" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "csoportok" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "OpenGraph kép" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "az éles résztvevők száma" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "verseny összefoglaló" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "hozzáférési kód" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "nemkívánatos személy" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Privát versenyek mutatása" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Saját versenyek szerkesztése" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Az összes verseny szerkesztése" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Versenyek értékelése" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "Verseny hozzáférési kódok" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "verseny" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "versenyek" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "pontszám" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "összes idő" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "virtuális részvételi azonosító" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "verseny részvétel" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "verseny részvételek" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "pontok" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "részleges" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "pretesztes-e" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "sorrend" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "versenyfeladat" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "versenyfeladatok" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "feltöltés" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "részvétel" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "verseny feltöltés" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "verseny feltöltések" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "helyezés" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "értékelés" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "utolsó értékelt" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "verseny értékelés" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "verseny értékelések" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1468,7 +1528,7 @@ msgstr "bejegyzés címe" msgid "slug" msgstr "csonk" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "láthatóság" @@ -1634,7 +1694,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "A feladat időlimitje másodpercekben. Tört másodperceket (pl. 1.5) is írhatunk." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "memória korlát" @@ -1750,111 +1810,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "lefordított név" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "lefordított leírás" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "feladat fordítás" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "feladat fordítások" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "pontosított feladat" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "pontosítás törzse" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "pontosítás időbélyege" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "nyelv specifikus erőforrás korlát" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "nyelv specifikus erőforrás korlátok" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "hozzárendelt probléma" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "publikálás dátuma" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "megoldási útmutató tartalom" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "megoldás" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "megoldások" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -2994,40 +3058,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "Játszogatunk, he?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Már szavaztál." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "Szerkesztve az oldalról" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "Hozzászólás szerkesztése" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "Nincs ilyen verseny" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "Nem található verseny a \"%s\" kulccsal." @@ -3036,111 +3100,111 @@ msgstr "Nem található verseny a \"%s\" kulccsal." msgid "Contests" msgstr "Versenyek" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "Nem található ilyen verseny." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "Hozzáférés a \"%s\" versenyhez megtagadva" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "A verseny nincs folyamatban" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" nincs folyamatban." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "Add meg a hozzáférési kódot a \"%s\"-hoz" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "Nem vagy a \"%s\" versenyben." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "Y. F" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Részvétel" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3577,52 +3641,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Hibajegy cím" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Probléma leírása" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "Új hibajegy %s-hez" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "Új Hibajegy: %s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3685,7 +3749,7 @@ msgstr "Y. M j., G:i" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3727,7 +3791,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3778,12 +3842,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3803,13 +3993,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3872,7 +4062,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Szerkesztés" @@ -3985,7 +4175,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "szerkesztett" @@ -4021,45 +4211,52 @@ msgstr "Új hozzászólás" msgid "Invalid comment body." msgstr "Érvénytelen hozzászólás törzs." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4072,15 +4269,15 @@ msgstr "Pont" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4186,7 +4383,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Virtuális csatlakozás" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "AC arány" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Felhasználók" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Verseny" @@ -4451,10 +4648,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "Jelenleg nincs ütemezett verseny." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Elmúlt versenyek" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4787,10 +4992,6 @@ msgstr "Kirúg" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "Kapcsolódó csoportok" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5930,144 +6131,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "Önleírás:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Időzóna:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Nyelv:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Matek motor:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "Kapcsolódó csoportok:" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "Felhasználói szkript:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/it/LC_MESSAGES/django.po b/locale/it/LC_MESSAGES/django.po index 7877f472c9..d5348b7b0f 100644 --- a/locale/it/LC_MESSAGES/django.po +++ b/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Catalano" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Tedesco" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Greco" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Inglese" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Spagnolo" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Francese" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Croato" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Ungherese" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Giapponese" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazako" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Coreano" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Rumeno" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Russo" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Turco" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vietnamita" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Cinese Semplificato" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Cinese Tradizionale" @@ -140,125 +140,125 @@ msgstr[1] "" msgid "associated page" msgstr "" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Problemi" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Impostazioni" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Dettagli" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Formato" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Valutazione" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Accesso" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "nome utente" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "virtuale" @@ -270,9 +270,9 @@ msgstr "" msgid "Summary" msgstr "Riassunto" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "utente" msgid "object" msgstr "" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "" @@ -427,77 +427,77 @@ msgstr "" msgid "Unaccepted" msgstr "" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "" msgstr[1] "" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -517,20 +517,20 @@ msgstr "" msgid "Online Judge" msgstr "" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "" @@ -615,129 +615,129 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -746,6 +746,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -827,7 +887,7 @@ msgid "comments" msgstr "" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "" @@ -881,7 +941,7 @@ msgstr "" msgid "contest tag" msgstr "" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "" @@ -957,12 +1017,12 @@ msgstr "" msgid "description" msgstr "" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "" @@ -1043,380 +1103,380 @@ msgstr "" msgid "rate all" msgstr "" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." +#: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." msgstr "" -#: judge/models/contest.py:118 +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1468,7 +1528,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1634,7 +1694,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "" @@ -1750,111 +1810,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -2994,40 +3058,40 @@ msgstr "" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3036,111 +3100,111 @@ msgstr "" msgid "Contests" msgstr "" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3577,52 +3641,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3685,7 +3749,7 @@ msgstr "" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3727,7 +3791,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3778,12 +3842,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3803,13 +3993,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3872,7 +4062,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -3985,7 +4175,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4021,45 +4211,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4072,15 +4269,15 @@ msgstr "" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4186,7 +4383,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "" @@ -4451,10 +4648,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4787,10 +4992,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5930,144 +6131,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/ja/LC_MESSAGES/django.po b/locale/ja/LC_MESSAGES/django.po index 798b620c97..ee347f86ff 100644 --- a/locale/ja/LC_MESSAGES/django.po +++ b/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "カタロニア語" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "ドイツ語" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "ギリシャ語" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "英語" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "スペイン語" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "フランス語" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "クロアチア語" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "ハンガリー語" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "日本語" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "カザフ語" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "韓国語" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "ポルトガル語(ブラジル)" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "ルーマニア語" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "ロシア語" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "セルビア語(ラテン)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "トルコ語" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "ベトナム語" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "簡体字中国語" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "繁体字中国語" @@ -121,7 +121,7 @@ msgstr "コメントを非表示にする" #, python-format msgid "%d comment successfully hidden." msgid_plural "%d comments successfully hidden." -msgstr[0] "%dコメントを正常に非表示にしました。" +msgstr[0] "%dコメントを非表示にしました。" #: judge/admin/comments.py:47 msgid "Unhide comments" @@ -138,119 +138,119 @@ msgstr[0] "%dコメントの非表示を正常に解除しました。" msgid "associated page" msgstr "関連するページ" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "含まれているコンテスト" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "課題" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "課題" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "再判定" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "設定" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "スケジュール" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "詳細" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "フォーマット" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" -msgstr "評価" +msgstr "レーティング" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "アクセス" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "正義" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "コンテストを公開する" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "%d個のコンテストを公開しました。" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "コンテストを非公開にする" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "%d個のコンテストを非公開としました。" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "コンテストの提出の受付を中止する" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." -msgstr[0] "" +msgstr[0] "%d個のコンテストを受付中止にしました。" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "コンテストの提出の受付を再開する" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." -msgstr[0] "" +msgstr[0] "%d個のコンテストを受付可能にしました。" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." -msgstr[0] "%d個の提出を再判定するよう設定しました。" +msgstr[0] "%d個の提出物の再判定を設定しました。" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "再計算の結果" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "%d人の参加者を再計算。" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "利用者名" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "仮想" @@ -262,9 +262,9 @@ msgstr "リンクパス" msgid "Summary" msgstr "概要" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -274,132 +274,132 @@ msgstr "利用者" msgid "object" msgstr "オブジェクト" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "サイト上で表示する" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "編集の理由" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" -msgstr "あなたの変更を記述する(オプショナル)" +msgstr "変更部分の説明(任意)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "ソーシャルメディア" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "分類" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "点数" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "制限" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "言語" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "履歴" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "著者" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" -msgstr "公開日付を現在に設定する" +msgstr "公開日を現在に設定する" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." -msgstr[0] "" +msgstr[0] "%d個の課題の公開日を更新しました。" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" -msgstr "課題をパブリックに印付けます" +msgstr "課題を公開する" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." -msgstr[0] "%d個の課題はパブリックとして印付けられました。" +msgstr[0] "%d個の課題を公開しました。" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" -msgstr "課題をプライベートに印付けます" +msgstr "課題を非公開にする" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." -msgstr[0] "%d個の課題はプライベートとして印付けられました。" +msgstr[0] "%d個の課題を非公開としました。" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "課題" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "時間帯" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "電子メール" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "入会日" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "得点を再計算する" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." -msgstr[0] "%d人の利用者の得点が再計算されました。" +msgstr[0] "%d人の得点が再計算されました。" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" -msgstr "" +msgstr "再生成" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "説明" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "情報" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" -msgstr "機能" +msgstr "判定能力" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "なし" @@ -415,82 +415,82 @@ msgstr "例外" msgid "Unaccepted" msgstr "合格しなかった" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" -msgstr "" +msgstr "%s(観戦中)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(contest)s 中の %(problem)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "選択された提出物を再判定する" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "あなたには提出物を再判定する権限がありません。" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "あなたには、それら多くの提出物を再判定する権限がありません。" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "選択した提出物を再採点する" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d個の提出物が正常に再採点されました。" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" -msgstr "課題のコード" +msgstr "課題コード" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "課題名" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "時間" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "メモリ" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "言語" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" #: judge/admin/taxon.py:11 judge/admin/taxon.py:34 msgid "Included problems" -msgstr "含まれる課題" +msgstr "このタイプの課題" #: judge/admin/taxon.py:14 msgid "These problems are included in this group of problems." @@ -504,20 +504,20 @@ msgstr "これらの課題は、この課題タイプに含まれている。" msgid "Online Judge" msgstr "オンライン判定" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "コメント本文" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "お黙り、ヒキガエル。" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." -msgstr "" +msgstr "コメントを書くには、少なくとも1度は課題を解く必要があります。" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "投稿されたコメント" @@ -528,7 +528,7 @@ msgstr "AtCoder" #: judge/contest_format/atcoder.py:117 judge/contest_format/default.py:79 #: judge/contest_format/icpc.py:127 judge/contest_format/legacy_ioi.py:97 msgid "The maximum score submission for each problem will be used." -msgstr "" +msgstr "各課題の最大得点の提出が使用されます。" #: judge/contest_format/atcoder.py:122 judge/contest_format/icpc.py:132 #, python-format @@ -554,7 +554,7 @@ msgstr "ECOO" #: judge/contest_format/ecoo.py:130 msgid "The score on your **last** non-CE submission for each problem will be used." -msgstr "" +msgstr "各問題のCE判定でない **最後の** 提出の得点が使用されます。" #: judge/contest_format/ecoo.py:135 #, python-format @@ -569,12 +569,12 @@ msgstr[0] "" #: judge/contest_format/ecoo.py:147 msgid "Ties will be broken by the sum of the last submission time on **all** problems." -msgstr "" +msgstr "同点の場合は、**すべての**課題の最後の提出時間の合計で判定されます。" #: judge/contest_format/ecoo.py:149 judge/contest_format/ioi.py:102 #: judge/contest_format/legacy_ioi.py:103 msgid "Ties by score will **not** be broken." -msgstr "" +msgstr "スコアが同じ場合は同点となります。" #: judge/contest_format/icpc.py:19 msgid "ICPC" @@ -590,7 +590,7 @@ msgstr "国際情報オリンピック" #: judge/contest_format/ioi.py:96 msgid "The maximum score for each problem batch will be used." -msgstr "" +msgstr "各課題バッチの最大得点が使用されます。" #: judge/contest_format/ioi.py:99 judge/contest_format/legacy_ioi.py:100 msgid "Ties will be broken by the sum of the last score altering submission time on problems with a non-zero score." @@ -600,127 +600,127 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "国際情報オリンピック(2016年以前)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "二要素認証のトークンは{count}桁の数字でなければなりません。" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "無効な二要素認証トークンです。" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." -msgstr "" +msgstr "スクラッチコードは16文字の Base32 文字でなければなりません。" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." -msgstr "" +msgstr "無効なスクラッチコード。" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "コンテストの更新を購読する" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" -msgstr "実験的な機能を有効化する" +msgstr "実験的機能の有効化" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." -msgstr "" +msgstr "プロフィールを更新するには、少なくとも1つの課題を解く必要があります。" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." -msgstr[0] "あなたは{count}個以上の公開組織に参加できない場合があります。" +msgstr[0] "{count}個より多い公開組織には参加できません。" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." -msgstr "" +msgstr "このメールアドレスはすでに使用されています。" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" -msgstr "" +msgstr "間違ったパスワード" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" -msgstr "" +msgstr "コメントをダウンロードしますか?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" -msgstr "" +msgstr "提出をダウンロードしますか?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" -msgstr "" +msgstr "課題コードの glob での絞込み:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" -msgstr "" +msgstr "すべての提出物を含める場合は空のままにする" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" -msgstr "結果で絞り込む:" +msgstr "結果での絞込み:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." -msgstr "ダウンロードするパッケージを少なくとも1つ選択してください。" +msgstr "ダウンロードするものを少なくとも1つは選択してください。" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" -msgstr "" +msgstr "任意の判定器" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "利用者名" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "パスワード" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." -msgstr "" +msgstr "不正なコード長。" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." -msgstr "" +msgstr "不正な WebAuthn レスポンス。" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." -msgstr "" +msgstr "WebAuthn のチャレンジが行われませんでした。" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." -msgstr "" +msgstr "不正な WebAuthn クレデンシャル ID。" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." -msgstr "" +msgstr "不正な二要素認証トークンあるいは Scratch コード。" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." -msgstr "" +msgstr "totp_token か webauthn_response を指定する必要があります。" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "課題のコードは ^[a-z0-9]+$ でなければなりません" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "このコードを使用している問題はすでに存在しています。" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "コンテスト id は ^[a-z0-9]+$ でなければなりません" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "同じキーを持つコンテストはすでに存在しています。" @@ -729,13 +729,73 @@ msgstr "同じキーを持つコンテストはすでに存在しています。 msgid "N j, Y, g:i a" msgstr "Y年n月j日 G:i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "未評価" #: judge/models/choices.py:24 msgid "Follow site theme" -msgstr "" +msgstr "サイトのテーマに従う" #: judge/models/choices.py:60 msgid "Leave as LaTeX" @@ -759,7 +819,7 @@ msgstr "最高品質を検出する" #: judge/models/choices.py:70 msgid "Follow system default" -msgstr "" +msgstr "システムの設定に従う" #: judge/models/choices.py:71 msgid "Light" @@ -799,7 +859,7 @@ msgstr "親" #: judge/models/comment.py:36 msgid "revisions" -msgstr "" +msgstr "リビジョン" #: judge/models/comment.py:39 msgid "comment" @@ -810,7 +870,7 @@ msgid "comments" msgstr "コメント" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "%s の論説" @@ -830,15 +890,15 @@ msgstr "コメント投票" #: judge/models/comment.py:187 msgid "Override comment lock" -msgstr "" +msgstr "コメントロックを上書きできる" #: judge/models/comment.py:189 msgid "comment lock" -msgstr "" +msgstr "コメントロック" #: judge/models/comment.py:190 msgid "comment locks" -msgstr "" +msgstr "コメントロック" #: judge/models/contest.py:28 msgid "Invalid colour." @@ -864,25 +924,25 @@ msgstr "タグの説明" msgid "contest tag" msgstr "コンテストのタグ" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "コンテストのタグ" #: judge/models/contest.py:62 msgid "Visible" -msgstr "" +msgstr "閲覧可能" #: judge/models/contest.py:63 msgid "Hidden for duration of contest" -msgstr "" +msgstr "コンテスト中は非表示" #: judge/models/contest.py:64 msgid "Hidden for duration of participation" -msgstr "" +msgstr "参加中は非表示" #: judge/models/contest.py:65 msgid "Hidden permanently" -msgstr "" +msgstr "永久に非表示" #: judge/models/contest.py:67 msgid "contest id" @@ -894,7 +954,7 @@ msgstr "コンテスト名" #: judge/models/contest.py:71 msgid "These users will be able to edit the contest." -msgstr "" +msgstr "コンテストを編集することができるユーザー。" #: judge/models/contest.py:73 judge/models/problem.py:127 msgid "curators" @@ -902,7 +962,7 @@ msgstr "キュレーター" #: judge/models/contest.py:74 msgid "These users will be able to edit the contest, but will not be listed as authors." -msgstr "" +msgstr "コンテストを編集できるが作成者としては表示されないユーザー。" #: judge/models/contest.py:77 judge/models/problem.py:130 msgid "testers" @@ -910,42 +970,42 @@ msgstr "テスター" #: judge/models/contest.py:78 msgid "These users will be able to view the contest, but not edit it." -msgstr "" +msgstr "コンテストを見ることはできるが編集できないユーザー。" #: judge/models/contest.py:80 msgid "testers see scoreboard" -msgstr "" +msgstr "テスターがスコアボードを見られる" #: judge/models/contest.py:81 msgid "If testers can see the scoreboard." -msgstr "" +msgstr "テスターがスコアボードを見ることができるかどうか。" #: judge/models/contest.py:82 msgid "testers see submissions" -msgstr "" +msgstr "テスターは提出を見られる" #: judge/models/contest.py:83 msgid "If testers can see in-contest submissions." -msgstr "" +msgstr "テスターがコンテスト内の提出物を見ることができるかどうか。" #: judge/models/contest.py:84 msgid "spectators" -msgstr "" +msgstr "観戦者" #: judge/models/contest.py:85 msgid "These users will be able to spectate the contest, but not see the problems ahead of time." -msgstr "" +msgstr "コンテストを観戦できるが、事前には課題を見ることができないユーザー。" #: judge/models/contest.py:88 judge/models/runtime.py:142 msgid "description" msgstr "説明" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "課題" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "開始時刻" @@ -954,7 +1014,7 @@ msgid "end time" msgstr "終了時刻" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "時間制限" @@ -976,27 +1036,27 @@ msgstr "このコンテストを評価できるようにするか。" #: judge/models/contest.py:99 msgid "view contest scoreboard" -msgstr "" +msgstr "コンテストのスコアボードを表示" #: judge/models/contest.py:101 msgid "These users will be able to view the scoreboard." -msgstr "" +msgstr "スコアボードを見ることができるユーザー。" #: judge/models/contest.py:102 msgid "can see contest submissions" -msgstr "" +msgstr "コンテストの提出を見られる" #: judge/models/contest.py:104 msgid "These users will be able to see in-contest submissions." -msgstr "" +msgstr "コンテスト内の提出を見ることができるユーザー。" #: judge/models/contest.py:106 msgid "scoreboard visibility" -msgstr "" +msgstr "スコアボードの表示" #: judge/models/contest.py:107 msgid "Scoreboard visibility through the duration of the contest." -msgstr "" +msgstr "コンテスト期間中のスコアボードの表示。" #: judge/models/contest.py:109 msgid "no comments" @@ -1008,400 +1068,400 @@ msgstr "コメントではなく解説システムを使う。" #: judge/models/contest.py:112 msgid "rating floor" -msgstr "" +msgstr "レーティング下限" #: judge/models/contest.py:113 msgid "Do not rate users who have a lower rating." -msgstr "" +msgstr "これより低いレートの利用者は評価しない。" #: judge/models/contest.py:114 msgid "rating ceiling" -msgstr "" +msgstr "レーティング上限" #: judge/models/contest.py:115 msgid "Do not rate users who have a higher rating." -msgstr "" +msgstr "これより高いレートの利用者は評価しない。" #: judge/models/contest.py:117 msgid "rate all" msgstr "全てを評価する" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "参加している全ての利用者を評価する。" - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "評価から除外する" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" -msgstr "" +msgstr "特定の利用者のみ" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "プライベートな参加者" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." -msgstr "" +msgstr "空でない場合、それらの利用者のみがコンテストを見ることができます。" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "課題のタグを非表示にする" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "課題タグをデフォルトで非表示にするかどうか。" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" -msgstr "" +msgstr "課題の作者を非表示" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." -msgstr "" +msgstr "課題の作者をデフォルトで非表示にするかどうか。" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "予備テストのみ実行する" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "判定器が予備テストだけを採点するか、全てのテストケースを行なうか。一般的にはコンテスト中に設定し、コンテストが終了して利用者の提出物を再判定する前に解除する。" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" -msgstr "" +msgstr "設定を短く表示" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." -msgstr "" +msgstr "コンテストページに、コンテストの設定を表示するかどうか。" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "組織へプライベートにする" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "組織" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." -msgstr "" +msgstr "空でなければ、それらの組織のみがコンテストを見ることができます。" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" -msgstr "" +msgstr "参加できる組織を制限" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" -msgstr "" +msgstr "参加可能組織" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." -msgstr "" +msgstr "空でない場合、それらの組織のみがコンテストに参加できます。" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" -msgstr "" +msgstr "クラス" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." -msgstr "" +msgstr "組織が制限されている場合、これらのクラスのみがコンテストを見ることができます。" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "OpenGraph 画像" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "ライブ参加者の人数" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "コンテスト概要" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "ソーシャルメディアなどのメタ説明タグに表示されるプレーンテキスト。" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "アクセスコード" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "コンテストへの参加が許可される前に競技者に提示するオプションのコード。無効にするには空白のままにします。" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "感謝しない人" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "選択した利用者の、このコンテストへの参加を禁止する。" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" -msgstr "" +msgstr "コンテストの形式" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." -msgstr "" +msgstr "使用するコンテスト形式のモジュール。" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" -msgstr "" +msgstr "コンテスト形式の構成" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." -msgstr "" +msgstr "選択したコンテスト形式モジュールの構成として提供されるJSONオブジェクト。None とするには空のままにします。正確なフォーマットは選択したコンテスト形式により異なります。" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" -msgstr "" +msgstr "コンテストの課題ラベルのためのスクリプト" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." -msgstr "" +msgstr "課題ラベルを生成するためのカスタムLua関数。0から始まる課題番号である整数値を引数として、課題ラベルを文字列として返す一つの関数が必要。" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" -msgstr "" +msgstr "コンテスト閉鎖日" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." -msgstr "" +msgstr "この日以降はコンテストへの提出物は再判定されない。" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" -msgstr "" +msgstr "得点の精度" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." -msgstr "" +msgstr "得点を何桁で四捨五入するか。" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "プライベートのコンテストを見る" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "自分のコンテストを編集する" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "全てのコンテストを編集する" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "コンテストをクローンする" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSSコンテスト" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "コンテストを評価する" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "コンテストのアクセスコード" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "プライベートなコンテストの生成" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" -msgstr "" +msgstr "コンテストの表示・非表示の変更" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" -msgstr "" +msgstr "コンテストの課題ラベルの編集" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" -msgstr "" +msgstr "コンテストの閉鎖日の変更" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "コンテスト" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "コンテスト" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "関連するコンテスト" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "得点" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "累積時間" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" -msgstr "" +msgstr "失格" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." -msgstr "" +msgstr "この参加者が失格かどうか。" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "仮想参加 id" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." -msgstr "" +msgstr "n番目の仮想参加者(0 の場合は仮想参加者ではない)。" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" -msgstr "" +msgstr "コンテスト形式の構成データ" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" -msgstr "" +msgstr "%(contest)sを観戦中の%(user)s" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" -msgstr "" +msgstr "%(contest)sの%(user)s、v%(id)d" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" -msgstr "" +msgstr "%(contest)sの%(user)s" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "コンテスト参加者" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "コンテスト参加者" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "点数" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "部分点" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "予備テストされているか" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "順番" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "出力プレフィックス長のオーバーライド" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" -msgstr "" +msgstr "最大提出数" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." -msgstr "" +msgstr "この課題に対する最大提出数。制限がない場合は空。" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "なぜあなたが提出できない課題を含むのか?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "コンテストの課題" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "コンテストの課題" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "提出" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "参加者" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "この提出物が予備テストだけを実行したのかどうか。" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "コンテスト提出" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "コンテスト提出" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "順位" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "評価" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "最後の評価" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "コンテストの評価" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "コンテストの評価" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" -msgstr "" +msgstr "コンテストの Moss (Measure of Software Similarity) 結果" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" -msgstr "" +msgstr "コンテストの Moss (Measure of Software Similarity) 結果" #: judge/models/interface.py:17 judge/models/problem.py:60 msgid "key" @@ -1445,15 +1505,15 @@ msgstr "親項目" #: judge/models/interface.py:66 msgid "post title" -msgstr "投稿の題目" +msgstr "タイトル" #: judge/models/interface.py:68 msgid "slug" msgstr "スラグ" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" -msgstr "一般公開" +msgstr "公開" #: judge/models/interface.py:70 msgid "sticky" @@ -1461,7 +1521,7 @@ msgstr "スティッキー" #: judge/models/interface.py:71 msgid "publish after" -msgstr "後に発行する" +msgstr "投稿日" #: judge/models/interface.py:72 msgid "post content" @@ -1473,11 +1533,11 @@ msgstr "投稿の概要" #: judge/models/interface.py:96 msgid "Edit all posts" -msgstr "すべての投稿を編集する" +msgstr "すべての投稿を編集できる" #: judge/models/interface.py:97 msgid "Edit post visibility" -msgstr "" +msgstr "投稿の公開・非公開を変更できる" #: judge/models/interface.py:99 msgid "blog post" @@ -1490,15 +1550,15 @@ msgstr "ブログ投稿" #: judge/models/problem.py:29 #, python-format msgid "Disallowed characters: %(value)s" -msgstr "" +msgstr "使用不可文字: %(value)s" #: judge/models/problem.py:34 msgid "problem category ID" -msgstr "課題分類 ID" +msgstr "課題タイプID" #: judge/models/problem.py:35 msgid "problem category name" -msgstr "課題分類名" +msgstr "課題タイプの名称" #: judge/models/problem.py:42 msgid "problem type" @@ -1510,11 +1570,11 @@ msgstr "課題のタイプ" #: judge/models/problem.py:47 msgid "problem group ID" -msgstr "課題のグループ ID" +msgstr "課題グループ ID" #: judge/models/problem.py:48 msgid "problem group name" -msgstr "課題のグループ名" +msgstr "課題グループの名称" #: judge/models/problem.py:55 judge/models/problem.py:135 msgid "problem group" @@ -1563,19 +1623,19 @@ msgstr "ライセンス" #: judge/models/problem.py:111 msgid "Follow global setting" -msgstr "" +msgstr "全体の設定に従う" #: judge/models/problem.py:112 msgid "Always visible" -msgstr "" +msgstr "常に表示" #: judge/models/problem.py:113 msgid "Visible if problem solved" -msgstr "" +msgstr "課題を解いた後に表示" #: judge/models/problem.py:114 msgid "Only own submissions" -msgstr "" +msgstr "自分の提出のみ" #: judge/models/problem.py:119 msgid "A short, unique code for the problem, used in the URL after /problem/" @@ -1583,7 +1643,7 @@ msgstr "問題に対する短くて唯一なコード、URL で /problem/ の後 #: judge/models/problem.py:121 msgid "The full name of the problem, as shown in the problem list." -msgstr "" +msgstr "課題リストに表示されるような課題の完全な名前。" #: judge/models/problem.py:123 msgid "problem body" @@ -1595,29 +1655,29 @@ msgstr "作成者" #: judge/models/problem.py:125 msgid "These users will be able to edit the problem, and be listed as authors." -msgstr "" +msgstr "これらの利用者は課題を編集でき、作成者として表示されます。" #: judge/models/problem.py:128 msgid "These users will be able to edit the problem, but not be listed as authors." -msgstr "" +msgstr "これらの利用者は課題を編集できますが、作成者としては表示されません。" #: judge/models/problem.py:132 msgid "These users will be able to view the private problem, but not edit it." -msgstr "" +msgstr "これらの利用者はプライベートな課題を見ることができますが、編集することはできません。" #: judge/models/problem.py:134 msgid "The type of problem, as shown on the problem's page." -msgstr "" +msgstr "課題の種類:課題ページに表示される。" #: judge/models/problem.py:136 msgid "The group of problem, shown under Category in the problem list." -msgstr "" +msgstr "課題グループ:課題リストの「カテゴリ」に表示される。" #: judge/models/problem.py:138 msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "この課題の秒単位での制限時間。小数秒(例えば1.5)はサポートされています。" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "メモリ制限" @@ -1631,7 +1691,7 @@ msgstr "短絡" #: judge/models/problem.py:149 msgid "Points awarded for problem completion. Points are displayed with a 'p' suffix if partial." -msgstr "" +msgstr "課題を完全に解いたときに与えられる得点。部分的に正解の場合は p が後ろに表示されます。" #: judge/models/problem.py:152 msgid "allows partial points" @@ -1643,7 +1703,7 @@ msgstr "許可されている言語" #: judge/models/problem.py:154 msgid "List of allowed submission languages." -msgstr "" +msgstr "解答で許可されている言語のリスト。" #: judge/models/problem.py:156 msgid "manually managed" @@ -1651,7 +1711,7 @@ msgstr "手動で管理されている" #: judge/models/problem.py:157 msgid "Whether judges should be allowed to manage data or not." -msgstr "" +msgstr "システムでテストデータを管理してもよいかどうか(システムのテストデータ管理機能を使用せずに手動でテストデータを管理しているかどうか)。" #: judge/models/problem.py:158 msgid "date of publishing" @@ -1663,11 +1723,11 @@ msgstr "下位互換性を保つのために自動発行する魔法のような #: judge/models/problem.py:162 msgid "Bans the selected users from submitting to this problem." -msgstr "" +msgstr "選択された利用者は、この課題の解答提出が禁止されます。" #: judge/models/problem.py:164 msgid "The license under which this problem is published." -msgstr "" +msgstr "この課題の公開時のライセンス。" #: judge/models/problem.py:166 msgid "problem summary" @@ -1675,15 +1735,15 @@ msgstr "課題の概要" #: judge/models/problem.py:168 msgid "number of users" -msgstr "" +msgstr "利用者数" #: judge/models/problem.py:169 msgid "The number of users who solved the problem." -msgstr "" +msgstr "この課題を解いた利用者数。" #: judge/models/problem.py:170 msgid "solve rate" -msgstr "" +msgstr "解答率" #: judge/models/problem.py:171 msgid "allow full markdown access" @@ -1691,27 +1751,27 @@ msgstr "" #: judge/models/problem.py:172 msgid "submission source visibility" -msgstr "" +msgstr "提出されたソースコードの可視性" #: judge/models/problem.py:180 msgid "If private, only these organizations may see the problem." -msgstr "" +msgstr "課題が非公開の場合、これらの組織のみこの課題を見ることができます。" #: judge/models/problem.py:495 msgid "See hidden problems" -msgstr "" +msgstr "Publicでない課題を閲覧できる" #: judge/models/problem.py:496 msgid "Edit own problems" -msgstr "" +msgstr "自分の課題を編集できる" #: judge/models/problem.py:497 msgid "Edit all problems" -msgstr "" +msgstr "すべての課題を編集できる" #: judge/models/problem.py:498 msgid "Edit all public problems" -msgstr "" +msgstr "Publicな課題を編集できる" #: judge/models/problem.py:499 msgid "Edit problems with full markup" @@ -1723,121 +1783,125 @@ msgstr "課題を複製する" #: judge/models/problem.py:501 msgid "Change is_public field" -msgstr "" +msgstr "is_publicフィールドを変更できる" #: judge/models/problem.py:502 msgid "Change is_manually_managed field" -msgstr "" +msgstr "is_manually_managedフィールドを変更できる" #: judge/models/problem.py:503 msgid "See organization-private problems" -msgstr "" +msgstr "組織のプライベートな課題を閲覧できる" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "プライベートな課題の生成" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "翻訳された名前" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "翻訳された説明" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "翻訳された課題" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "翻訳された課題" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "解説された課題" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "解説本文" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "解説のタイムスタンプ" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" -msgstr "" +msgstr "課題の解説" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" -msgstr "" +msgstr "課題の解説" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "言語固有のリソース制限" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "言語固有のリソース制限" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "関連する課題" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "発行日" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "編集内容" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" -msgstr "" +msgstr "非表示の解答を閲覧できる" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "解答" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "解答" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" -msgstr "" +msgstr "提案得点" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." -msgstr "" +msgstr "得票者が考えるこの課題の得点。" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "投票者" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" -msgstr "" +msgstr "投票時間" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." -msgstr "" +msgstr "この投票が行われた時間。" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "メモ" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." -msgstr "" +msgstr "この問題の点数に対する説明。" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "課題投票" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "課題投票" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -1900,11 +1964,11 @@ msgstr "チェッカー" #: judge/models/problem_data.py:45 msgid "enable unicode" -msgstr "" +msgstr "Unicodeの有効化" #: judge/models/problem_data.py:46 msgid "disable bigInteger / bigDecimal" -msgstr "" +msgstr "BigInteger や BigDecimal の無効化" #: judge/models/problem_data.py:47 judge/models/problem_data.py:95 msgid "checker arguments" @@ -1964,11 +2028,11 @@ msgstr "JSON オブジェクトとしてのチェッカー引数" #: judge/models/problem_data.py:97 msgid "batch dependencies" -msgstr "" +msgstr "バッチの依存関係" #: judge/models/problem_data.py:98 msgid "batch dependencies as a comma-separated list of integers" -msgstr "" +msgstr "コンマ区切りの整数リスト" #: judge/models/profile.py:42 msgid "organization title" @@ -2028,23 +2092,23 @@ msgstr "" #: judge/models/profile.py:62 msgid "class membership required" -msgstr "" +msgstr "クラスへの加入が必要" #: judge/models/profile.py:63 msgid "Whether members are compelled to select a class when joining." -msgstr "" +msgstr "参加時にクラスの選択を強制するかどうか。" #: judge/models/profile.py:67 msgid "Class membership cannot be enforced when organization has open enrollment." -msgstr "" +msgstr "自由加入な組織の場合、クラスへの加入は強制できません。" #: judge/models/profile.py:95 msgid "Administer organizations" -msgstr "" +msgstr "組織を管理できる" #: judge/models/profile.py:96 msgid "Edit all organizations" -msgstr "" +msgstr "すべての組織を編集できる" #: judge/models/profile.py:98 judge/models/profile.py:103 #: judge/models/profile.py:161 judge/models/profile.py:381 @@ -2053,31 +2117,31 @@ msgstr "組織" #: judge/models/profile.py:104 msgid "The organization that this class belongs to." -msgstr "" +msgstr "このクラスが所属する組織。" #: judge/models/profile.py:106 msgid "class name" -msgstr "" +msgstr "クラス名" #: judge/models/profile.py:107 msgid "class slug" -msgstr "" +msgstr "クラス識別子" #: judge/models/profile.py:107 msgid "Class name shown in URLs." -msgstr "" +msgstr "URLに表示されるクラス名。" #: judge/models/profile.py:108 msgid "class description" -msgstr "" +msgstr "クラスの説明" #: judge/models/profile.py:109 msgid "is class active" -msgstr "" +msgstr "クラスがアクティブかどうか" #: judge/models/profile.py:113 msgid "Those who can approve membership to this class." -msgstr "" +msgstr "このクラスへの加入を承認できるユーザ。" #: judge/models/profile.py:114 msgid "members" @@ -2090,7 +2154,7 @@ msgstr "" #: judge/models/profile.py:142 judge/models/profile.py:389 msgid "class" -msgstr "" +msgstr "クラス" #: judge/models/profile.py:148 msgid "user associated" @@ -2110,11 +2174,11 @@ msgstr "好みの言語" #: judge/models/profile.py:157 msgid "Ace theme" -msgstr "" +msgstr "Aceテーマ" #: judge/models/profile.py:158 msgid "site theme" -msgstr "" +msgstr "サイトテーマ" #: judge/models/profile.py:159 msgid "last access time" @@ -2130,11 +2194,11 @@ msgstr "順位を表示する" #: judge/models/profile.py:165 msgid "Normal User" -msgstr "" +msgstr "一般ユーザー" #: judge/models/profile.py:166 msgid "Problem Setter" -msgstr "" +msgstr "課題作成者" #: judge/models/profile.py:167 templates/base.html:221 #: templates/comments/list.html:97 templates/contest/contest-list-tabs.html:25 @@ -2156,19 +2220,19 @@ msgstr "ある利用者は沈黙の時に能力を発揮する。" #: judge/models/profile.py:170 msgid "unlisted user" -msgstr "" +msgstr "リストに含まれないユーザー" #: judge/models/profile.py:170 msgid "User will not be ranked." -msgstr "" +msgstr "ランク付けされないユーザー。" #: judge/models/profile.py:173 msgid "banned from voting on problem point values" -msgstr "" +msgstr "課題の得点への投票が禁止されている" #: judge/models/profile.py:174 msgid "User will not be able to vote on problems' point values." -msgstr "" +msgstr "ユーザーは課題の得点への投票ができません。" #: judge/models/profile.py:178 msgid "user script" @@ -2192,59 +2256,59 @@ msgstr "数式の表示に使用されるレンダリングエンジン。" #: judge/models/profile.py:185 msgid "TOTP 2FA enabled" -msgstr "" +msgstr "TOTP 2FA 有効" #: judge/models/profile.py:186 msgid "Check to enable TOTP-based two-factor authentication." -msgstr "" +msgstr "TOTP 2FAを有効にする場合チェック。" #: judge/models/profile.py:187 msgid "WebAuthn 2FA enabled" -msgstr "" +msgstr "WebAuthn 2FA 有効" #: judge/models/profile.py:188 msgid "Check to enable WebAuthn-based two-factor authentication." -msgstr "" +msgstr "WebAuthn 2FAを有効にする場合チェック。" #: judge/models/profile.py:189 msgid "TOTP key" -msgstr "" +msgstr "TOTP キー" #: judge/models/profile.py:190 msgid "32-character Base32-encoded key for TOTP." -msgstr "" +msgstr "TOTP用のBase32エンコードされた 32 文字のキー。" #: judge/models/profile.py:192 msgid "TOTP key must be empty or Base32." -msgstr "" +msgstr "TOTPキーは空か、Base32エンコードでなければなりません。" #: judge/models/profile.py:193 msgid "scratch codes" -msgstr "" +msgstr "スクラッチコード" #: judge/models/profile.py:194 msgid "JSON array of 16-character Base32-encoded codes for scratch codes." -msgstr "" +msgstr "スクラッチコードのための、Base32エンコードされた16文字のコードのJSON配列。" #: judge/models/profile.py:198 msgid "Scratch codes must be empty or a JSON array of 16-character Base32 codes." -msgstr "" +msgstr "スクラッチコードは空か、Base32エンコードの16文字コードのJSON配列でなければなりません。" #: judge/models/profile.py:200 msgid "last TOTP timecode" -msgstr "" +msgstr "最後の TOTP タイムコード" #: judge/models/profile.py:201 msgid "API token" -msgstr "" +msgstr "APIトークン" #: judge/models/profile.py:202 msgid "64-character hex-encoded API access token." -msgstr "" +msgstr "64文字の16進数APIアクセストークン。" #: judge/models/profile.py:204 msgid "API token must be None or hexadecimal" -msgstr "" +msgstr "API トークンは None か 16 進数でなければなりません" #: judge/models/profile.py:205 msgid "internal notes" @@ -2252,7 +2316,7 @@ msgstr "内部メモ" #: judge/models/profile.py:206 msgid "Notes for administrators regarding this user." -msgstr "" +msgstr "この利用者に関する管理者に対する注記。" #: judge/models/profile.py:207 msgid "last data download time" @@ -2260,19 +2324,19 @@ msgstr "" #: judge/models/profile.py:208 msgid "display name override" -msgstr "" +msgstr "表示名" #: judge/models/profile.py:209 msgid "Name displayed in place of username." -msgstr "" +msgstr "利用者名の箇所に表示される名前。" #: judge/models/profile.py:335 msgid "Shows in-progress development stuff" -msgstr "" +msgstr "開発途中のものを表示できる" #: judge/models/profile.py:336 msgid "Edit TOTP settings" -msgstr "" +msgstr "TOTP設置を編集できる" #: judge/models/profile.py:338 msgid "user profile" @@ -2284,15 +2348,15 @@ msgstr "ユーザープロフィール" #: judge/models/profile.py:351 msgid "device name" -msgstr "" +msgstr "端末名" #: judge/models/profile.py:352 msgid "credential ID" -msgstr "" +msgstr "クレデンシャル ID" #: judge/models/profile.py:353 msgid "public key" -msgstr "" +msgstr "公開キー" #: judge/models/profile.py:354 msgid "sign counter" @@ -2465,19 +2529,19 @@ msgstr "認証鍵" #: judge/models/runtime.py:129 msgid "block judge" -msgstr "" +msgstr "判定器をブロックする" #: judge/models/runtime.py:130 msgid "Whether this judge should be blocked from connecting, even if its key is correct." -msgstr "" +msgstr "キーが正しかったとしても、この判定器からの接続をブロックするかどうか。" #: judge/models/runtime.py:132 msgid "disable judge" -msgstr "" +msgstr "判定器を無効にする" #: judge/models/runtime.py:133 msgid "Whether this judge should be removed from judging queue." -msgstr "" +msgstr "この判定器をキューから削除するかどうか。" #: judge/models/runtime.py:134 msgid "judge tier" @@ -2485,7 +2549,7 @@ msgstr "" #: judge/models/runtime.py:135 msgid "The tier of this judge. Only online judges of the minimum tier will be used. This is used for high-availability." -msgstr "" +msgstr "この判定器のティア。ティアが一番小さい値のオンラインな判定器のみが使用されます。高可用性のためのものです。" #: judge/models/runtime.py:137 msgid "judge online status" @@ -2509,7 +2573,7 @@ msgstr "最近1分の負荷、公平のためプロセッサ数で割ってあ #: judge/models/runtime.py:143 msgid "last connected IP" -msgstr "" +msgstr "最後に接続したときのIPアドレス" #: judge/models/runtime.py:145 judge/models/runtime.py:194 msgid "judges" @@ -2522,31 +2586,31 @@ msgstr "判定器" #: judge/models/submission.py:22 judge/models/submission.py:50 #: judge/utils/problems.py:66 msgid "Accepted" -msgstr "合格した" +msgstr "正答" #: judge/models/submission.py:23 judge/models/submission.py:51 msgid "Wrong Answer" -msgstr "間違った解答" +msgstr "誤答" #: judge/models/submission.py:24 judge/models/submission.py:53 msgid "Time Limit Exceeded" -msgstr "時間制限を超過しました" +msgstr "時間制限超過" #: judge/models/submission.py:25 judge/models/submission.py:54 msgid "Memory Limit Exceeded" -msgstr "メモリの制限を超過しました" +msgstr "メモリ制限超過" #: judge/models/submission.py:26 judge/models/submission.py:55 msgid "Output Limit Exceeded" -msgstr "出力制限を超過しました" +msgstr "出力制限超過" #: judge/models/submission.py:27 judge/models/submission.py:56 msgid "Invalid Return" -msgstr "不正な戻り値" +msgstr "不正な出力" #: judge/models/submission.py:28 judge/models/submission.py:57 msgid "Runtime Error" -msgstr "ランタイムエラー" +msgstr "実行時エラー" #: judge/models/submission.py:29 judge/models/submission.py:44 #: judge/models/submission.py:58 judge/utils/problems.py:68 @@ -2564,7 +2628,7 @@ msgstr "短絡" #: judge/models/submission.py:32 judge/models/submission.py:45 #: judge/models/submission.py:64 msgid "Aborted" -msgstr "中断された" +msgstr "中断" #: judge/models/submission.py:39 judge/models/submission.py:60 msgid "Queued" @@ -2636,11 +2700,11 @@ msgstr "判定された" #: judge/models/submission.py:85 msgid "submission judge time" -msgstr "" +msgstr "提出が判定された時間" #: judge/models/submission.py:86 msgid "last rejudge date by admin" -msgstr "" +msgstr "管理者により最後に再判定された日時" #: judge/models/submission.py:87 msgid "was ran on pretests only" @@ -2648,7 +2712,7 @@ msgstr "予備テストのみ実行された" #: judge/models/submission.py:90 msgid "submission lock" -msgstr "" +msgstr "ロック日時" #: judge/models/submission.py:198 #, python-format @@ -2657,31 +2721,31 @@ msgstr "" #: judge/models/submission.py:223 msgid "Abort any submission" -msgstr "" +msgstr "どの提出も中止できる" #: judge/models/submission.py:224 msgid "Rejudge the submission" -msgstr "" +msgstr "提出を再判定できる" #: judge/models/submission.py:225 msgid "Rejudge a lot of submissions" -msgstr "" +msgstr "たくさんの提出を再判定できる" #: judge/models/submission.py:226 msgid "Submit without limit" -msgstr "" +msgstr "制限なく提出できる" #: judge/models/submission.py:227 msgid "View all submission" -msgstr "" +msgstr "すべての提出を閲覧できる" #: judge/models/submission.py:228 msgid "Resubmit others' submission" -msgstr "" +msgstr "他のユーザーの提出を再提出できる" #: judge/models/submission.py:229 msgid "Change lock status of submission" -msgstr "" +msgstr "提出のロック状態を変更できる" #: judge/models/submission.py:232 msgid "submissions" @@ -2730,7 +2794,7 @@ msgstr "判定のフィードバック" #: judge/models/submission.py:288 msgid "extended judging feedback" -msgstr "" +msgstr "長い判定フィードバック" #: judge/models/submission.py:289 msgid "program output" @@ -2806,59 +2870,59 @@ msgstr "チケットのメッセージ" #: judge/ratings.py:194 msgid "Newbie" -msgstr "" +msgstr "初心者" #: judge/ratings.py:195 msgid "Amateur" -msgstr "" +msgstr "アマチュア" #: judge/ratings.py:196 msgid "Expert" -msgstr "" +msgstr "エキスパート" #: judge/ratings.py:197 msgid "Candidate Master" -msgstr "" +msgstr "マスター候補" #: judge/ratings.py:198 msgid "Master" -msgstr "" +msgstr "マスター" #: judge/ratings.py:199 msgid "Grandmaster" -msgstr "" +msgstr "グランドマスター" #: judge/ratings.py:200 msgid "Target" -msgstr "" +msgstr "超上級者" #: judge/tasks/contest.py:19 msgid "Recalculating contest scores" -msgstr "" +msgstr "コンテストの得点を再計算しています" #: judge/tasks/contest.py:40 msgid "Running MOSS" -msgstr "" +msgstr "MOSS を実行しています" #: judge/tasks/submission.py:47 msgid "Modifying submissions" -msgstr "" +msgstr "提出を変更しています" #: judge/tasks/submission.py:60 msgid "Recalculating user points" -msgstr "" +msgstr "ユーザーの得点を再計算しています" #: judge/tasks/user.py:49 msgid "Applying filters" -msgstr "" +msgstr "フィルターの適用" #: judge/tasks/user.py:64 msgid "Preparing your submission data" -msgstr "" +msgstr "提出データを準備しています" #: judge/tasks/user.py:95 msgid "Preparing your comment data" -msgstr "" +msgstr "コメントデータを準備しています" #: judge/utils/mail.py:18 msgid "Your email provider is not allowed due to history of abuse. Please use a reputable email provider." @@ -2896,17 +2960,17 @@ msgstr "ケース #%d のバッチ開始には点数が必要です。" #: judge/utils/problem_data.py:124 #, python-format msgid "Dependencies must be a comma-separated list of integers for batch start case #%d." -msgstr "" +msgstr "バッチ開始ケース #%d に対して、依存関係は整数のコンマ区切りリストでなければなりません。" #: judge/utils/problem_data.py:129 #, python-format msgid "Dependencies must depend on previous batches for batch start case #%d." -msgstr "" +msgstr "バッチ開始ケース #%d に対して、それより前のバッチに依存する必要があります。" #: judge/utils/problem_data.py:132 #, python-format msgid "Dependencies must be positive for batch start case #%d." -msgstr "" +msgstr "バッチ開始ケース #%d に対して、依存関係は正の値でなければなりません。" #: judge/utils/problem_data.py:154 #, python-format @@ -2927,7 +2991,7 @@ msgstr "間違った" #: judge/utils/problems.py:69 msgid "Timeout" -msgstr "" +msgstr "時間切れ" #: judge/utils/problems.py:70 msgid "Error" @@ -2935,11 +2999,11 @@ msgstr "エラー" #: judge/utils/pwned.py:109 msgid "This password is too common." -msgstr "" +msgstr "このパスワードはありふれています。" #: judge/utils/pwned.py:112 msgid "Your password can't be a commonly used password." -msgstr "" +msgstr "一般的にパスワードとして使用できるものではありません。" #: judge/utils/timedelta.py:49 msgctxt "time format with day" @@ -2974,40 +3038,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "投稿のページ %d" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "私たちはめちゃくちゃですか?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." -msgstr "" +msgstr "投票のためには少なくとも1つの課題を解く必要があります。" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." -msgstr "" +msgstr "コメントがありません。" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." -msgstr "" +msgstr "自分のコメントに投票することはできません。" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "あなたは既に投票しました。" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "サイトから編集された" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "コメントの編集" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "そのようなコンテストはありません" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "鍵 \"%s\" を持つコンテストは見つかりませんでした。" @@ -3016,111 +3080,111 @@ msgstr "鍵 \"%s\" を持つコンテストは見つかりませんでした。" msgid "Contests" msgstr "コンテスト" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "このようなコンテストは見つかりませんでした。" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "コンテスト \"%s\" へのアクセスは拒否されました" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "コンテストをクローンする" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" -msgstr "" +msgstr "%sからクローンされたコンテスト" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "開催中ではないコンテスト" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" は現在開催中ではありません。" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" -msgstr "" +msgstr "参加が禁止されている" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." -msgstr "" +msgstr "あなたはこのコンテストには「好ましくない人(ペルソナ・ノン・グラータ)」とされています。このコンテストへの参加は永久に禁止されています。" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" -msgstr "" +msgstr "参加不可能" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." -msgstr "" +msgstr "あなたはこのコンテストに参加できません。" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "\"%s\" のアクセスコードを入力してください" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "あなたはコンテストに参加していません: \"%s\"。" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "%(month)sのコンテスト" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "Y年n月" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" -msgstr "" +msgstr "%s の統計情報" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "%s 順位表" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "あなたの %(contest)s への参加" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "%(user)s の %(contest)s への参加" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "ライブ" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "参加" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" -msgstr "" +msgstr "%s MOSS 結果" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." -msgstr "" +msgstr "%s に対して MOSS を実行しています…" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "コンテストタグ: %s" @@ -3197,12 +3261,12 @@ msgstr "あなたは \"%s\" に所属していません。" #: judge/views/organization.py:216 judge/views/organization.py:478 #, python-format msgid "Can't request to join %s" -msgstr "" +msgstr "%sへの参加申し込みはできません" #: judge/views/organization.py:217 judge/views/organization.py:479 #, python-format msgid "You already have a pending request to join %s." -msgstr "" +msgstr "すでに %s への参加申し込みがされています。" #: judge/views/organization.py:230 #, python-format @@ -3275,17 +3339,17 @@ msgstr "あなたが追い出そうとしているユーザは組織内にいま #: judge/views/organization.py:450 #, python-brace-format msgid "Class {name} in {organization}" -msgstr "" +msgstr "{organization} 内の {name} クラス" #: judge/views/organization.py:456 #, python-brace-format msgid "Class {name} - {organization}" -msgstr "" +msgstr "クラス {name} - {organization}" #: judge/views/organization.py:484 #, python-brace-format msgid "Request to join {name} in {organization}" -msgstr "" +msgstr "{organization} 内の {name} への参加要求" #: judge/views/problem.py:71 msgid "No such problem" @@ -3312,24 +3376,24 @@ msgstr "コード \"%s\" を有する論説は見つかりませんでした。" #: judge/views/problem.py:241 msgid "Not allowed to vote on this problem." -msgstr "" +msgstr "この課題に投票する権限がありません。" #: judge/views/problem.py:264 msgid "Not allowed to delete votes on this problem." -msgstr "" +msgstr "この課題への投票を削除する権限がありません。" #: judge/views/problem.py:267 msgid "success" -msgstr "" +msgstr "成功" #: judge/views/problem.py:650 judge/views/problem.py:658 #, python-format msgid "Submit to %s" -msgstr "" +msgstr "%s への提出" #: judge/views/problem.py:703 msgid "You submitted too many submissions." -msgstr "" +msgstr "提出が多すぎます。" #: judge/views/problem.py:707 msgid "Banned from submitting" @@ -3349,7 +3413,7 @@ msgstr "あなたは、この課題の提出制限を超えました。" #: judge/views/problem.py:763 msgid "Do you want me to ban you?" -msgstr "" +msgstr "利用禁止になりたいですか?" #: judge/views/problem.py:781 msgid "Clone Problem" @@ -3358,7 +3422,7 @@ msgstr "課題を複製する" #: judge/views/problem.py:808 #, python-format msgid "Cloned problem from %s" -msgstr "" +msgstr "%s からクローンされた課題" #: judge/views/problem_data.py:38 msgid "Checker arguments must be a JSON object." @@ -3374,11 +3438,11 @@ msgstr "あなたの zip ファイルは不正です!" #: judge/views/problem_data.py:51 msgid "Zip files must end in '.zip'" -msgstr "" +msgstr "ZIPファイルのファイル名は .zip で終わらなければなりません。" #: judge/views/problem_data.py:58 msgid "Generators must not be named init.yml." -msgstr "" +msgstr "ジェネレータにinit.ymlという名前を付けてはいけません。" #: judge/views/problem_data.py:119 judge/views/problem_data.py:122 #, python-brace-format @@ -3403,23 +3467,23 @@ msgstr "%s への生成された init.yml" #: judge/views/problem_manage.py:50 judge/views/problem_manage.py:53 #, python-format msgid "Managing submissions for %s" -msgstr "" +msgstr "%sに対する提出の管理" #: judge/views/problem_manage.py:96 #, python-format msgid "Rejudging selected submissions for %s..." -msgstr "" +msgstr "%sに対する選択した提出を再判定しています…" #: judge/views/problem_manage.py:111 #, python-format msgid "Rescoring all submissions for %s..." -msgstr "" +msgstr "%sに対するすべての提出を再採点しています…" #: judge/views/problem_manage.py:120 #, python-format msgid "Successfully scheduled %d submission for rejudging." msgid_plural "Successfully scheduled %d submissions for rejudging." -msgstr[0] "" +msgstr[0] "%d件の提出の再判定をスケジュールしました。" #: judge/views/ranked_submission.py:67 judge/views/ranked_submission.py:70 #, python-format @@ -3463,7 +3527,7 @@ msgstr "登録" #: judge/views/register.py:93 msgid "Activation Key Invalid" -msgstr "" +msgstr "アクティベーションキーが不正です" #: judge/views/register.py:104 msgid "Authentication failure" @@ -3488,15 +3552,15 @@ msgstr "バージョン" #: judge/views/submission.py:71 #, python-format msgid "Permission denied. Solve %(problem)s in order to view it." -msgstr "" +msgstr "権限がありません。表示するためには%(problem)sを解いてください。" #: judge/views/submission.py:76 judge/views/submission.py:78 msgid "Can't access submission" -msgstr "" +msgstr "提出にアクセスできません" #: judge/views/submission.py:78 msgid "Permission denied." -msgstr "" +msgstr "権限がありません。" #: judge/views/submission.py:82 judge/views/submission.py:89 #, python-format @@ -3506,21 +3570,21 @@ msgstr "%(user)s による %(problem)s への提出物" #: judge/views/submission.py:233 judge/views/submission.py:234 #: templates/problem/problem.html:132 msgid "All submissions" -msgstr "全ての提出物" +msgstr "すべての提出物" #: judge/views/submission.py:400 judge/views/submission.py:405 msgid "All my submissions" -msgstr "私の全ての提出物" +msgstr "私のすべての提出物" #: judge/views/submission.py:401 judge/views/submission.py:406 #, python-format msgid "All submissions by %s" -msgstr "%s による全ての提出物" +msgstr "%s によるすべての提出物" #: judge/views/submission.py:434 judge/views/submission.py:437 #, python-format msgid "All submissions for %s" -msgstr "%s への全ての提出物" +msgstr "%s に対するすべての提出物" #: judge/views/submission.py:498 judge/views/submission.py:505 #, python-format @@ -3535,12 +3599,12 @@ msgstr "%(problem)s への %(user)s による提出物" #: judge/views/submission.py:609 judge/views/submission.py:624 #, python-format msgid "My submissions in %(contest)s" -msgstr "" +msgstr "%(contest)s での私の提出物" #: judge/views/submission.py:610 judge/views/submission.py:628 #, python-format msgid "%(user)s's submissions in %(contest)s" -msgstr "" +msgstr "%(contest)s での %(user)s の提出物" #: judge/views/submission.py:646 judge/views/submission.py:664 #, python-brace-format @@ -3552,83 +3616,83 @@ msgstr "{contest} 中の {problem} への {user} による提出物" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "{contest} 中の課題 {number} への {user} による提出物" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "チケットの題目" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "問題の説明" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." -msgstr "" +msgstr "チケットを作成できるようなるには、少なくとも一つの課題を解く必要があります。" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "%s への新しいチケット" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - チケット %(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "チケットのページ %(number)d / %(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "新しいチケット: %s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d、%(users)s に割り当てられた" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " -msgstr "、" +msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" -msgstr "誰もいません" +msgstr "なし" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" #: judge/views/two_factor.py:50 msgid "Enable Two-factor Authentication" -msgstr "" +msgstr "二要素認証の有効化" #: judge/views/two_factor.py:110 msgid "Edit Two-factor Authentication" -msgstr "" +msgstr "二要素認証の編集" #: judge/views/two_factor.py:118 msgid "Disable Two-factor Authentication" -msgstr "" +msgstr "二要素認証の無効化" #: judge/views/two_factor.py:167 msgid "Invalid WebAuthn response" -msgstr "" +msgstr "不正な WebAuthn レスポンス" #: judge/views/two_factor.py:170 msgid "Invalid name" -msgstr "" +msgstr "不正な名前" #: judge/views/two_factor.py:223 msgid "Staff may not disable 2FA" -msgstr "" +msgstr "スタッフは F2A を無効にできません" #: judge/views/two_factor.py:231 msgid "Perform Two-factor Authentication" -msgstr "" +msgstr "二要素認証の実施" #: judge/views/user.py:83 msgid "No such user" @@ -3658,11 +3722,11 @@ msgstr "Y年n月j日 G:i" #: judge/views/user.py:300 msgid "Preparing your data..." -msgstr "" +msgstr "データを準備しています…" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" -msgstr "" +msgstr "データのダウンロード" #: judge/views/user.py:353 msgid "Can't edit profile" @@ -3670,13 +3734,13 @@ msgstr "プロフィールを編集できません" #: judge/views/user.py:360 msgid "Updated on site" -msgstr "サイトで更新された" +msgstr "サイトで更新" #: judge/views/user.py:392 templates/admin/auth/user/change_form.html:14 #: templates/admin/auth/user/change_form.html:17 templates/base.html:223 #: templates/user/user-tabs.html:16 msgid "Edit profile" -msgstr "プロフィールを編集する" +msgstr "プロフィールの編集" #: judge/views/user.py:406 msgid "Generated API token for user" @@ -3684,11 +3748,11 @@ msgstr "" #: judge/views/user.py:418 msgid "Removed API token for user" -msgstr "" +msgstr "利用者のAPIトークンを削除しました" #: judge/views/user.py:428 msgid "Generated scratch codes for user" -msgstr "" +msgstr "利用者のスクラッチコードを生成しました" #: judge/views/user.py:434 templates/user/user-list-tabs.html:4 msgid "Leaderboard" @@ -3696,69 +3760,195 @@ msgstr "リーダーボード" #: judge/views/user.py:495 msgid "You have been successfully logged out." +msgstr "正常にログアウトしました。" + +#: judge/views/user.py:515 +msgid "You have sent too many password reset requests. Please try again later." +msgstr "パスワードリセットのリクエストが多すぎます。あとでもう一度お試しください。" + +#: judge/views/user.py:521 templates/user/edit-profile.html:344 +msgid "Change your email" +msgstr "メールアドレスの変更" + +#: judge/views/user.py:568 +msgid "Email change requested" +msgstr "メールアドレスの変更がリクエストされました" + +#: judge/views/user.py:569 +#, python-format +msgid "Please click on the link sent to %s." +msgstr "%sに送信されたリンクをクリックしてください。" + +#: judge/views/user.py:581 +msgid "You have sent too many email change requests. Please try again later." +msgstr "メールアドレス変更のリクエストが多すぎます。あとでもう一度お試しください。" + +#: judge/views/user.py:598 +msgid "Invalid activation key. Please try again." +msgstr "アクティベーションキーが無効です。もう一度やり直してください。" + +#: judge/views/user.py:600 +msgid "This request has expired. Please try again." +msgstr "このリクエストは時間切れです。もう一度やり直してください。" + +#: judge/views/user.py:603 +msgid "Please try again while logged in to the account this email change was originally requested from." +msgstr "このメールアドレス変更をリクエストしたアカウントにログイン中に再度お試しください。" + +#: judge/views/user.py:610 +msgid "The email you originally requested has since been registered by another user. Please try again with a new email." +msgstr "あなたがリクエストしたメールアドレスは他の利用者によって登録済みです。新しいメールアドレスでやり直してください。" + +#: judge/views/user.py:616 +#, python-format +msgid "Changed email address from %s to %s" +msgstr "メールアドレスを %s から %s に変更しました" + +#: judge/views/user.py:623 +msgid "Email change failed" +msgstr "メールアドレスの変更に失敗しました" + +#: judge/views/user.py:627 +msgid "Email successfully changed" +msgstr "メールアドレスを変更しました" + +#: judge/views/user.py:628 +#, python-format +msgid "The email attached to your account has been changed to %s." +msgstr "あなたのアカウントのメールアドレスは%sに変更されました。" + +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "エディタ" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "プレビュー" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "コード" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" msgstr "" -#: judge/views/user.py:515 -msgid "You have sent too many password reset requests. Please try again later." +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 -msgid "Change your email" +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" msgstr "" -#: judge/views/user.py:568 -msgid "Email change requested" +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" msgstr "" -#: judge/views/user.py:569 -#, python-format -msgid "Please click on the link sent to %s." +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" msgstr "" -#: judge/views/user.py:581 -msgid "You have sent too many email change requests. Please try again later." +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" msgstr "" -#: judge/views/user.py:598 -msgid "Invalid activation key. Please try again." +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" msgstr "" -#: judge/views/user.py:600 -msgid "This request has expired. Please try again." +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" msgstr "" -#: judge/views/user.py:603 -msgid "Please try again while logged in to the account this email change was originally requested from." +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" msgstr "" -#: judge/views/user.py:610 -msgid "The email you originally requested has since been registered by another user. Please try again with a new email." +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" msgstr "" -#: judge/views/user.py:616 -#, python-format -msgid "Changed email address from %s to %s" +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" msgstr "" -#: judge/views/user.py:623 -msgid "Email change failed" +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" msgstr "" -#: judge/views/user.py:627 -msgid "Email successfully changed" +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" msgstr "" -#: judge/views/user.py:628 +#: martor/views.py:48 #, python-format -msgid "The email attached to your account has been changed to %s." +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" msgstr "" #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" -msgstr "" +msgstr "本当に「すべての」提出を再判定してもよいですか?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "評価" @@ -3769,35 +3959,35 @@ msgstr "すべての評価可能なコンテストを評価する" #: templates/admin/judge/judge/change_form.html:16 #: templates/admin/judge/judge/change_form.html:19 msgid "Disconnect" -msgstr "" +msgstr "切断" #: templates/admin/judge/judge/change_form.html:21 #: templates/admin/judge/judge/change_form.html:24 msgid "Terminate" -msgstr "" +msgstr "停止" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" -msgstr "" +msgstr "無効" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" -msgstr "" +msgstr "有効" #: templates/admin/judge/problem/change_form.html:15 #: templates/admin/judge/problem/change_form.html:18 #: templates/user/user-base.html:37 msgid "View submissions" -msgstr "提出物を表示する" +msgstr "提出物の表示" #: templates/admin/judge/problem/change_form.html:20 #: templates/admin/judge/problem/change_form.html:23 msgid "View problem votes" -msgstr "" +msgstr "課題への投票を表示" #: templates/admin/judge/profile/change_form.html:14 #: templates/admin/judge/profile/change_form.html:17 @@ -3828,7 +4018,7 @@ msgstr "または" #: templates/base.html:241 msgid "Sign up" -msgstr "" +msgstr "新規登録" #: templates/base.html:253 msgid "spectating" @@ -3847,14 +4037,14 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "編集" #: templates/blog/content.html:27 #, python-format msgid "posted on %(time)s" -msgstr "%(time)sに投稿された" +msgstr "%(time)sに投稿" #: templates/blog/list.html:45 msgid "Blog" @@ -3871,16 +4061,16 @@ msgstr "お知らせ" #: templates/blog/list.html:66 #, python-brace-format msgid "posted on {time}" -msgstr "{time}に投稿された" +msgstr "{time}に投稿" #: templates/blog/list.html:66 #, python-brace-format msgid "posted {time}" -msgstr "{time}に投稿された" +msgstr "{time}に投稿" #: templates/blog/list.html:81 msgid "Continue reading..." -msgstr "" +msgstr "続きを読む…" #: templates/blog/list.html:95 templates/problem/problem.html:331 msgid "Clarifications" @@ -3897,7 +4087,7 @@ msgstr "開催中のコンテスト" #: templates/blog/list.html:127 #, python-format msgid "Ends in %(countdown)s." -msgstr "" +msgstr "終了まであと %(countdown)s。" #: templates/blog/list.html:137 templates/contest/list.html:226 msgid "Upcoming contests" @@ -3906,7 +4096,7 @@ msgstr "近日開催予定のコンテスト" #: templates/blog/list.html:145 templates/contest/contest.html:41 #, python-format msgid "Starting in %(countdown)s." -msgstr "" +msgstr "開始まであと %(countdown)s。" #: templates/blog/list.html:154 msgid "Comment stream" @@ -3939,7 +4129,7 @@ msgstr "現時点でコメントはありません。" #: templates/comments/list.html:12 msgid "Comments are disabled on this page." -msgstr "" +msgstr "このページにはコメントできません。" #: templates/comments/list.html:31 templates/comments/list.html:40 msgid "Please log in to vote" @@ -3948,19 +4138,19 @@ msgstr "投票するにはログインしてください" #: templates/comments/list.html:60 #, python-brace-format msgid "commented on {time}" -msgstr "{time}にコメントされた" +msgstr "{time}にコメント" #: templates/comments/list.html:60 #, python-brace-format msgid "commented {time}" -msgstr "{time}にコメントされた" +msgstr "{time}にコメント" #: templates/comments/list.html:71 #, python-format msgid "edit %(edits)s" msgstr "%(edits)sを編集する" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "編集された" @@ -3982,11 +4172,11 @@ msgstr "非表示" #: templates/comments/list.html:119 msgid "This comment is hidden due to too much negative feedback." -msgstr "" +msgstr "ネガティブなフィードバックがあまりにも多いので、このコメントは非表示になっています。" #: templates/comments/list.html:120 msgid "Show it anyway." -msgstr "" +msgstr "それでもこのコメントを表示する。" #: templates/comments/list.html:141 msgid "New comment" @@ -3996,44 +4186,54 @@ msgstr "新しいコメント" msgid "Invalid comment body." msgstr "不正なコメント本文。" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" -msgstr "" +msgstr "コメントに返信する" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "{edits}を編集する" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "オリジナル" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" -msgstr "" +msgstr "投票できませんでした: {error}" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" -msgstr "" +msgstr "本当にこのコメントを非表示にしてもよいですか?" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." -msgstr "" +msgstr "コメントを非表示にできませんでした。" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" -msgstr "" +msgstr "更新" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." -msgstr "" +msgstr "コメントの本文を更新できませんでした。" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" -msgstr "" +msgstr "コメントを編集できませんでした: {error}" + +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "ソースコードを投稿しようとしているようにみます!\n\n" +"コメントはソースコードを投稿するためのものではありません。\n" +"もし解答を提出したい場合は、「解答を提出する」ボタンを押してください。\n\n" +"本当にこれを投稿しますか?" #: templates/comments/votes.html:5 msgid "Voter" @@ -4045,19 +4245,19 @@ msgstr "得点" #: templates/comments/votes.html:17 msgid "No votes" -msgstr "" +msgstr "投票なし" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" -msgstr "" +msgstr "クリックしてコピー" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" -msgstr "" +msgstr "コピー" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" -msgstr "" +msgstr "コピーしました!" #: templates/contest/access_code.html:26 msgid "Invalid access code." @@ -4101,11 +4301,11 @@ msgstr "土曜日" #: templates/contest/clone.html:37 msgid "Enter a new key for the cloned contest:" -msgstr "" +msgstr "複製されたコンテストのための新しいキーを入力してください:" #: templates/contest/clone.html:40 templates/problem/clone.html:40 msgid "Clone!" -msgstr "" +msgstr "複製しました!" #: templates/contest/contest-list-tabs.html:7 msgid "Prev" @@ -4121,7 +4321,7 @@ msgstr "次へ" #: templates/contest/contest-list-tabs.html:16 msgid "Export" -msgstr "" +msgstr "書き出す" #: templates/contest/contest-list-tabs.html:22 #: templates/problem/problem-list-tabs.html:5 @@ -4154,14 +4354,14 @@ msgstr "MOSS" #: templates/contest/contest-tabs.html:26 msgid "Clone" -msgstr "" +msgstr "複製する" #: templates/contest/contest-tabs.html:38 #: templates/contest/contest-tabs.html:58 msgid "Leave contest" msgstr "コンテストから脱退する" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "仮想参加" @@ -4180,7 +4380,7 @@ msgstr "コンテストを観戦する" #: templates/contest/contest-tabs.html:80 templates/contest/list.html:137 msgid "You cannot join this contest." -msgstr "" +msgstr "このコンテストに参加できませんでした。" #: templates/contest/contest-tabs.html:90 msgid "Log in to participate" @@ -4189,12 +4389,12 @@ msgstr "参加するためにログインする" #: templates/contest/contest.html:33 #, python-format msgid "Spectating, contest ends in %(countdown)s." -msgstr "" +msgstr "観戦中。コンテスト終了まであと %(countdown)s。" #: templates/contest/contest.html:35 #, python-format msgid "Participating virtually, %(countdown)s remaining." -msgstr "" +msgstr "仮想的に参加中、残り %(countdown)s。" #: templates/contest/contest.html:37 msgid "Participating virtually." @@ -4207,17 +4407,17 @@ msgstr "コンテストは終了しました。" #: templates/contest/contest.html:47 #, python-format msgid "Your time is up! Contest ends in %(countdown)s." -msgstr "" +msgstr "あなたの時間は終了しました!コンテストの終了まであと %(countdown)s。" #: templates/contest/contest.html:49 #, python-format msgid "You have %(countdown)s remaining." -msgstr "" +msgstr "残り %(countdown)s。" #: templates/contest/contest.html:52 #, python-format msgid "Contest ends in %(countdown)s." -msgstr "" +msgstr "コンテストの終了まであと %(countdown)s。" #: templates/contest/contest.html:58 templates/contest/contest.html:60 msgid "F j, Y, G:i T" @@ -4237,117 +4437,117 @@ msgstr "開始時刻 %(start_time)s まであと %(length)s" #, python-format msgid "The author of this contest is %(link_authors)s." msgid_plural "The authors of this contest are %(link_authors)s." -msgstr[0] "" +msgstr[0] "このコンテストの作者は %(link_authors)s です。" #: templates/contest/contest.html:86 #, python-format msgid "Special thanks to %(link_testers)s for testing and feedback on the problems." msgid_plural "Special thanks to %(link_testers)s for testing and feedback on the problems." -msgstr[0] "" +msgstr[0] "課題のテストとフィードバックに対して、%(link_testers)s に感謝いたします。" #: templates/contest/contest.html:98 #, python-format msgid "This contest will be **rated** for **all** participants who have a rating between **%(rating_floor)d** and **%(rating_ceiling)d**, inclusive." -msgstr "" +msgstr "このコンテストでは、**%(rating_floor)d** 以上 **%(rating_ceiling)d** 以下のレート値を持つ参加者**すべてがレーティング**されます。" #: templates/contest/contest.html:100 #, python-format msgid "This contest will be **rated** for **all** participants who have a rating of at least **%(rating_floor)d**." -msgstr "" +msgstr "このコンテストでは、**%(rating_floor)d** 以上のレート値を持つ参加者**すべてがレーティング**されます。" #: templates/contest/contest.html:102 #, python-format msgid "This contest will be **rated** for **all** participants who have a rating of at most **%(rating_ceiling)d**." -msgstr "" +msgstr "このコンテストでは、**%(rating_ceiling)d** 以下のレート値を持つ参加者**すべてがレーティング**されます。" #: templates/contest/contest.html:104 msgid "This contest will be **rated** for **all** participants." -msgstr "" +msgstr "このコンテストでは、参加者**すべてがレーティング**されます。" #: templates/contest/contest.html:108 #, python-format msgid "This contest will be **rated** for participants who submit at least once and have a rating between **%(rating_floor)d** and **%(rating_ceiling)d**, inclusive." -msgstr "" +msgstr "このコンテストでは、一度は課題を提出して **%(rating_floor)d** 以上 **%(rating_ceiling)d** 以下のレート値を持つ参加者が**レーティング**されます。" #: templates/contest/contest.html:110 #, python-format msgid "This contest will be **rated** for participants who submit at least once and have a rating of at least **%(rating_floor)d**." -msgstr "" +msgstr "このコンテストでは、一度は課題を提出して、**%(rating_floor)d** 以上のレート値を持つ参加者が**レーティング**されます。" #: templates/contest/contest.html:112 #, python-format msgid "This contest will be **rated** for participants who submit at least once and have a rating of at most **%(rating_ceiling)d**." -msgstr "" +msgstr "このコンテストでは、一度は課題を提出して、**%(rating_ceiling)d** 以下のレート値を持つ参加者が**レーティング**されます。" #: templates/contest/contest.html:114 msgid "This contest will be **rated** for participants who submit at least once." -msgstr "" +msgstr "このコンテストでは、一度は課題を提出した参加者が**レーティング**されます。" #: templates/contest/contest.html:118 msgid "This contest will **not** be rated." -msgstr "" +msgstr "このコンテストでは、レーティングは**行われません**。" #: templates/contest/contest.html:123 #, python-format msgid "There is **%(count)s** problem in this contest." msgid_plural "There are **%(count)s** problems in this contest." -msgstr[0] "" +msgstr[0] "このコンテストには、課題が **%(count)s**題があります。" #: templates/contest/contest.html:132 msgid "**Partial scoring is enabled** for some or all of these problems." -msgstr "" +msgstr "いくつか、あるいはすべての課題において、**部分点が有効**になっています。" #: templates/contest/contest.html:134 msgid "This contest **will not use partial scoring**." -msgstr "" +msgstr "このコンテストでは**部分点はありません**。" #: templates/contest/contest.html:139 msgid "The pretest system **will be used** for some or all of these problems." -msgstr "" +msgstr "いくつか、あるいはすべての課題において、事前テストシステムが**使用されます**。" #: templates/contest/contest.html:141 msgid "The pretest system **will not be used** for this contest." -msgstr "" +msgstr "このコンテストでは、事前テストシステムは**使用されません**。" #: templates/contest/contest.html:146 msgid "Some or all of these problems **have a submission limit**." -msgstr "" +msgstr "いくつか、あるいはすべての課題には、**提出回数の制限があります**。" #: templates/contest/contest.html:148 msgid "There is **no submission limit** for any of these problems." -msgstr "" +msgstr "どの課題にも**提出回数の制限はありません**。" #: templates/contest/contest.html:154 #, python-format msgid "The contest format is **%(format)s**." -msgstr "" +msgstr "このコンテストの形式は **%(format)s** です。" #: templates/contest/contest.html:163 msgid "The scoreboard will be **visible** for the duration of the contest." -msgstr "" +msgstr "コンテスト期間中、スコアボードが**表示**されます。" #: templates/contest/contest.html:165 msgid "The scoreboard will be **hidden** until your window is over." -msgstr "" +msgstr "取組み時間が終了するまで、スコアボードは**非表示**とされます。" #: templates/contest/contest.html:167 msgid "The scoreboard will be **hidden** for the entire duration of the contest." -msgstr "" +msgstr "コンテストの期間中、スコアボードは**非表示**とされます。" #: templates/contest/contest.html:169 msgid "The scoreboard will be **hidden**, even after the contest is over." -msgstr "" +msgstr "コンテストが終了した後も、スコアボードは**非表示のまま**です。" #: templates/contest/contest.html:174 msgid "An **access code is required** to join the contest." -msgstr "" +msgstr "コンテストへの参加には、**アクセスコードが必要**です。" #: templates/contest/contest.html:197 msgid "AC Rate" msgstr "受理率" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "利用者" @@ -4380,12 +4580,12 @@ msgstr "評価" #: templates/contest/list.html:102 #, python-format msgid "%(time_limit)s window" -msgstr "%(time_limit)s 窓" +msgstr "%(time_limit)s の取組み時間" #: templates/contest/list.html:105 #, python-format msgid "%(duration)s long" -msgstr "" +msgstr "%(duration)sの期間" #: templates/contest/list.html:125 templates/contest/list.html:137 msgid "Join" @@ -4397,36 +4597,44 @@ msgstr "観戦する" #: templates/contest/list.html:147 msgid "Active contests" -msgstr "" +msgstr "開催中のコンテスト" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "コンテスト" #: templates/contest/list.html:168 #, python-format msgid "Window ends in %(countdown)s" -msgstr "" +msgstr "取組み時間の終了まであと %(countdown)s" #: templates/contest/list.html:170 templates/contest/list.html:209 #, python-format msgid "Ends in %(countdown)s" -msgstr "" +msgstr "終了まであと %(countdown)s" #: templates/contest/list.html:243 #, python-format msgid "Starting in %(countdown)s" -msgstr "" +msgstr "開始まであと %(countdown)s" #: templates/contest/list.html:254 msgid "There are no scheduled contests at this time." msgstr "現在スケジュールされているコンテストはありません。" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "過去のコンテスト" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "あなたは本当に脱退したいですか?" @@ -4442,15 +4650,15 @@ msgstr "コンテストに参加するとあなたのタイマーがスタート #: templates/contest/media-js.html:16 #, python-format msgid "Joining this contest will leave %(contest)s." -msgstr "" +msgstr "このコンテストに参加することで %(contest)s から離れることになります。" #: templates/contest/moss.html:28 msgid "Are you sure you want to MOSS the contest?" -msgstr "" +msgstr "本当にこのコンテストで MOSS を行いますか?" #: templates/contest/moss.html:31 msgid "Are you sure you want to delete the MOSS results?" -msgstr "" +msgstr "本当に MOSS の結果を削除してもよいですか?" #: templates/contest/moss.html:56 #, python-format @@ -4460,23 +4668,23 @@ msgstr[0] "%(count)s個の提出" #: templates/contest/moss.html:62 msgid "No submissions" -msgstr "" +msgstr "提出なし" #: templates/contest/moss.html:76 msgid "Re-MOSS contest" -msgstr "" +msgstr "コンテストを再度MOSSする" #: templates/contest/moss.html:84 msgid "Delete MOSS results" -msgstr "" +msgstr "MOSSの結果の削除" #: templates/contest/private.html:5 msgid "This contest is private to specific users." -msgstr "" +msgstr "このコンテストは特定の利用者のみに制限されています。" #: templates/contest/private.html:11 msgid "Additionally, only the following organizations may access this contest:" -msgstr "" +msgstr "さらに、以下の組織のみがこのコンテストにアクセスできます:" #: templates/contest/private.html:13 msgid "Only the following organizations may access this contest:" @@ -4484,15 +4692,15 @@ msgstr "次の組織だけがこのコンテストをアクセスできます:" #: templates/contest/private.html:24 msgid "Additionally, only the following classes may access this contest:" -msgstr "" +msgstr "さらに、以下のクラスのみがこのコンテストにアクセスできます:" #: templates/contest/private.html:26 msgid "Only the following classes may access this contest:" -msgstr "" +msgstr "以下のクラスのみがこのコンテストにアクセスできます:" #: templates/contest/private.html:28 msgid "Alternatively, the following classes may access this contest:" -msgstr "" +msgstr "あるいは、以下のクラスがこのコンテストにアクセスできます:" #: templates/contest/ranking-table.html:7 msgid "Organization" @@ -4522,11 +4730,11 @@ msgstr "" #: templates/contest/ranking.html:46 msgid "Are you sure you want to disqualify this participation?" -msgstr "" +msgstr "本当にこの参加者を失格にしますか?" #: templates/contest/ranking.html:51 msgid "Are you sure you want to un-disqualify this participation?" -msgstr "" +msgstr "本当にこの参加者の失格を取り消しますか?" #: templates/contest/ranking.html:124 msgid "View user participation" @@ -4538,19 +4746,19 @@ msgstr "組織を表示する" #: templates/contest/stats.html:38 msgid "Problem Status Distribution" -msgstr "" +msgstr "課題の状態の分布" #: templates/contest/stats.html:43 msgid "Problem AC Rate" -msgstr "" +msgstr "課題のAC割合" #: templates/contest/stats.html:48 templates/stats/language.html:16 msgid "Submissions by Language" -msgstr "言語ごとの提出物" +msgstr "言語ごとの提出数" #: templates/contest/stats.html:54 templates/stats/language.html:26 msgid "Language AC Rate" -msgstr "言語の受理割合" +msgstr "言語ごとのAC割合" #: templates/license.html:12 msgid "Visit source" @@ -4625,15 +4833,15 @@ msgstr "更新" #: templates/organization/home.html:28 msgid "Are you sure you want to leave this organization?" -msgstr "" +msgstr "本当にこの組織から脱退してもよいですか?" #: templates/organization/home.html:30 msgid "You will have to rejoin to show up on the organization leaderboard." -msgstr "" +msgstr "組織のリーダーボードに表示されるようになるには、再び参加する必要があります。" #: templates/organization/home.html:32 msgid "You will have to request membership in order to join again." -msgstr "" +msgstr "再度参加するためには、メンバーシップを要求する必要があります。" #: templates/organization/home.html:45 msgid "Leave organization" @@ -4665,15 +4873,15 @@ msgstr "メンバーを表示する" #: templates/organization/home.html:88 msgid "Class" -msgstr "" +msgstr "クラス" #: templates/organization/home.html:97 msgid "Joined" -msgstr "" +msgstr "参加済" #: templates/organization/home.html:99 msgid "Request to join" -msgstr "" +msgstr "参加をリクエスト" #: templates/organization/list.html:22 templates/status/language-list.html:35 msgid "Name" @@ -4736,7 +4944,7 @@ msgstr "削除しますか?" #: templates/organization/requests/request.html:24 msgid "Select your class:" -msgstr "" +msgstr "クラスを選択してください:" #: templates/organization/requests/request.html:27 msgid "Your reason for joining:" @@ -4744,7 +4952,7 @@ msgstr "参加するためのあなたの理由:" #: templates/organization/requests/request.html:29 msgid "Request!" -msgstr "" +msgstr "要求する!" #: templates/organization/requests/tabs.html:7 msgid "Log" @@ -4756,15 +4964,11 @@ msgstr "追い出す" #: templates/organization/users.html:29 msgid "Are you sure you want to kick this user?" -msgstr "" - -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" +msgstr "本当にこのユーザーをキックしてもよいですか?" #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" -msgstr "" +msgstr "複製された課題のための新しいキーを入力してください:" #: templates/problem/data.html:71 msgid "precision (decimal digits)" @@ -4828,7 +5032,7 @@ msgstr "新しいケースを追加する" #: templates/problem/data.html:453 templates/problem/data.html:454 msgid "Save" -msgstr "" +msgstr "保存" #: templates/problem/editorial.html:23 msgid "Remember to use this editorial **only** when stuck, and **not to copy-paste code from it**. Please be respectful to the problem author and editorialist." @@ -4845,7 +5049,7 @@ msgstr[0] "著者:" #: templates/problem/list.html:49 msgid "Filter by type..." -msgstr "タイプで絞り込む..." +msgstr "タイプで絞り込む…" #: templates/problem/list.html:167 msgid "Hot problems" @@ -4863,52 +5067,52 @@ msgstr "タイプ" #: templates/problem/list.html:218 #, python-format msgid "AC %%" -msgstr "受理 %%" +msgstr "正答率" #: templates/problem/manage_submission.html:56 msgid "Leave empty to not filter by language" -msgstr "" +msgstr "言語で選択しない場合は空" #: templates/problem/manage_submission.html:62 msgid "Leave empty to not filter by result" -msgstr "" +msgstr "結果で選択したい場合は空" #: templates/problem/manage_submission.html:81 msgid "Need valid values for both start and end IDs." -msgstr "" +msgstr "有効な開始IDと終了IDが必要です。" #: templates/problem/manage_submission.html:84 msgid "End ID must be after start ID." -msgstr "" +msgstr "終了IDは開始IDよりも後である必要があります。" #: templates/problem/manage_submission.html:92 #, python-brace-format msgid "You are about to rejudge {count} submissions. Are you sure you want to do this?" -msgstr "" +msgstr "{count}件の提出を再判定しようとしています。本当にこれを行ってもよいですか?" #: templates/problem/manage_submission.html:98 msgid "You are about to rejudge a few submissions. Are you sure you want to do this?" -msgstr "" +msgstr "いくつかの提出を再判定しようとしています。本当にこれを行ってよいですか?" #: templates/problem/manage_submission.html:117 msgid "Rejudge Submissions" -msgstr "" +msgstr "提出の再判定" #: templates/problem/manage_submission.html:122 msgid "Filter by ID:" -msgstr "" +msgstr "IDでの絞込み:" #: templates/problem/manage_submission.html:125 msgid "Starting ID:" -msgstr "" +msgstr "開始ID:" #: templates/problem/manage_submission.html:129 msgid "Ending ID:" -msgstr "" +msgstr "終了ID:" #: templates/problem/manage_submission.html:133 msgid "This range includes both endpoints." -msgstr "" +msgstr "開始IDと終了IDもこの範囲に含まれます。" #: templates/problem/manage_submission.html:136 msgid "Filter by language:" @@ -4916,27 +5120,27 @@ msgstr "言語で絞り込む:" #: templates/problem/manage_submission.html:152 msgid "Rejudge selected submissions" -msgstr "" +msgstr "選択した提出を再判定する" #: templates/problem/manage_submission.html:159 msgid "Rescore Everything" -msgstr "" +msgstr "すべてを再採点" #: templates/problem/manage_submission.html:160 #, python-format msgid "This will rescore %(count)s submission." msgid_plural "This will rescore %(count)s submissions." -msgstr[0] "" +msgstr[0] "%(count)s件の提出を再採点します。" #: templates/problem/manage_submission.html:168 #, python-format msgid "Are you sure you want to rescore %(count)s submission?" msgid_plural "Are you sure you want to rescore %(count)s submissions?" -msgstr[0] "" +msgstr[0] "本当に%(count)s件の提出を再採点してもよいですか?" #: templates/problem/manage_submission.html:173 msgid "Rescore all submissions" -msgstr "" +msgstr "すべての提出を再採点する" #: templates/problem/problem.html:96 msgid "View as PDF" @@ -4967,16 +5171,16 @@ msgstr "最優秀提出物" #: templates/problem/problem.html:140 msgid "Vote on problem points" -msgstr "" +msgstr "課題の得点を投票" #: templates/problem/problem.html:142 #, python-format msgid "Edit points vote (%(points)d)" -msgstr "" +msgstr "得点の投票を編集(%(points)d)" #: templates/problem/problem.html:146 templates/problem/vote-stats-ajax.html:3 msgid "Voting statistics" -msgstr "" +msgstr "投票統計" #: templates/problem/problem.html:151 msgid "Read editorial" @@ -5030,7 +5234,7 @@ msgstr "許可されている言語" #: templates/problem/problem.html:267 #, python-format msgid "No %(lang)s judge online" -msgstr "%(lang)s はオンライン判定されません" +msgstr "%(lang)s の判定器はオンラインになっていません" #: templates/problem/problem.html:278 msgid "Judge:" @@ -5039,7 +5243,7 @@ msgstr[0] "判定器:" #: templates/problem/problem.html:295 msgid "none available" -msgstr "" +msgstr "利用できません" #: templates/problem/problem.html:320 msgid "Request clarification" @@ -5055,7 +5259,7 @@ msgstr "課題検索" #: templates/problem/search-form.html:8 msgid "Search problems..." -msgstr "問題を検索する..." +msgstr "問題を検索する…" #: templates/problem/search-form.html:14 msgid "Full text search" @@ -5063,15 +5267,15 @@ msgstr "全文検索" #: templates/problem/search-form.html:21 msgid "Hide solved problems" -msgstr "解いた課題を非表示にする" +msgstr "解いた課題を非表示" #: templates/problem/search-form.html:27 msgid "Has editorial" -msgstr "" +msgstr "解説がある" #: templates/problem/search-form.html:32 msgid "Show problem types" -msgstr "課題のタイプを表示する" +msgstr "課題のタイプを表示" #: templates/problem/search-form.html:38 templates/problem/search-form.html:40 #: templates/submission/submission-list-tabs.html:4 @@ -5089,7 +5293,7 @@ msgstr "点数の範囲" #: templates/problem/search-form.html:68 templates/submission/list.html:328 #: templates/ticket/list.html:189 msgid "Go" -msgstr "実行する" +msgstr "実行" #: templates/problem/search-form.html:69 msgid "Random" @@ -5106,11 +5310,11 @@ msgstr "結果" #: templates/problem/submission-diff.html:66 msgid "Date" -msgstr "" +msgstr "日付" #: templates/problem/submit.html:118 msgid "Your source code must contain at most 65536 characters." -msgstr "" +msgstr "ソースコードは 65536文字以内でなければなりません。" #: templates/problem/submit.html:138 msgid "Warning!" @@ -5125,7 +5329,7 @@ msgstr "あなたのデフォルト言語 %(language)s はこの課題に利用 #, python-format msgid "You have %(left)s submission left" msgid_plural "You have %(left)s submissions left" -msgstr[0] "" +msgstr[0] "%(left)s件の提出物が残っています" #: templates/problem/submit.html:152 msgid "You have 0 submissions left" @@ -5137,7 +5341,7 @@ msgstr "この課題は判定器が利用可能ではありません。" #: templates/problem/vote-ajax.html:4 msgid "Change vote" -msgstr "" +msgstr "投票を変更" #: templates/problem/vote-ajax.html:7 #, python-format @@ -5146,15 +5350,15 @@ msgstr "" #: templates/problem/vote-ajax.html:11 msgid "Cast vote" -msgstr "" +msgstr "投票" #: templates/problem/vote-ajax.html:25 msgid "Justification:" -msgstr "" +msgstr "根拠:" #: templates/problem/vote-ajax.html:27 msgid "A short justification for your vote to this problem's point value (optional)." -msgstr "" +msgstr "この課題の得点の投票に関する根拠(省略可)。" #: templates/problem/vote-ajax.html:33 msgid "Vote!" @@ -5171,17 +5375,17 @@ msgstr "" #: templates/problem/vote-stats-ajax.html:16 #, python-format msgid "Median vote: %(val)s" -msgstr "" +msgstr "投票の中央値: %(val)s" #: templates/problem/vote-stats-ajax.html:17 #, python-format msgid "Mean vote: %(val)s" -msgstr "" +msgstr "投票の平均値: %(val)s" #: templates/problem/vote-stats-ajax.html:18 #, python-format msgid "Number of votes: %(val)d" -msgstr "" +msgstr "投票数: %(val)d" #: templates/registration/activate.html:3 #, python-format @@ -5190,109 +5394,109 @@ msgstr "%(key)s は無効な有効化鍵です。" #: templates/registration/activation_complete.html:3 msgid "Your account has been successfully activated." -msgstr "あなたのアカウントは正常に有効化されました。" +msgstr "アカウントが有効化されました。" #: templates/registration/activation_email.html:6 #, python-format msgid "Thanks for registering on the %(site_name)s! We're glad to have you." -msgstr "" +msgstr "%(site_name)sにご登録いただき、ありがとうございます!いらっしゃいませ。" #: templates/registration/activation_email.html:8 #, python-format msgid "The last step is activating your account. Please activate your %(site_name)s account in the next %(count)s day." msgid_plural "The last step is activating your account. Please activate your %(site_name)s account in the next %(count)s days." -msgstr[0] "" +msgstr[0] "最終ステップはアカウントの有効化です。%(count)s日以内に%(site_name)sのアカウントを有効化してください。" #: templates/registration/activation_email.html:14 #: templates/registration/activation_email.txt:8 msgid "Please click on the following link to activate your account:" -msgstr "" +msgstr "アカウントを有効化するには、次のリンクをクリックしてください:" #: templates/registration/activation_email.html:18 #: templates/registration/activation_email.txt:11 msgid "Alternatively, you can reply to this message to activate your account. Your reply must keep the following text intact for this to work:" -msgstr "" +msgstr "または、このメッセージに返信することでもアカウントを有効化できます。返信の際には、以下のテキストはそのままである必要があります:" #: templates/registration/activation_email.html:22 #, python-format msgid "See you soon! If you have problems activating your account, feel free to send us an email at %(email)s." -msgstr "" +msgstr "またお会いしましょう。アカウントの有効化で問題がある場合は、%(email)sまでお気軽にメールでお問い合わせください。" #: templates/registration/activation_email.html:25 #: templates/registration/password_reset_email.html:17 msgid "See you soon!" -msgstr "" +msgstr "またお会いしましょう!" #: templates/registration/activation_email.txt:1 #, python-format msgid "Please activate your %(site_name)s account in the next %(count)s day." msgid_plural "Please activate your %(site_name)s account in the next %(count)s days." -msgstr[0] "" +msgstr[0] "%(count)s日以内に%(site_name)sのアカウントを有効化してください。" #: templates/registration/activation_email_subject.txt:1 #, python-format msgid "Activate your %(site_name)s account" -msgstr "" +msgstr "%(site_name)sアカウントの有効化" #: templates/registration/email_change.html:20 msgid "Request email change" -msgstr "" +msgstr "メールの変更をリクエスト" #: templates/registration/email_change_activate_email.html:9 #: templates/registration/email_change_activate_email.txt:3 #, python-format msgid "You have requested to change your email address to this email for your user account at %(site_name)s." -msgstr "" +msgstr "あなたは、%(site_name)sの利用者アカウントのメールアドレスをこのアドレスに変更するよう要求しました。" #: templates/registration/email_change_activate_email.html:11 #, python-format msgid "Please click the link to confirm this email change. The link will expire in %(count)s minute." msgid_plural "Please click the link to confirm this email change. The link will expire in %(count)s minutes." -msgstr[0] "" +msgstr[0] "このメールの変更を承認するにはリンクをクリックしてください。このリンクは%(count)s分で失効します。" #: templates/registration/email_change_activate_email.html:21 #: templates/registration/email_change_activate_email.txt:14 #, python-format msgid "If you have encountered any problems, feel free to shoot us an email at %(email)s." -msgstr "" +msgstr "問題が発生した場合は、%(email)sまで気軽にメールでお問い合わせください。" #: templates/registration/email_change_activate_email.txt:5 #, python-format msgid "Please go to this page to confirm this email change. The link will expire in %(count)s minute." msgid_plural "Please go to this page to confirm this email change. The link will expire in %(count)s minutes." -msgstr[0] "" +msgstr[0] "このメールの変更を承認するには、このページにアクセスしてください。このリンクは%(count)s分で失効します。" #: templates/registration/email_change_activate_subject.txt:1 #, python-format msgid "Email change request on %(site_name)s" -msgstr "" +msgstr "%(site_name)sのメール変更の要求" #: templates/registration/email_change_notify_email.html:9 #: templates/registration/email_change_notify_email.txt:2 #, python-format msgid "Someone (hopefully you!) has requested to change the email address associated with your user account at %(site_name)s to %(new_email)s." -msgstr "" +msgstr "誰かが(あなたであって欲しいですが!)%(site_name)sの利用者アカウントのメールアドレスを%(new_email)sに変更するように要求しました。" #: templates/registration/email_change_notify_email.html:11 #: templates/registration/email_change_notify_email.txt:4 msgid "If this was you, no further action is required." -msgstr "" +msgstr "これがあなたであれば、特に何もする必要はありません。" #: templates/registration/email_change_notify_email.html:17 #: templates/registration/email_change_notify_email.txt:6 #, python-format msgid "If this was not you, please change your password and email us immediately at %(email)s." -msgstr "" +msgstr "もしあなたでない場合は、パスワードを変更し、すぐに%(email)sまでメールしてください。" #: templates/registration/email_change_notify_email.html:20 #: templates/registration/email_change_notify_email.txt:8 msgid "If this was not you, please change your password and reply to this email immediately." -msgstr "" +msgstr "もしあなたでない場合は、パスワードを変更し、すぐにこのメールに返信してください。" #: templates/registration/email_change_notify_subject.txt:1 #, python-format msgid "Alert: Email change request on %(site_name)s" -msgstr "" +msgstr "警告: %(site_name)sのメール変更リクエスト" #: templates/registration/login.html:35 msgid "Invalid username or password." @@ -5309,7 +5513,7 @@ msgstr "パスワードを忘れましたか?" #: templates/registration/login.html:59 msgid "Or log in with..." -msgstr "または次でログイン..." +msgstr "または次でログイン…" #: templates/registration/logout.html:3 msgid "See you later!" @@ -5317,19 +5521,19 @@ msgstr "また会いましょう!" #: templates/registration/password_change_done.html:3 msgid "Your password was successfully changed." -msgstr "あなたのパスワードは正常に変更されました。" +msgstr "パスワードが変更されました。" #: templates/registration/password_change_form.html:7 msgid "We found your password in [a database of compromised passwords][0]." -msgstr "" +msgstr "[漏洩したパスワードのデータベース][0]から、あなたのパスワードを見つけました。" #: templates/registration/password_change_form.html:8 msgid "To protect your account, we are requiring you to change your password to a more secure password." -msgstr "" +msgstr "アカウントを保護するために、より安全なパスワードへ変更する必要があります。" #: templates/registration/password_change_form.html:13 msgid "Change Password" -msgstr "パスワードを変更する" +msgstr "パスワードの変更" #: templates/registration/password_reset.html:7 msgid "Send Reset Email" @@ -5341,11 +5545,11 @@ msgstr "あなたのパスワードが設定されています。先に進んで #: templates/registration/password_reset_confirm.html:9 msgid "Reset Password" -msgstr "パスワードをリセットする" +msgstr "パスワードのリセット" #: templates/registration/password_reset_confirm.html:12 msgid "Invalid password reset link." -msgstr "" +msgstr "パスワードリセットのリンクが無効です。" #: templates/registration/password_reset_done.html:4 msgid "We've emailed you instructions for setting your password. You should be receiving them shortly." @@ -5358,17 +5562,17 @@ msgstr "もし電子メールが届かなければ、あなたが登録時に入 #: templates/registration/password_reset_email.html:6 #, python-format msgid "Forgot your password on the %(site_name)s? Don't worry!" -msgstr "" +msgstr "%(site_name)sのパスワードを忘れましたか?ご心配なく!" #: templates/registration/password_reset_email.html:8 #, python-format msgid "To reset the password for your account \"%(username)s\", click the link below." -msgstr "" +msgstr "アカウント「%(username)s」のパスワードをリセットするには、下のリンクをクリックしてください。" #: templates/registration/password_reset_email.html:14 #, python-format msgid "See you soon! If you have problems resetting your password, feel free to shoot us an email at %(email)s." -msgstr "" +msgstr "またお会いしましょう!もしパスワードのリセットで問題がある場合は、%(email)sまでお気軽にメールでお問い合わせください。" #: templates/registration/password_reset_email.txt:1 #, python-format @@ -5404,7 +5608,7 @@ msgstr "続行 >" #: templates/registration/registration_closed.html:3 msgid "Registration is currently closed. Please contact an administrator." -msgstr "" +msgstr "現在は利用登録できません。管理者にお問い合わせください。" #: templates/registration/registration_complete.html:3 msgid "You have successfully been registered. An email has been sent to the email address you provided to confirm your registration." @@ -5435,13 +5639,13 @@ msgid "Affiliated organizations" msgstr "所属組織" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "まもなく開催予定のコンテストを通知する" #: templates/registration/registration_form.html:209 msgid "By registering, you agree to our [Terms & Conditions][0]." -msgstr "" +msgstr "登録することで、[利用規約][0]に同意したものとみなされます。" #: templates/registration/registration_form.html:212 msgid "Register!" @@ -5449,20 +5653,20 @@ msgstr "登録!" #: templates/registration/totp_disable.html:31 msgid "To protect your account, you must first authenticate before you can disable Two Factor Authentication." -msgstr "" +msgstr "アカウントを保護するため、二要素認証を無効化するには、まず認証が必要です。" #: templates/registration/totp_disable.html:38 #: templates/registration/two_factor_auth.html:79 msgid "Enter the 6-digit code generated by your app or one of your 16-character scratch codes:" -msgstr "" +msgstr "アプリで生成された6桁のコード、あるいは16文字のスクラッチコードを入力してください:" #: templates/registration/totp_disable.html:41 msgid "Disable Two Factor Authentication" -msgstr "" +msgstr "二要素認証の無効化" #: templates/registration/totp_enable.html:72 msgid "Scan this code with your authenticator app:" -msgstr "" +msgstr "認証アプリでこのコードをスキャン:" #: templates/registration/totp_enable.html:73 msgid "QR code" @@ -5470,47 +5674,47 @@ msgstr "QRコード" #: templates/registration/totp_enable.html:74 msgid "Or enter this code manually:" -msgstr "" +msgstr "または、このコードを入力:" #: templates/registration/totp_enable.html:85 msgid "Enter the 6-digit code generated by your app:" -msgstr "" +msgstr "アプリで生成された6桁のコードを入力:" #: templates/registration/totp_enable.html:90 msgid "Edit Two Factor Authentication" -msgstr "" +msgstr "二要素認証を編集" #: templates/registration/totp_enable.html:92 msgid "Enable Two Factor Authentication" -msgstr "" +msgstr "二要素認証を有効化" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." -msgstr "" +msgstr "以下は一度だけ使用できるスクラッチコードの一覧です。" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." -msgstr "" +msgstr "これらのコードは一度のみ、緊急時に使用します。" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." -msgstr "" +msgstr "アカウントにログインしたり、二要素認証を無効化するために、これらのコードを利用することができます。" #: templates/registration/totp_enable.html:101 msgid "If you ever need more scratch codes, you can regenerate them on the edit profile tab." -msgstr "" +msgstr "スクラッチコードがさらに必要な場合は、プロフィールの編集タブで再生成できます。" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." -msgstr "" +msgstr "これらのコードを書き留めて、安全な場所に保管してください。" #: templates/registration/totp_enable.html:103 msgid "These codes will never be shown again after you enable two-factor authentication." -msgstr "" +msgstr "二要素認証を有効にした後は、これらのコードは二度と表示されなくなります。" #: templates/registration/totp_enable.html:108 msgid "Important:" @@ -5519,15 +5723,15 @@ msgstr "重要:" #: templates/registration/totp_enable.html:109 #, python-format msgid "If you lose your authentication device and are unable to use your scratch codes, %(site_name)s admins will NOT be able to recover your account. Please keep your scratch codes safe!" -msgstr "" +msgstr "認証デバイスを紛失し、スクラッチコードが使用できない場合、%(site_name)sの管理者があなたのアカウントを復元することは「不可能」です。スクラッチコードを安全に保管してください!" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." -msgstr "" +msgstr "お使いのブラウザでは WebAuthn はサポートされていません。" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5554,7 +5758,7 @@ msgstr "提出物の統計" #: templates/stats/language.html:21 msgid "AC Submissions by Language" -msgstr "言語ごとの受理された提出物" +msgstr "言語ごとのAC提出数" #: templates/status/judge-status-table.html:3 msgid "Judge" @@ -5607,7 +5811,7 @@ msgstr "" #: templates/submission/internal-error-message.html:3 #, python-format msgid "An internal error occurred while grading, and the %(site_name)s administrators have been notified." -msgstr "" +msgstr "採点中に内部エラーが発生し、%(site_name)s 管理者に通知されました。" #: templates/submission/internal-error-message.html:5 msgid "In the meantime, try resubmitting in a few seconds." @@ -5623,15 +5827,15 @@ msgstr "エラー情報" #: templates/submission/list.html:35 templates/submission/status.html:81 msgid "Are you sure you want to rejudge?" -msgstr "" +msgstr "本当に再判定してもよいですか?" #: templates/submission/list.html:75 msgid "Filter by status..." -msgstr "状態で絞り込む..." +msgstr "状態で絞り込む…" #: templates/submission/list.html:82 msgid "Filter by language..." -msgstr "言語で絞り込む..." +msgstr "言語で絞り込む…" #: templates/submission/list.html:306 msgid "Filter submissions" @@ -5660,7 +5864,7 @@ msgstr "再判定" #: templates/submission/row.html:64 msgid "This submission has been locked, and cannot be rejudged." -msgstr "" +msgstr "この提出はロックされており、再判定できません。" #: templates/submission/row.html:65 msgid "locked" @@ -5672,23 +5876,23 @@ msgstr "管理" #: templates/submission/source.html:25 msgid "View status" -msgstr "状態を表示する" +msgstr "状態の表示" #: templates/submission/source.html:26 msgid "View raw source" -msgstr "生のソースを表示する" +msgstr "生のソースの表示" #: templates/submission/source.html:28 templates/submission/status.html:75 msgid "Resubmit" -msgstr "再提出する" +msgstr "再提出" #: templates/submission/status-testcases.html:10 msgid "We are waiting for a suitable judge to process your submission..." -msgstr "あなたの提出物を処理するのに適した判定器を待っています..." +msgstr "あなたの提出物を処理するのに適した判定器を待っています…" #: templates/submission/status-testcases.html:12 msgid "Your submission is being processed..." -msgstr "あなたの提出物は処理されています..." +msgstr "あなたの提出物が処理されています…" #: templates/submission/status-testcases.html:14 msgid "Compilation Error" @@ -5728,7 +5932,7 @@ msgstr "テストケース #%(id)d:" #: templates/submission/status-testcases.html:101 msgid "Your output (clipped)" -msgstr "あなたの出力(切り取ってある)" +msgstr "あなたの出力(一部)" #: templates/submission/status-testcases.html:113 msgid "Judge feedback" @@ -5736,11 +5940,11 @@ msgstr "判定のフィードバック" #: templates/submission/status-testcases.html:129 msgid "Resources:" -msgstr "資源:" +msgstr "リソース:" #: templates/submission/status-testcases.html:138 msgid "Maximum single-case runtime:" -msgstr "最長のランタイム:" +msgstr "最長実行時間:" #: templates/submission/status-testcases.html:143 msgid "Final pretest score:" @@ -5766,11 +5970,11 @@ msgstr "提出が中断された!" #: templates/submission/status.html:73 msgid "View source" -msgstr "ソースを表示する" +msgstr "ソースの表示" #: templates/submission/status.html:110 msgid "Press Ctrl-Enter or Command-Enter to abort." -msgstr "" +msgstr "中断するには Ctrl-Enter か Command-Enter を押してください。" #: templates/submission/status.html:112 msgid "Abort" @@ -5778,7 +5982,7 @@ msgstr "中断する" #: templates/submission/submission-list-tabs.html:6 msgid "Mine" -msgstr "私の" +msgstr "自分" #: templates/submission/submission-list-tabs.html:9 msgid "Best" @@ -5850,7 +6054,7 @@ msgstr "チケットを開いてくれてありがとう!" #: templates/ticket/new_problem.html:9 msgid "Please keep in mind that this form is for reporting issues with a problem statement, and not for asking for help. If you require assistance on solving a problem, ask in the comments instead." -msgstr "このフォームは課題設定の問題を報告するためのものであり、助けを求めるためのものではないことを心に留めてください。課題を解くのに援助が必要な場合は、代わりにコメントで尋ねて下さい。" +msgstr "このフォームは課題説明における問題を報告するためのものであり、助けを求めるためのものではないことにご注意ください。課題を解くのに援助が必要な場合は、コメントの方を使用してください。" #: templates/ticket/ticket.html:30 #, python-brace-format @@ -5887,146 +6091,146 @@ msgstr "ランク" #: templates/user/base-users.html:15 templates/user/base-users.html:59 msgid "Search by handle..." -msgstr "ハンドルで検索..." +msgstr "ハンドルで検索…" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." -msgstr "" +msgstr "このサイトの管理者はすべてのスタッフに二要素認証を有効にするよう要求していますので、現時点では無効にできません。" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" -msgstr "" +msgstr "本当にAPIトークンを生成してもよいですか?" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." -msgstr "" +msgstr "これにより今までのAPIトークンは無効になります。" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." -msgstr "" +msgstr "二要素認証なしにアカウントにアクセスすることもできます。" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" -msgstr "" +msgstr "このページから離れた後は、APIトークンを表示することはできなくなります。" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" -msgstr "" +msgstr "本当にAPIトークンを削除してもよいですか?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" -msgstr "" +msgstr "本当にこのセキュリティキーを削除してもよいですか?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" -msgstr "" +msgstr "本当に新しいスクラッチコードを生成してもよいですか?" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." -msgstr "" +msgstr "これにより、以前のスクラッチコードはすべて無効になります。" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" -msgstr "" +msgstr "このページから離れた後は、スクラッチコードを表示することはできなくなります。" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "自己紹介:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "最寄りの大都市を選択してください" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "時間帯:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "言語:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" -msgstr "" +msgstr "サイトテーマ:" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "エディタのテーマ:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "数式エンジン:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "所属組織:" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" -msgstr "アバターを変更する" +msgstr "アバターの変更" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" -msgstr "パスワードを変更する" +msgstr "パスワードの変更" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" -msgstr "" +msgstr "APIトークン:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "非表示" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" -msgstr "" +msgstr "二要素認証は有効になっています:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" -msgstr "" +msgstr "スクラッチコード:" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." -msgstr "" +msgstr "スクラッチコードがさらに必要な場合は、ここで再生成できます。" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" -msgstr "" +msgstr "二要素認証は無効になっています:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" -msgstr "" +msgstr "セキュリティキー:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" -msgstr "" +msgstr "このキーの名前を入力してください" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "利用者スクリプト:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "プロフィールの更新" @@ -6037,11 +6241,11 @@ msgstr "重み%(percent)s(%(pp)spp)" #: templates/user/prepare-data.html:64 msgid "Are you sure you want to prepare a download?" -msgstr "" +msgstr "本当にダウンドーロの準備をしますか?" #: templates/user/prepare-data.html:79 msgid "We are currently preparing your data." -msgstr "" +msgstr "現在データを準備しています。" #: templates/user/prepare-data.html:81 msgid "Track progress" @@ -6050,11 +6254,11 @@ msgstr "" #: templates/user/prepare-data.html:85 #, python-format msgid "You may only prepare a new data download once every %(duration)s." -msgstr "" +msgstr "新しいデータのダウンロードの準備は %(duration)s の期間で1回のみ可能です。" #: templates/user/prepare-data.html:87 msgid "Once your data is ready, you will find a download link on this page." -msgstr "" +msgstr "データの準備ができたら、このページにダウンロードのリンクが表示されます。" #: templates/user/prepare-data.html:104 msgid "Submissions" @@ -6062,32 +6266,32 @@ msgstr "提出" #: templates/user/prepare-data.html:121 msgid "Prepare new download" -msgstr "" +msgstr "新しいダウンロードを準備" #: templates/user/prepare-data.html:123 msgid "Prepare download" -msgstr "" +msgstr "ダウンロードを準備" #: templates/user/prepare-data.html:127 msgid "Download prepared data" -msgstr "" +msgstr "準備されたデータをダウンロード" #: templates/user/prepare-data.html:133 msgid "Your data is ready!" -msgstr "" +msgstr "データの準備ができました!" #: templates/user/prepare-data.html:135 #, python-format msgid "You will need to wait %(countdown)s to prepare a new data download." -msgstr "" +msgstr "新しいデータのダウンロードの準備には、%(countdown)s待たなければいけません。" #: templates/user/prepare-data.html:137 msgid "Download data" -msgstr "" +msgstr "データをダウンロード" #: templates/user/user-about.html:14 msgid "From" -msgstr "差出人" +msgstr "出身" #: templates/user/user-about.html:25 msgid "Admin notes:" @@ -6095,7 +6299,7 @@ msgstr "管理者メモ:" #: templates/user/user-about.html:32 templates/user/user-tabs.html:4 msgid "About" -msgstr "サイトについて" +msgstr "概要" #: templates/user/user-about.html:39 msgid "You have not shared any information." @@ -6187,7 +6391,7 @@ msgstr "点数の内訳" #: templates/user/user-problems.html:43 msgid "Load more..." -msgstr "さらに読み込む..." +msgstr "さらに読み込む…" #: templates/user/user-problems.html:47 msgid "This user has not yet solved any problems." diff --git a/locale/ja/LC_MESSAGES/djangojs.po b/locale/ja/LC_MESSAGES/djangojs.po index 4984576880..33815cd4ce 100644 --- a/locale/ja/LC_MESSAGES/djangojs.po +++ b/locale/ja/LC_MESSAGES/djangojs.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-23 05:23+0000\n" -"PO-Revision-Date: 2023-01-24 00:51\n" +"PO-Revision-Date: 2024-12-01 01:08\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -30,48 +30,48 @@ msgstr "%h:%m:%s" #: resources/problem-vote.js:11 msgid "Vote on problem points" -msgstr "" +msgstr "課題の得点を投票" #: resources/problem-vote.js:16 #, javascript-format msgid "Unable to delete vote: %s" -msgstr "" +msgstr "投票を削除できません: %s" #: resources/problem-vote.js:28 #, javascript-format msgid "Edit points vote (%s)" -msgstr "" +msgstr "得点の投票を編集(%s)" #: resources/problem-vote.js:34 #, javascript-format msgid "Unable to cast vote: %s" -msgstr "" +msgstr "投票できません: %s" #: resources/problem-vote.js:63 msgid "Number of votes for this point value" -msgstr "" +msgstr "この得点に対する得票数" #: resources/user_profile.js:47 msgid "past year" -msgstr "" +msgstr "過去1年" #: resources/user_profile.js:64 msgid "%(cnt)d total submission" msgid_plural "%(cnt)d total submissions" -msgstr[0] "" +msgstr[0] "総提出数 %(cnt)d" #: resources/user_profile.js:69 msgid "%(cnt)d submission in the last year" msgid_plural "%(cnt)d submissions in the last year" -msgstr[0] "" +msgstr[0] "過去1年の提出数 %(cnt)d" #: resources/user_profile.js:74 msgid "%(cnt)d submission in %(year)d" msgid_plural "%(cnt)d submissions in %(year)d" -msgstr[0] "" +msgstr[0] "%(year)d 年の提出数 %(cnt)d" #: resources/user_profile.js:88 msgid "%(cnt)d submission on %(date)s" msgid_plural "%(cnt)d submissions on %(date)s" -msgstr[0] "" +msgstr[0] "%(date)s の提出数 %(cnt)d" diff --git a/locale/kk/LC_MESSAGES/django.po b/locale/kk/LC_MESSAGES/django.po index c0a24c47ab..9231cecfce 100644 --- a/locale/kk/LC_MESSAGES/django.po +++ b/locale/kk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Kazakh\n" "Language: kk_KZ\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Каталан" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Немісше" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Грекше" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Ағылшынша" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Испанша" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Французша" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Хорватша" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Мажар тілі" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Жапонша" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Қазақ тілі" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Кәрісше" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Бразилиялық португалша" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Румынше" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Орысша" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Сербше (латынша)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Түрікше" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Вьетнамша" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Қытайша (Жеңілдетілген)" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Қытайша (Дәстүрлі)" @@ -140,125 +140,125 @@ msgstr[1] "%d пікір сәтті көрсетілді." msgid "associated page" msgstr "байланысты бет" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Қосылған сайыстар" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Есеп" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Есептер" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Қайта тексеру" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Баптаулар" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Кесте" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Егжей" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Форматы" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Рейтинг" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Рұқсат" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Әділет" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Сайысты көрінетін етіп белгілеу" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "%d контест көрінетіндей болып белгіленді." msgstr[1] "%d контесттер көрінетіндей болып белгіленді." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Сайыстарды жасырын етіп белгілеу" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "%d контест көрінбейтіндей болып белгіленді." msgstr[1] "%d контесттер көрінбейтіндей болып белгіленді." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Контест тапсырылымдарын бұғаттау" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "%d контест сәтті бұғатталды." msgstr[1] "%d контесттер сәтті бұғатталды." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Сайыс тапсырылымдарын ашу" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "%d контест бұғаттан сәтті ашылды." msgstr[1] "%d контесттер бұғаттан сәтті ашылды." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "%d тапсырылымы қайта тексеру үшін күнтізбекке қойылды." msgstr[1] "%d тапсырылымдары қайта тексеру үшін күнтізбекке қойылды." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Нәтижелерді қайта есептеу" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "%d қатысушысы қайта есептелді." msgstr[1] "%d қатысушыалыр қайта есептелді." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "қолданушы аты" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "виртуалды" @@ -270,9 +270,9 @@ msgstr "сілтеме бумасы" msgid "Summary" msgstr "Қорытынды" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "қолданушы" msgid "object" msgstr "объект" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Сайтта көру" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "Өңдеу себебі" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Жасаған өзгерістерді сипаттаңыз (міндетті емес)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Әлеуметтік Медиа" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Таксономия" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Ұпайлар" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Шектеулер" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Тіл" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Тарих" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "авторлар" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Жариялау күнін қазірге орнатыңыз" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "%d есептің жарияланған күні сәтті жаңартылды." msgstr[1] "%d есептің жарияланған күндері сәтті жаңартылды." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Есепті жалпыға ортақ етіп белгілеу" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "%d есеп жалпыға ортақ болып сәтті белгіленді." msgstr[1] "%d есеп жалпыға ортақ болып сәтті белгіленді." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Есепті жеке етіп белгілеу" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "%d есеп жеке ретінде сәтті белгіленді." msgstr[1] "%d есеп жеке ретінде сәтті белгіленді." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "есеп" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "уақыт белдеуі" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "эл. пошта" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "қосылу күні" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Ұпайларды қайта есептеу" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "%d қолданушының ұпайы қайта есептелді." msgstr[1] "%d қолданушының ұпайы қайта есептелді." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Қайта генерация жасау" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Сипаттамасы" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Ақпарат" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Мүмкіндіктер" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Еш" @@ -427,77 +427,77 @@ msgstr "Ерекше" msgid "Unaccepted" msgstr "Қабылданбады" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (көрермен)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s (виртуалды %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s - %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Таңдалған тапсырылымдарға қайта тексерту жасау" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Тапсырылымдарға қайта тексерту жасауға сіздің рұқсатыңыз жоқ." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "МҰНША көп тапсырылымдарды қайта тексерту жасауға сіздің рұқсатыңыз жоқ." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Таңдалған тапсырылымдар ұпайын қайта есептеу" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d тапсырылымның ұпайы қайта есептелді." msgstr[1] "%d тапсырылымның ұпайы қайта есептелді." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "есеп коды" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "есеп атауы" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "уақыт" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "жады" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "тіл" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "Бұғатталған" @@ -517,20 +517,20 @@ msgstr "Аталмыш есептер мына типті есептеріне msgid "Online Judge" msgstr "Online Judge" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Пікір денесі" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "Тыныш отыр, балақай." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "Дауысыңыз естілмес бұрын кем дегенде бір есепті шешуіңіз керек." -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Жарияланған пікірлер" @@ -615,129 +615,129 @@ msgstr "Байланыстар нөлдік емес баллмен соңғы msgid "IOI (pre-2016)" msgstr "IOI (2016-ға дейін)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "Екі факторлы аутентификация таңбалауыштары {count} ондық цифры болуы керек." msgstr[1] "Екі факторлы аутентификация таңбалауыштары {count} ондық цифрлары болуы керек." -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Екі факторлы аутентификацияның жарамсыз белгісі." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "Скретч-кодта 16 база 32 таңба болуы қажет." -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "Жарамсыз скретч-код." -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Жаңартылған байқауға жазылу" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Тәжірибелік функцияларды қосу" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "Профильді жаңарту үшін кем дегенде бір есепті шешуіңіз керек." -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "Сіз {count} астам қоғамдық ұйымның мүшесі бола алмайсыз." msgstr[1] "Сіз {count} астам қоғамдық ұйымның мүшесі бола алмайсыз." -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Пікірлерді жүктеу?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "Тапсырылымдарды жүктеу?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "Есеп коды арқылы cүзгілеу:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "Барлық жіберілімдерді қосу үшін бос қалдырыңыз" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Нәтижесі бойынша сүзгілеу:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "Жүктеу үшін кем дегенде бір нәрсені таңдаңыз." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Кез келген сот" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Қолданушы аты" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Құпиясөз" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "Кодтың ұзындығы қате." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "WebAuthn жауабы жарамсыз." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "WebAuthn тіркелген ID дұрыс емес." -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "Жарамсыз екі факторлы аутентификация таңбалауышы немесе скреч коды." -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "totp_token немесе webauthn_response көрсетілуі керек." -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "Есеп коды ^[a-z0-9]+$ болуы тиіс" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "Мұндай кодты есеп әлдеқашан бар." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "Сайыс коды ^[a-z0-9]+$ болуы тиіс" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Мұндай кілтті сайыс әлдеқашан бар." @@ -746,6 +746,66 @@ msgstr "Мұндай кілтті сайыс әлдеқашан бар." msgid "N j, Y, g:i a" msgstr "N j, Y, g:i a" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "%s Б" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "%s КБ" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "%s МБ" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "%s ГБ" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "%s ТБ" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "%s ПБ" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "%sБ" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "%sК" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "%sМ" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "%sГ" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "%sТ" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "%sП" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "Рейтингсіз" @@ -827,7 +887,7 @@ msgid "comments" msgstr "пікірлер" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "%s талдауы" @@ -881,7 +941,7 @@ msgstr "белгі сипаттамасы" msgid "contest tag" msgstr "контест белгісі" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "контест белгілері" @@ -957,12 +1017,12 @@ msgstr "Бұл пайдаланушылар байқауды бақылай ал msgid "description" msgstr "сипаттамасы" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "есептер" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "басталу уақыты" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "аяқталу уақыты" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "уақыт шектеуі" @@ -1043,380 +1103,380 @@ msgstr "Жоғары рейтингі бар пайдаланушыларды б msgid "rate all" msgstr "барлығын бағалаңыз" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Қатысқан пайдаланушылардың барлығын бағалаңыз." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "рейтингтен шығарылсын" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "белгілі бір пайдаланушылар үшін жабық" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "жеке қатысушылар" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "Егер орын бос болмаса, тек осы пайдаланушылар ғана байқауды көре алады." -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "мәселе тегтерін жасыру" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Есеп тегтері жасырылуы қажет пе." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "есептің авторларын жасыру" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." -msgstr "Есеп тегтері жасырылуы қажет пе." +msgstr "Есеп авторлары жасырылуы қажет пе." -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "тек сынақ тесттерді іске қосу" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "Судьялар барлық тест тапсырмаларын емес, тек алдын-ала тесттерді бағалауы керек пе? Әдетте байқау кезінде орнатылады, содан кейін байқау аяқталғаннан кейін пайдаланушылардың өтінімдері алдын ала қаралғанға дейін қалпына келтіріледі." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "қысқа пішіннің нұсқауының сипатын көрсету" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "Байқау параметрлері бар бөлімді байқау бетінде көрсету керек пе, жоқ па." -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "жеке тұлғадан ұйымдарға" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "ұйымдар" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "Бос болмаса, тек осы ұйымдар ғана байқауға қосыла алады." -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "қосыла алатын ұйымдарды шектеңіз" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "ұйымдарға қосылу" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "Бос болмаса, тек осы ұйымдар ғана контестке қосыла алады." -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "сыныптар" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "Егер ұйым жеке болса, байқауды тек осы сыныптар көре алады." -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "OpenGraph суреті" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "логотипті алмастыратын сурет" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "Бұл сурет байқауға қатысатын пайдаланушылар үшін әдепкі сайт логотипін ауыстырады." -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "нақты қатысушылар саны" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "Әлеуметтік желі үшін мета-бейнелеу тегінде көрсетілген кәдімгі текст." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "кіру коды" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "Қатысушылардан конкурсқа қатысуға рұқсат етілгенге дейін сұралатын қосымша код. Өшіру үшін бұл өрісті бос қалдырыңыз." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "белгісіз тұлғалар" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "Таңдалған пайдаланушыларға осы байқауға қатысуға тыйым салады." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "байқау форматы" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "Қолданылатын байқау форматының модулі." -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "байқау форматын конфигурациясы" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "Таңдалған байқау форматының модулі үшін конфигурация ретінде қызмет ететін JSON нысаны. None қолданбау үшін бос қалдырыңыз. Нақты формат таңдалған байқау форматына байланысты." -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "байқау есептерінің жазу сценарийі" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "Есеп белгілерін жасау үшін Lua пайдаланушы функциясы. Бүтін параметрі бар жалғыз функция қажет, нөлдік индексі бар байқау есептерінің индексі және жолды, белгіні қайтарады." -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "байқауды бұғаттау" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "Осы уақыттан кейін осы байқауға қатысуға өтінімдерді қайта қарауға жол бермеңіз." -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "нақты нүктелер" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "Мәні дөңгелектелген сандар саны." -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Жеке байқауды қараңыз" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Өз байқауларыңызды өңдеңіз" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Барлық контестті өңдеу" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "Клондар байқауы" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSS контесті" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Контесттерді бағалау" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "Байқауға кіру кодтары" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "Жеке байқауды жасаңыз" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "Байқаудың көрінуін өзгерту" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "Байқау есептерінің жазу сценарийі өңдеңіз" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "Байқаудың бұғаттау күйін өзгерту" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "cайыс" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "контесттер" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "байланысты контест" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "нәтиже" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "жиынтық уақыт" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "дисквалификацияланған" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "Бұған қатысу дисквалификацияланады ма." -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "байланыстарды бөлу үшін өріс" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "виртуалды қатысушы идентификаторы" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 виртуалды емес, керісінше N-e виртуалды қатысуды білдіреді." -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "байқау форматы туралы нақты деректер" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "%(user)s %(contest)s нысанында бақылайды" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "%(user)s %(contest)s, %(id)d" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "%(user)s %(contest)s" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "байқауға қатысу" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "байқауға қатысушылар" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "ұпайлар" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "ішінара" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "қорғалған" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "реті" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "шығыс префиксінің ұзындығын қайта анықтау" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "максималды тапсырмалар" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "Осы тапсырмаға арналған өтінімдердің максималды саны немесе шектеусіз бос қалдырыңыз." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "Неліктен сіз шеше алмайтын есепті қосу керек?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "контест есебі" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "контест есептері" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "тапсырылымдар" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "қатысу" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Бұл жөнелтулер тек алдын ала тесттермен тексерілді ме." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "контест тапсырылымы" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "сайыс тапсырылымдары" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "дәреже" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "рейтинг" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "шикі рейтинг" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "байқауда сөз сөйлеу" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "соңғы рейтинг" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "сайыс рейтингі" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "байқау рейтингі" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "moss байқау нәтижесі" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "moss байқау нәтижелері" @@ -1468,7 +1528,7 @@ msgstr "жазбаның тақырыбы" msgid "slug" msgstr "шырыш" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "көпшілікке көріну" @@ -1519,11 +1579,11 @@ msgstr "есеп санатының атауы" #: judge/models/problem.py:42 msgid "problem type" -msgstr "есеп атауы" +msgstr "есеп түрі" #: judge/models/problem.py:43 judge/models/problem.py:133 msgid "problem types" -msgstr "есеп атаулары" +msgstr "есеп түрлері" #: judge/models/problem.py:47 msgid "problem group ID" @@ -1604,7 +1664,7 @@ msgstr "Есеп тізімінде көрсетілгендей есептің #: judge/models/problem.py:123 msgid "problem body" -msgstr "есеп коды" +msgstr "есеп мәтіні" #: judge/models/problem.py:124 msgid "creators" @@ -1634,7 +1694,7 @@ msgstr "Есептер тізіміндегі санат бөлімінде кө msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "Осы есепті секундта шешу үшін уақыттың шектеулігі. Секундтың фракцияларына қолдау көрсетіледі (мысалы, 1,5)." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "жадты шектеу" @@ -1750,111 +1810,115 @@ msgstr "is_manually_managed өрісінің өзгеруі" msgid "See organization-private problems" msgstr "Ұйымдастыру және жеке есептер бөлімін қараңыз" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "Жеке есеп жасаңыз" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "атын аудару" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "сипаттамасын аудару" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "есептерді аудару" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "есептердің аударылымдары" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "нақтыланған есеп" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "түсіндіру жөніндегі орган" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "уақыт белгісін нақтылау" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "есептерді нақтылау" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "есептерді нақтылаулар" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "белгілі бір тіл үшін ресурстарды шектеу" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "белгілі бір тіл үшін ресурстарды шектеулер" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "байланысты есеп" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "жариялау уақыты" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "редакциялық контент" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "Жасырын шешімдерді қараңыз" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "шешім" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "шешімдер" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "ұсынылатын тармақтар" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "Дауыс беруші бұл есептерге лайық деп санайтын ұпайлар саны." -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "дауыс беруші" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "дауыс беру уақыты" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "Бұл дауыс берілген уақыт." -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "ескерту" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "Есептік нүктенің мәнін негіздеу." -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "есептік дауыс беру" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "есептік дауыс берулер" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "Шешуші %(voter)s %(problem)s үшін дауыс береді" @@ -2994,40 +3058,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "%d хабарламалар беті" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "Жетіспейтін, солай емес пе?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "Дауыс бермес бұрын кем дегенде бір есепті шешу керек." -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "Пікір табылмады." -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "Өз пікіріңізге дауыс бере алмайсыз." -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Дауыс беріп қойдыңыз." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "Сайттан өңделген" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "Пікірді өзгерту" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "Мұндай контест жоқ" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "\"%s\" кілті бар контест табылмады." @@ -3036,111 +3100,111 @@ msgstr "\"%s\" кілті бар контест табылмады." msgid "Contests" msgstr "Сайыстар" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "Мұндай сайыс табылмады." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "\"%s\" сайысына рұқсат жоқ" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "Сайысты Клондау" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "%s сайысынан клондалды" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "Байқау өткізілмейді" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" қазіргі уақытта жүргізілмейді." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "Қосылуға тыйым салынады" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "Сіз бұл байқауда non grata тұлғасы деп жарияландыңыз. Сізге бұл байқауға қатысуға біржола тыйым салынады." -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "Кіру мүмкін емес" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "Сіз бұл байқауға қатыса алмайсыз." -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "\"%s\" кіру кодын енгізіңіз" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "Сіз жарысқа қатыспайсыз \"%s\"." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "%(month)s байқаулар" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "F Y" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "%s Статистика" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "%s Рейтингтер" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "Сіздің %(contest)s қатысуыңыз" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "%(user)s %(contest)s қатысуыңыз" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "Тікелей эфир" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Қатысу" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "%s MOSS Нәтиже" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "Жүгіретін MOSS үшін %s..." -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "Контест белгісі: %s" @@ -3577,52 +3641,52 @@ msgstr "{user}'лар тапсырылымдар {contest} дағы {problem} ү msgid "{user}'s submissions for problem {number} in {contest}" msgstr "{user}'лар {contest} да {number} есептер үшін тапсырылымдар" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Билет атауы" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Мәселенің сипаттамасы" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "Өтініш жасамас бұрын кем дегенде бір есепті шешу керек." -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "%s үшін жаңа билет" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - Билет %(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "Билеттер - Бет %(number)d %(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "Жаңа билет: %s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d, тағайындалған: %(users)s" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "ешкім" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "Тіркелу туралы жаңа билет: %s" @@ -3685,7 +3749,7 @@ msgstr "M j, Y, G:i" msgid "Preparing your data..." msgstr "Сіздің деректеріңізді дайындаймыз..." -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "Деректерді жүктеп алыңыз" @@ -3727,7 +3791,7 @@ msgstr "Сіз жүйеден сәтті шықтыңыз." msgid "You have sent too many password reset requests. Please try again later." msgstr "Сіз парольді қалпына келтіру туралы тым көп сұраулар жібердіңіз. Кейінірек қайталап көріңіз." -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3778,12 +3842,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "Сіз ұсынылған барлық тапсырылымдарды күткіңіз келетініне сенімдісіз бе?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "Бағалау" @@ -3803,13 +3993,13 @@ msgstr "Тоқтату" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "Өшіру" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "Қосылды" @@ -3872,7 +4062,7 @@ msgstr "**DMOJ** базасында жақсы жұмыс жасайды" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Түзету" @@ -3985,7 +4175,7 @@ msgstr "{time} түсініктемеде" msgid "edit %(edits)s" msgstr "өңдеу %(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "өңделген" @@ -4021,45 +4211,52 @@ msgstr "Жаңа пікірлер" msgid "Invalid comment body." msgstr "Жарамсыз түсініктеме мәтіні." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "Түсініктемеге жауап беру" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "өңдеу {edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "түпнұсқа" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "Дауыс беру мүмкін болмады: {error}" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "Сіз бұл пікірді жасырғыңыз келетініне сенімдісіз бе?" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "Түсініктемені жасыра алмады." -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "жаңартулар" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "Түсініктеме мәтінін жаңарту мүмкін болмады." -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "Түсініктемені өңдеу мүмкін болмады: {error}" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "Дауыс беруші" @@ -4072,15 +4269,15 @@ msgstr "Нәтиже" msgid "No votes" msgstr "Дауыстар жоқ" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "Көшіру үшін басыңыз" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "Көшіру" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "Көшірілді!" @@ -4186,7 +4383,7 @@ msgstr "Клон" msgid "Leave contest" msgstr "Байқаудан шығу" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Виртуалды байланыс" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "AC рейтингісі" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Қолданушылар" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "Контесттерді бағалау" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Байқау" @@ -4451,10 +4648,18 @@ msgstr "%(countdown)s басталды" msgid "There are no scheduled contests at this time." msgstr "Қазіргі уақытта жоспарланған байқаулар өткізілмейді." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Өткен байқаулар" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "Сіз кеткіңіз келетініне сенімдісіз бе?" @@ -4787,10 +4992,6 @@ msgstr "Шығу" msgid "Are you sure you want to kick this user?" msgstr "Сіз бұл пайдаланушыны шығарғыңыз келетініне сенімдісіз бе?" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "Жаңартуды алдын ала қарау" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "Клондалған есептер үшін жаңа кодты енгізіңіз:" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "Еншілес ұйымдар" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "Алдағы байқаулар туралы маған хабарлаңыз" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "Екі факторлы анықтауды қосу" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "Төменде бір реттік сызат кодтарының тізімі берілген." #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "Бұл кодтарды тек бір рет қолдануға болады және төтенше жағдайда пайдалануға арналған." #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "Сіз бұл кодтарды есептік жазбаңызға кіру үшін пайдалана аласыз немесе екі факторлы аутентификацияны өшіре аласыз." @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "Егер сізге қосымша сызат кодтары қажет болса, оларды Профильді өңдеу қойындысынан қалпына келтіруге болады." #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "Мұны жазып, қауіпсіз жерде сақтаңыз." @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "Егер сіз аутентификация құрылғысын жоғалтсаңыз және сызат кодтарын пайдалана алмасаңыз, әкімшілерік %(site_name)s есептік жазбаңызды қалпына келтіре алмайды. Сызат кодтарын сақтаңыз!" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "WebAuthn сіздің браузеріңізде көрсетпейді." #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "Сервермен байланысу мүмкін болмады." @@ -5930,144 +6131,144 @@ msgstr "Дәреже" msgid "Search by handle..." msgstr "Дескриптор бойынша іздеу..." -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "Бұл сайттың әкімшілері барлық қызметкерлерден екі-факторлы аутентификацияны қосуды талап етеді, сондықтан оны қазір өшіруге болады." -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "Сіз өзіңіздің API таңбалауышыңызды жасағыңыз немесе қалпына келтіргіңіз келетініне сенімдісіз бе?" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "Бұл барлық алдыңғы API таңбалауыштарының күшін жояды." -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "Бұл сіздің есептік жазбаңызға екі факторлы аутентификациясыз кіруге мүмкіндік береді." -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "Осы беттен шыққаннан кейін API таңбалауышын көре алмайсыз!" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "Генерациялау..." -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "Жою" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "API таңбалауышыны жойғыңыз келетініне сенімдісіз бе?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "Генерация" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "Сіз бұл қауіпсіздік кілтін жойғыңыз келетініне сенімдісіз бе?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "Сіз жаңа сызат кодтарының жиынтығын жасағыңыз немесе қалпына келтіргіңіз келетініне сенімдісіз бе?" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "Бұл сізде бар барлық алдыңғы сызат кодтарының күшін жояды." -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "Осы беттен шыққаннан кейін сызат кодтарын көре алмайсыз!" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "Өзін-өзі сипаттау:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "Сізге жақын ірі қаланы таңдаңыз" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Уақыт белдеуі:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Тілдер:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "Сайт тақырыбы:" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "Редактордың тақырыбы:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Математикалық қозғалтқыш:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "Еншілес ұйымдар:" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "Аваңызды өзгертіңіз" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "Құпия сөзді өзгерту" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "API белгі:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "Жасырын" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "Екі-факторлы авторизация қосылған:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "Скретч-коды:" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "Егер сізге қосымша сызат кодтары қажет болса, оларды осы жерден қалпына келтіруге болады." -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "Екі факторлы аутентификация өшірілген:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "Қауіпсіздік кілттері:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "Жою" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "Осы кілттің атын енгізіңіз" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "Add" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "Пайдаланушы скрипі:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "Профильді жаңарту" diff --git a/locale/ko/LC_MESSAGES/django.po b/locale/ko/LC_MESSAGES/django.po index fce72531b3..7d7eee8afe 100644 --- a/locale/ko/LC_MESSAGES/django.po +++ b/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "카탈루냐어" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "독일어" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "그리스어" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "영어" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "스페인어" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "프랑스어" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "크로아티아어" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "헝가리어" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "일본어" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "카자흐어" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "한국어" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "포르투갈어 (브라질)" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "루마니아어" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "러시아어" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "세르비아어(라틴문자)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "터키어" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "베트남어" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "중국어(간체)" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "중국어(번체)" @@ -138,119 +138,119 @@ msgstr[0] "%d개의 코멘트가 숨겨졌습니다." msgid "associated page" msgstr "페이지와 연관된" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "포함된 대회" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "문제" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "문제" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "재체점" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "설정" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Scheduling" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "세부사항" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "형식" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "순위" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "접근" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "정의" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "공개 대회로 전환" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "%d개의 대회가 공개로 전환되었습니다." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "비공개 대회로 전환" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "%d개의 대회가 비공개로 전환되었습니다." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "콘테스트 답안제출 잠그기" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "%d개의 대회가 성공적으로 잠겼습니다." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "콘테스트 답안제출 허용" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "%d개의 대회가 해제되었습니다." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "%d개의 제출이 성공적으로 재채점 대기열에 등록되었습니다." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "결과 초기화" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "%d 참여자가 재계산되었습니다." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "사용자 이름" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "가상" @@ -262,9 +262,9 @@ msgstr "링크 경로" msgid "Summary" msgstr "요약" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -274,132 +274,132 @@ msgstr "사용자" msgid "object" msgstr "개체" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "사이트에서 보기" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "변경 사항을 설명하세요. (선택사항)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "SNS" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "분류" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "포인트" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "제한" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "언어" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "히스토리" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "저자" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "게시일을 지금으로 하기" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "%d개의 문제 게시일이 성공적으로 갱신되었습니다." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "공개로 설정" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "%d개의 문제가 공개로 전환되었습니다." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "비공개로 설정" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "%d개의 문제가 비공개로 전환되었습니다." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "문제" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "시간대" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "이메일" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "가입한 날짜" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "점수 재계산" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "%d명의 사용자 점수가 재계산되었습니다." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "재생성" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "설명" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "정보" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "기능" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "없음" @@ -415,76 +415,76 @@ msgstr "예외" msgid "Unaccepted" msgstr "틀림" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s 대회의 문제 %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "선택한 제출 재채점" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "재채점할 권한이 없습니다." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "재채점 가능 개수를 초과하였습니다." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "재채점" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d개의 제출이 성공적으로 재채점되었습니다." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "문제 코드" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "문제 이름" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "시간" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "메모리" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "언어" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -504,20 +504,20 @@ msgstr "이 문제들은 이러한 문제 유형에 포함되어 있습니다." msgid "Online Judge" msgstr "Online Judge" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "코멘트 본문" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "침묵하세요." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "게시된 코멘트" @@ -600,127 +600,127 @@ msgstr "동점은 점수가 0이 아닌 문제의 변경 제출 시간의 마지 msgid "IOI (pre-2016)" msgstr "IOI (pre-2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "2단계 인증 토큰은 십진수 {count}자리여야 합니다." -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "잘못된 이중 인증 토큰입니다." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "스크래치 코드는 16 Base32 문자여야 합니다." -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "유효하지 않은 접근 코드입니다." -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "대회 업데이트를 구독하세요" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "베타 기능 활성화" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "프로필을 업데이트하고 싶다면 최소한 한 문제를 먼저 풀어야 합니다." -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "{count}개보다 많은 공개 조직에 소속될 수 없습니다." -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "주석을 다운로드하시겠습니까?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "제출물을 다운로드하시겠습니까?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "문제 코드로 필터링:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "모든 제출물을 포함하려면 비워 둡니다" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "결과 필터링:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "다운 받을 것을 최소 한 개 선택해주세요." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "모든 judge" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "사용자 이름" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "비밀번호" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "잘못된 코드 길이입니다." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "잘못된 WebAuthn 응답입니다." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "WebAuthn 챌린지가 발행되지 않았습니다." -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "잘못된 WebAuthn 자격 증명 ID입니다." -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "잘못된 2단계 인증 토큰 또는 접근 코드입니다." -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "totp_token 또는 webauthn_response를 지정해야 합니다." -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "문제 코드는 ^[a-z0-9]+$ 이어야 합니다" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "코드에 문제가 이미 있습니다." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "대회 아이디 ^[a-z0-9]+$ 이어야 합니다" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "키가 있는 콘테스트가 이미 존재합니다." @@ -729,6 +729,66 @@ msgstr "키가 있는 콘테스트가 이미 존재합니다." msgid "N j, Y, g:i a" msgstr "Y년 n월 j일 a g시 i분" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "레이팅 없음" @@ -810,7 +870,7 @@ msgid "comments" msgstr "코멘트" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "%s에 대한 편집" @@ -864,7 +924,7 @@ msgstr "태그 설명" msgid "contest tag" msgstr "대회 태그" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "대회 태그" @@ -940,12 +1000,12 @@ msgstr "" msgid "description" msgstr "설명" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "문제" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "시작 시각" @@ -954,7 +1014,7 @@ msgid "end time" msgstr "종료 시각" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "시간 제한" @@ -1026,380 +1086,380 @@ msgstr "" msgid "rate all" msgstr "모든 순위" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "참가한 모든 사용자에 대한 순위." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "순위에서 제외" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "특정 사용자에게만 비공개" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "개인 참가자" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "문제 태그 숨기기" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "문제 태그 공개 여부 기본값." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "문제 저자 숨기기" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "문제 작성자를 기본적으로 숨겨야 하는지 여부입니다." -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "pretests만 실행" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "judge가 pretests만 채점할지, 모든 테스트 데이터를 채점할지 여부. 일반적으로 대회 종료전까지 설정 후 대회 종료 후 해제하여 모든 테스트 케이스 채점 진행." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "짧은 형식 설정 표시" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "컨테스트 페이지에 컨테스트 설정이 포함된 섹션을 표시할지 여부입니다." -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "조직에 비공개" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "조직" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "OpenGraph 이미지" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "이미지 중첩 로고" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "이 이미지는 컨테스트 내 유저에게 기본 사이트 로고로 교체될 것이다." -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "현재 접속되어 있는 참가자 수" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "대회 요약" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "메타 설명 태그에 표시되는 일반 텍스트(예: 소셜 미디어용)." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "액세스 코드" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "참가자가 콘테스트에 참가하도록 허용되기 전에 참가자에게 메시지를 표시하는 선택적 코드입니다. 비활성화하려면 비워 둡니다." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "해당 인물 없음" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "선택된 사용자는 이 대회에 참여할 수 없도록 차단합니다." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "대회 형식" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "사용할 대회 형식 모듈입니다." -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "대회 형식 구성" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "선택한 컨테스트 형식 모듈의 구성으로 사용할 JSON 개체입니다. 없음을 사용하려면 비워 둡니다. 정확한 형식은 선택한 콘테스트 형식에 따라 다릅니다." -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "콘테스트 잠금" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "이 날짜 이후에 이 콘테스트의 제출물이 재심사되지 않도록 합니다." -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "정밀 포인트" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "점수를 반올림할 자릿수입니다." -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "비공개 콘테스트 보기" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "내 콘테스트 편집" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "모든 콘테스트 편집" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "콘테스트 복사" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSS 콘테스트" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "대회 레이팅" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "대회 접근 코드" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" -msgstr "Private 대회 생성하기" +msgstr "비공개 대회 생성하기" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "대회 가시성 변경하기" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "컨테스트 문제 라벨 스크립트 수정" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "대회 잠금 여부 변경하기" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "대회" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "대회" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "관련된 대회" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "점수" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "누적 시간" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "실격되었습니다" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "이 참여자의 실격 여부." -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "동점 필드" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "가상 참여 id" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0은 가상이 아님을 의미하고, 그렇지 않으면 n번째 가상 참여를 의미합니다." -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "대회 형식별 데이터" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "대회 참가" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "대회 참가자" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "점수" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "부분" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "pretested 됨" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "순서" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "출력 접두사 길이 재정의" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "이 문제에 대한 최대 제출 수이거나 제한이 없는 경우 공백으로 둡니다." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "제출할 수 없는 문제를 포함하는 이유는 무엇입니까?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "대회 문제" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "대회 문제" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "제출" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "참가 여부" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Pretests에서만 이 제출이 실행되었는지 여부." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "대회 제출" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "대회 제출" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "등수" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "순위" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "원ㅅ ㅣ등급" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "대회 퍼포먼스" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "최근 순위" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "대회 순위" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "대회 순위" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "대회 코드 카피 체크 결과" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "대회 코드 카피 체크 결과" @@ -1451,7 +1511,7 @@ msgstr "게시물 제목" msgid "slug" msgstr "slug" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "공개 여부" @@ -1617,7 +1677,7 @@ msgstr "문제 목록의 범주 아래에 표시된 문제 그룹입니다." msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "이 문제의 시간 제한(초)입니다. 소수 자릿수 초(예: 1.5)가 지원됩니다." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "메모리 제한" @@ -1733,111 +1793,115 @@ msgstr "is_manually_managed 필드 변경" msgid "See organization-private problems" msgstr "조직에게만 공개된 문제들 보기" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "비공개 문제 생성하기" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "번역된 이름" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "번역된 설명" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "문제 번역" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "문제 번역" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "수정된 문제" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "수정사항" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "수정 타임스탬프" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "특정 언어 리소스 제한" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "특정 언어 리소스 제한" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "관련된 문제" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "게시일" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "편집 내용" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "숨겨진 솔루션 보기" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "솔루션" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "솔루션" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "투표자" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "노트" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "문제 투표" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "문제 투표" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -2974,40 +3038,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "게시물 %d 페이지" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "장난치고 있어?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "투표하기 전에 최소한 하나의 문제를 해결해야 합니다." -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "이미 투표하셨습니다." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "사이트에서 편집" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "코멘트 수정" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "그런 대회는 존재하지 않습니다" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "키 %s로는 대회를 찾을 수 없습니다." @@ -3016,111 +3080,111 @@ msgstr "키 %s로는 대회를 찾을 수 없습니다." msgid "Contests" msgstr "대회" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "그런 대회를 찾을 수 있습니다." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "%s 대회 접근이 거부되었습니다" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "콘테스트 복제" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "%s의 복제된 콘테스트" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "현재 진행중인 대회가 아닙니다" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "%s는 현재 진행중이 아닙니다." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "당신은 이 콘테스트에 대해 무료로 선언되지 않았습니다. 당신은 이 콘테스트에 영구적으로 참가할 수 없습니다." -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "\"%s\"에 대한 액세스 코드를 입력하십시오" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "현재 대회 %s에 참가중이 아닙니다." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "%(month)s의 콘테스트" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "Y년 n월" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "%s 순위" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "실시간" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "참여" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "%s MOSS 결과" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "대회 태그: %s" @@ -3552,52 +3616,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "%s에 대한 새 티켓" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - 티켓 %(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "티켓 - 페이지 %(number)d/%(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d, 할당 대상: %(users)s" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "새 티켓 메시지: %s" @@ -3660,7 +3724,7 @@ msgstr "Y년 n월 j일 G:i" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3702,7 +3766,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3753,12 +3817,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "정말로 모든 답안을 재채점 하시겠습니까?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3778,13 +3968,13 @@ msgstr "종료" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "비활성화" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "활성화" @@ -3847,7 +4037,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "수정" @@ -3960,7 +4150,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "%(edits)s 수정" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "수정됨" @@ -3996,45 +4186,52 @@ msgstr "새 댓글" msgid "Invalid comment body." msgstr "유효하지 않은 댓글입니다." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "댓글에 답글 달기" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "{edits} 작성" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "원본" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "투표자" @@ -4047,15 +4244,15 @@ msgstr "점수" msgid "No votes" msgstr "투표자 없음" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4161,7 +4358,7 @@ msgstr "복사" msgid "Leave contest" msgstr "대회 나가기" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "모의 참여" @@ -4347,7 +4544,7 @@ msgid "AC Rate" msgstr "정답률" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "유저" @@ -4400,7 +4597,7 @@ msgid "Active contests" msgstr "대회 활성화" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "대회" @@ -4423,10 +4620,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "예정된 대회가 없습니다." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "지난 대회들" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "정말로 나가시겠습니까?" @@ -4758,10 +4963,6 @@ msgstr "내보내기" msgid "Are you sure you want to kick this user?" msgstr "정말로 이 유저를 내보내겠습니까?" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5435,7 +5636,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5485,17 +5686,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5504,7 +5705,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5522,12 +5723,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5889,144 +6090,144 @@ msgstr "순위" msgid "Search by handle..." msgstr "손쉽게 검색..." -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "API 토큰을 생성하거나 재생성 하겠습니까?" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "이전 API 토큰이 무효화됩니다." -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "또한 2단계 인증 없이 계정에 접근할 수 있습니다." -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "이 페이지를 나간 후에는 API 토큰을 볼 수 없습니다." -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "생성 중..." -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "삭제" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "API 토큰을 삭제하겠습니까?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "생성" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "보안 키를 삭제하겠습니까?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "자기 소개:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "가장 가까운 대도시를 선택하세요" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "시간대:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "언어:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "편집기 테마:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "수학 엔진:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "아바타 변경" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "비밀번호 변경" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "API 토큰:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "숨기기" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "2단계 인증이 활성화 되었습니다:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "기본 코드:" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "2단계 인증이 비활성화 되었습니다:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "보안 키:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "삭제" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "해당 키의 이름을 입력하세요" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "추가" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "사용자 스크립트:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "프로필 업데이트" diff --git a/locale/lt/LC_MESSAGES/django.po b/locale/lt/LC_MESSAGES/django.po index 36bb94557e..d2ea337dd9 100644 --- a/locale/lt/LC_MESSAGES/django.po +++ b/locale/lt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "" @@ -144,63 +144,63 @@ msgstr[3] "" msgid "associated page" msgstr "" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." @@ -209,11 +209,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." @@ -222,11 +222,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." @@ -235,11 +235,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." @@ -248,7 +248,7 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." @@ -257,11 +257,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." @@ -270,11 +270,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "" @@ -286,9 +286,9 @@ msgstr "" msgid "Summary" msgstr "" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -298,57 +298,57 @@ msgstr "" msgid "object" msgstr "" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." @@ -357,11 +357,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." @@ -370,11 +370,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." @@ -383,31 +383,31 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." @@ -416,26 +416,26 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "" @@ -451,39 +451,39 @@ msgstr "" msgid "Unaccepted" msgstr "" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." @@ -492,38 +492,38 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -543,20 +543,20 @@ msgstr "" msgid "Online Judge" msgstr "" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "" @@ -645,7 +645,7 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." @@ -654,31 +654,31 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." @@ -687,91 +687,91 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -780,6 +780,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -861,7 +921,7 @@ msgid "comments" msgstr "" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "" @@ -915,7 +975,7 @@ msgstr "" msgid "contest tag" msgstr "" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "" @@ -991,12 +1051,12 @@ msgstr "" msgid "description" msgstr "" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "" @@ -1005,7 +1065,7 @@ msgid "end time" msgstr "" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "" @@ -1077,380 +1137,380 @@ msgstr "" msgid "rate all" msgstr "" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." +#: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." msgstr "" -#: judge/models/contest.py:118 +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1502,7 +1562,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1668,7 +1728,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "" @@ -1784,111 +1844,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -3034,40 +3098,40 @@ msgstr "" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3076,111 +3140,111 @@ msgstr "" msgid "Contests" msgstr "" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3627,52 +3691,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3735,7 +3799,7 @@ msgstr "" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3777,7 +3841,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3828,12 +3892,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3853,13 +4043,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3922,7 +4112,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -4035,7 +4225,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4071,45 +4261,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4122,15 +4319,15 @@ msgstr "" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4236,7 +4433,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4431,7 +4628,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4484,7 +4681,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "" @@ -4507,10 +4704,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4845,10 +5050,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5555,7 +5756,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5605,17 +5806,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5624,7 +5825,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5642,12 +5843,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -6012,144 +6213,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/nl/LC_MESSAGES/django.po b/locale/nl/LC_MESSAGES/django.po index f899f78144..6e9321f609 100644 --- a/locale/nl/LC_MESSAGES/django.po +++ b/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "" @@ -140,125 +140,125 @@ msgstr[1] "" msgid "associated page" msgstr "" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "" @@ -270,9 +270,9 @@ msgstr "" msgid "Summary" msgstr "" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "" msgid "object" msgstr "" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "" @@ -427,77 +427,77 @@ msgstr "" msgid "Unaccepted" msgstr "" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "" msgstr[1] "" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -517,20 +517,20 @@ msgstr "" msgid "Online Judge" msgstr "" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "" @@ -615,129 +615,129 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -746,6 +746,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -827,7 +887,7 @@ msgid "comments" msgstr "" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "" @@ -881,7 +941,7 @@ msgstr "" msgid "contest tag" msgstr "" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "" @@ -957,12 +1017,12 @@ msgstr "" msgid "description" msgstr "" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "" @@ -1043,380 +1103,380 @@ msgstr "" msgid "rate all" msgstr "" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." +#: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." msgstr "" -#: judge/models/contest.py:118 +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1468,7 +1528,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1634,7 +1694,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "" @@ -1750,111 +1810,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -2994,40 +3058,40 @@ msgstr "" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3036,111 +3100,111 @@ msgstr "" msgid "Contests" msgstr "" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3577,52 +3641,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3685,7 +3749,7 @@ msgstr "" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3727,7 +3791,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3778,12 +3842,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3803,13 +3993,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3872,7 +4062,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -3985,7 +4175,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4021,45 +4211,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4072,15 +4269,15 @@ msgstr "" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4186,7 +4383,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "" @@ -4451,10 +4648,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4787,10 +4992,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5930,144 +6131,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/pl/LC_MESSAGES/django.po b/locale/pl/LC_MESSAGES/django.po index cbe73cbf9f..1f6dfe5ab7 100644 --- a/locale/pl/LC_MESSAGES/django.po +++ b/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Kataloński" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Niemiecki" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Grecki" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Angielski" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Hiszpański" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Francuski" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Chorwacki" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Węgierski" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japoński" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazachski" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Koreański" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Brazylijski Portugalski" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Rumuński" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Rosyjski" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Serbski (alfabet łaciński)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Turecki" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Wietnamski" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Chiński Uproszczony" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Chiński Tradycyjny" @@ -144,63 +144,63 @@ msgstr[3] "%d komentarzy zostało pomyślnie ukrytych." msgid "associated page" msgstr "powiązana strona" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Załączniki" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Problem" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Problemy" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Powtórz Osądzenie" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Ustawienia" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Planowanie" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Szczegóły" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Format" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Ocena" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Dostęp" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Sprawiedliwość" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Oznacz konkursy jako widoczne" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." @@ -209,11 +209,11 @@ msgstr[1] "%d konkursy zostały oznaczone jako widoczne." msgstr[2] "%d konkursów zostało oznaczonych jako widoczne." msgstr[3] "%d konkursów zostało oznaczonych jako widoczne." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Oznacz konkursy jako ukryte" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." @@ -222,11 +222,11 @@ msgstr[1] "%d konkursy zostały oznaczone jako ukryte." msgstr[2] "%d konkursów zostało oznaczonych jako ukryte." msgstr[3] "%d konkursów zostało oznaczonych jako ukryte." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Zablokuj zgłoszenia konkursu" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." @@ -235,11 +235,11 @@ msgstr[1] "%d konkursy pomyślnie zablokowane." msgstr[2] "%d konkursów pomyślnie zablokowanych." msgstr[3] "%d konkursów pomyślnie zablokowanych." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Odblokuj zgłoszenia konkursu" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." @@ -248,7 +248,7 @@ msgstr[1] "%d konkursy pomyślnie odblokowane." msgstr[2] "%d konkursów pomyślnie odblokowanych." msgstr[3] "%d konkursów pomyślnie odblokowanych." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." @@ -257,11 +257,11 @@ msgstr[1] "%d zgłoszenia zostały pomyślnie zaplanowane do ponownego sprawdzen msgstr[2] "%d zgłoszeń zostało pomyślnie zaplanowanych do ponownego sprawdzenia." msgstr[3] "%d zgłoszeń zostało pomyślnie zaplanowanych do ponownego sprawdzenia." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Przelicz wyniki" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." @@ -270,11 +270,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "nazwa użytkownika" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "wirtualny" @@ -286,9 +286,9 @@ msgstr "ścieżka linku" msgid "Summary" msgstr "Podsumowanie" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -298,57 +298,57 @@ msgstr "użytkownik" msgid "object" msgstr "obiekt" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Zobacz na stronie" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "Powód zmiany" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Opisz wprowadzone zmiany (opcjonalne)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Media Społecznościowe" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Taksonomia" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Punkty" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Limity" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Język" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Historia" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "autorzy" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Ustaw datę publikacji" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." @@ -357,11 +357,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "Daty publikacji %d zgłoszeń zostały pomyślnie zaktualizowane." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Oznacz problemy jako publiczne" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." @@ -370,11 +370,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." @@ -383,31 +383,31 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "problem" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "strefa czasowa" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "adres e-mail" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "data dołączenia" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Przelicz punktację" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." @@ -416,26 +416,26 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Opis" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Informacje" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Możliwości" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Brak" @@ -451,39 +451,39 @@ msgstr "Wyjątkowe" msgid "Unaccepted" msgstr "Niezaakceptowane" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s w %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Nie masz uprawnień, aby edytować tą witrynę." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." @@ -492,38 +492,38 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "kod problemu" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "nazwa problemu" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "czas" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "pamięć" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "język" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -543,20 +543,20 @@ msgstr "" msgid "Online Judge" msgstr "Online Judge" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Treść komentarza" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Opublikowane komentarze" @@ -645,7 +645,7 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "IOI (przed 2016 r.)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." @@ -654,31 +654,31 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Nieprawidłowy token uwierzytelniania dwuskładnikowego." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." @@ -687,91 +687,91 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Pobrać komentarze?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Każdy sędzia" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Nazwa użytkownika" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Hasło" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "Nieprawidłowa długość kodu." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -780,6 +780,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -861,7 +921,7 @@ msgid "comments" msgstr "komentarze" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "" @@ -915,7 +975,7 @@ msgstr "opis tagu" msgid "contest tag" msgstr "tag konkursu" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "tagi konkursu" @@ -991,12 +1051,12 @@ msgstr "" msgid "description" msgstr "opis" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "problemy" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "czas rozpoczęcia" @@ -1005,7 +1065,7 @@ msgid "end time" msgstr "godzina zakończenia" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "limit czasowy" @@ -1077,380 +1137,380 @@ msgstr "" msgid "rate all" msgstr "oceń wszystko" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." +#: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." msgstr "" -#: judge/models/contest.py:118 +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "ukryj tagi problemu" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "podsumowanie konkursu" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "kod dostępu" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "format konkursu" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "konkurs" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "konkursy" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "wynik" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "punkty" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "częściowe" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "zgłoszenie" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "ocena" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1502,7 +1562,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1668,7 +1728,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "limit pamięci" @@ -1784,111 +1844,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "rozwiązanie" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "rozwiązania" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -3034,40 +3098,40 @@ msgstr "" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3076,111 +3140,111 @@ msgstr "" msgid "Contests" msgstr "Konkursy" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3627,52 +3691,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3735,7 +3799,7 @@ msgstr "" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3777,7 +3841,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3828,12 +3892,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3853,13 +4043,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3922,7 +4112,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -4035,7 +4225,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4071,45 +4261,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4122,15 +4319,15 @@ msgstr "" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4236,7 +4433,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4431,7 +4628,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4484,7 +4681,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Konkurs" @@ -4507,10 +4704,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4845,10 +5050,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5555,7 +5756,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5605,17 +5806,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5624,7 +5825,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5642,12 +5843,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -6012,144 +6213,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Strefa czasowa:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Język:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/pt/LC_MESSAGES/django.po b/locale/pt/LC_MESSAGES/django.po index de53a62c11..a59bde1e78 100644 --- a/locale/pt/LC_MESSAGES/django.po +++ b/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "" @@ -140,125 +140,125 @@ msgstr[1] "" msgid "associated page" msgstr "" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "" @@ -270,9 +270,9 @@ msgstr "" msgid "Summary" msgstr "" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "" msgid "object" msgstr "" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "" msgstr[1] "" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "" msgstr[1] "" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "" @@ -427,77 +427,77 @@ msgstr "" msgid "Unaccepted" msgstr "" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "" msgstr[1] "" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -517,20 +517,20 @@ msgstr "" msgid "Online Judge" msgstr "" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "" @@ -615,129 +615,129 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -746,6 +746,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -827,7 +887,7 @@ msgid "comments" msgstr "" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "" @@ -881,7 +941,7 @@ msgstr "" msgid "contest tag" msgstr "" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "" @@ -957,12 +1017,12 @@ msgstr "" msgid "description" msgstr "" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "" @@ -1043,380 +1103,380 @@ msgstr "" msgid "rate all" msgstr "" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." +#: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." msgstr "" -#: judge/models/contest.py:118 +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1468,7 +1528,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1634,7 +1694,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "" @@ -1750,111 +1810,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -2994,40 +3058,40 @@ msgstr "" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3036,111 +3100,111 @@ msgstr "" msgid "Contests" msgstr "" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3577,52 +3641,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3685,7 +3749,7 @@ msgstr "" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3727,7 +3791,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3778,12 +3842,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3803,13 +3993,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3872,7 +4062,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "" @@ -3985,7 +4175,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4021,45 +4211,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4072,15 +4269,15 @@ msgstr "" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4186,7 +4383,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "" @@ -4451,10 +4648,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4787,10 +4992,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5930,144 +6131,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/ro/LC_MESSAGES/django.po b/locale/ro/LC_MESSAGES/django.po index 9200ff7555..ecb29cfb99 100644 --- a/locale/ro/LC_MESSAGES/django.po +++ b/locale/ro/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Catalană" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Germană" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Greacă" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Engleză" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Spaniolă" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Franceză" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Croată" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Maghiară" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japoneză" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazahă" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Coreeană" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Portugheză Braziliană" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Română" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Rusă" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Sârbă (Latină)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Turcă" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vietnameză" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Chineză Simplificată" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Chineză Tradițională" @@ -142,63 +142,63 @@ msgstr[2] "%d comentarii ascunse cu succes." msgid "associated page" msgstr "pagină asociată" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Concursuri incluse" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Problemă" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Probleme" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Rejurizează" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Setări" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Programare" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Detalii" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Format" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Rating" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Acces" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Justiție" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Marchează concursurile ca și vizibile" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." @@ -206,11 +206,11 @@ msgstr[0] "%d concurs a fost marcat ca public cu succes." msgstr[1] "%d concursuri au fost marcate ca publice cu succes." msgstr[2] "%d concursuri au fost marcate ca publice cu succes." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Marchează concursurile ca ascunse" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." @@ -218,11 +218,11 @@ msgstr[0] "%d concurs a fost marcat ca privat cu succes." msgstr[1] "%d concursuri au fost marcate ca private cu succes." msgstr[2] "%d concursuri au fost marcate ca private cu succes." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Blochează submiterea în concurs" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." @@ -230,11 +230,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Deblochează submisiile către concurs" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." @@ -242,7 +242,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." @@ -250,11 +250,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Recalculează rezultatele" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." @@ -262,11 +262,11 @@ msgstr[0] "%d participare a fost recalculată." msgstr[1] "%d participări au fost recalculate." msgstr[2] "%d participări au fost recalculate." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "nume de utilizator" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "virtual" @@ -278,9 +278,9 @@ msgstr "calea link-ului" msgid "Summary" msgstr "Rezumat" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -290,57 +290,57 @@ msgstr "utilizator" msgid "object" msgstr "obiect" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Vezi pe site" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Descrie modificările făcute (opțional)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Social Media" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Taxonomie" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Puncte" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Limite" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Limbaj" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Istoric" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "autori" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Setează data publicării la acest moment" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." @@ -348,11 +348,11 @@ msgstr[0] "Data publicării pentru %d problemă a fost actualizată cu succes." msgstr[1] "Data publicării pentru %d probleme a fost actualizată cu succes." msgstr[2] "Data publicării pentru %d probleme a fost actualizată cu succes." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Marchează probleme ca publice" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." @@ -360,11 +360,11 @@ msgstr[0] "%d problemă marcată ca publică cu succes." msgstr[1] "%d problemă marcată ca publică cu succes." msgstr[2] "%d probleme marcate ca publice cu succes." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Marchează probleme ca private" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." @@ -372,31 +372,31 @@ msgstr[0] "%d problemă marcată ca privată cu succes." msgstr[1] "%d problemă marcată ca privată cu succes." msgstr[2] "%d probleme marcate ca private cu succes." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "problemă" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "fus orar" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "email" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "data alăturării" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Recalculați scorurile" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." @@ -404,26 +404,26 @@ msgstr[0] "%d utilizator au scoruri recalculate." msgstr[1] "%d utilizatorii au scoruri recalculate." msgstr[2] "%d utilizatorii au scoruri recalculate." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Regenerează" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Descriere" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Informație" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Capabilități" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Gol" @@ -439,39 +439,39 @@ msgstr "Excepțional" msgid "Unaccepted" msgstr "Neacceptate" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (spectator)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s (virtual %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s în %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Rejurizează submisiile selectate" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Nu aveți permisiunea de a rejuriza submisii." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "Nu aveți permisiunea de a rejuriza ATÂT de multe submisii." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Repunctează submisiile selectate" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." @@ -479,38 +479,38 @@ msgstr[0] "%d submisie a fost repunctată cu succes." msgstr[1] "%d submisii au fost repunctate cu succes." msgstr[2] "%d submisii au fost repunctate cu succes." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "codul problemei" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "numele problemei" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "ora" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "memorie" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "limbaj" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "" @@ -530,20 +530,20 @@ msgstr "Aceste probleme sunt incluse în acest tip de probleme." msgid "Online Judge" msgstr "Online Judge" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Comentariu" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "Trebuie să rezolvi cel puțin o problemă înainte ca vocea ta să poată fi auzită." -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Comentariu postat" @@ -630,7 +630,7 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "Olimpiada Internațională de Informatică (înainte de 2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." @@ -638,31 +638,31 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Activează funcționalitățile experimentale" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "Trebuie să rezolvi cel puțin o problemă înainte de a putea să-ți actualizezi profilul." -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." @@ -670,91 +670,91 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "Parolă invalidă" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Descarci comentariile?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "Descarci submisiile?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "Lăsați gol pentru a include toate submisiile" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Filtrează după rezultat:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Orice evaluator" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Nume de utilizator" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Parolă" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "Codul problemei trebuie să fie ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "O problemă cu acest cod există deja." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "Identificatorul de concurs trebuie să fie ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Un concurs cu această cheie există deja." @@ -763,6 +763,66 @@ msgstr "Un concurs cu această cheie există deja." msgid "N j, Y, g:i a" msgstr "j N Y, \\o\\r\\a G:i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "Nu are evaluări" @@ -844,7 +904,7 @@ msgid "comments" msgstr "comentarii" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Editorial pentru %s" @@ -898,7 +958,7 @@ msgstr "descrierea etichetei" msgid "contest tag" msgstr "eticheta concursului" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "etichetele concursului" @@ -974,12 +1034,12 @@ msgstr "Acești utilizatori vor putea urmări concursul, dar nu vor vedea proble msgid "description" msgstr "descriere" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "probleme" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "timp de început" @@ -988,7 +1048,7 @@ msgid "end time" msgstr "timp de sfârșit" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "limită de timp" @@ -1060,380 +1120,380 @@ msgstr "" msgid "rate all" msgstr "" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Evaluează toți utilizatorii care s-au înscris." - #: judge/models/contest.py:118 -msgid "exclude from ratings" +msgid "Rate users even if they make no submissions." msgstr "" #: judge/models/contest.py:120 +msgid "exclude from ratings" +msgstr "" + +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "privat pentru organizații" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "organizații" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "clase" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "Imagine OpenGraph" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "imagine suprascriere logo" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "rezumat concurs" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "cod de acces" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "Un cod opțional cerut concurențiilor înainte de a se putea alătura concursului. Lasă necompletat pentru a dezactiva." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "persoane non-grata" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "format concurs" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "Modulul de format al concursului care va fi utilizat." -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Editează concursurile proprii" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Editează toate concursurile" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "Clonează concursul" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Evaluează concursurile" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "concurs" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "concursuri" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "scor" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "este descalificat" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 înseamnă participare non-virtuală, altfel a n-a participare virtuală." -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "participarea la concurs" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "participările la concurs" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "puncte" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "parțial" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "este pretestată" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "Numărul maxim de submisii pentru această problemă sau lasă necompletat pentru nicio limită." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "De ce să incluzi o problemă pentru care nu poți trimite rezolvări?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "problema din concurs" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "problemele din concurs" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "submisie" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "participare" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Dacă această submisie a fost evaluată doar pe pre-teste." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "submisie de concurs" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "submisii de concurs" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "rang" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "rating" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "rating brut" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "performanță concurs" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "rating de la concurs" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "ratinguri de la concurs" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1485,7 +1545,7 @@ msgstr "" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "" @@ -1651,7 +1711,7 @@ msgstr "Grupul problemei, va fi afișat sub „Categorie” în lista de problem msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "limită de memorie" @@ -1767,111 +1827,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 -msgid "translated name" +#: judge/models/problem.py:504 +msgid "Create private problems" msgstr "" #: judge/models/problem.py:513 +msgid "translated name" +msgstr "" + +#: judge/models/problem.py:514 msgid "translated description" msgstr "" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "limita de resurse specifică limbii" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "limite de resurse specifică limbii" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "soluție" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "soluții" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "votant" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "notă" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -3014,40 +3078,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "Pagina %d din Posturi" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "Ne facem de cap, nu-i așa?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "Comentariul nu a fost găsit." -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Ai votat deja." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "Editat de pe site" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "Niciun concurs de acest fel" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "Niciun concurs găsit cu cheia \"%s\"." @@ -3056,111 +3120,111 @@ msgstr "Niciun concurs găsit cu cheia \"%s\"." msgid "Contests" msgstr "Concursuri" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "Nu am putut găsi un concurs de acest fel." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "Nu aveți acces la concursul \"%s\"" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "Clonează Concursul" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "Concursul nu este în curs de desfășurare" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "Momentan, \"%s\" nu este în curs de desfășurare." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "Nu sunteți în concursul \"%s\"." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "Concursuri în %(month)s" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "F Y" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Participare" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3602,52 +3666,52 @@ msgstr "Soluțiile lui {user} pentru {problem} în {contest}" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Titlu tichet" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Descriere problemă" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "Trebuie să rezolvi cel puțin o problemă înainte de a putea crea un tichet." -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "Tichete - Pagina %(number)d din %(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "nimeni" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3710,7 +3774,7 @@ msgstr "j M Y, \\o\\r\\a G:i" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3752,7 +3816,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3803,12 +3867,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "Dă notă" @@ -3828,13 +4018,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "Dezactivează" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "Activează" @@ -3897,7 +4087,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Modifică" @@ -4010,7 +4200,7 @@ msgstr "a comentat {time}" msgid "edit %(edits)s" msgstr "%(edits)s editări" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "editat" @@ -4046,45 +4236,52 @@ msgstr "Comentariu nou" msgid "Invalid comment body." msgstr "Corpul comentariului nevalid." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "Răspunde la comentariu" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "{edits} editări" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "original" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "Votant" @@ -4097,15 +4294,15 @@ msgstr "Scor" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4211,7 +4408,7 @@ msgstr "Clonează" msgid "Leave contest" msgstr "Părăsiți concursul" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Alătură-te virtual" @@ -4403,7 +4600,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Utilizatori" @@ -4456,7 +4653,7 @@ msgid "Active contests" msgstr "Concursuri active" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Concurs" @@ -4479,10 +4676,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "Nu există concursuri programate în acest moment." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Concursuri terminate" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "Ești sigur că vrei să ieși?" @@ -4816,10 +5021,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5273,9 +5474,9 @@ msgstr "Mulțumim că v-ați înregistrat pe %(site_name)s! Suntem bucuroși să #, python-format msgid "The last step is activating your account. Please activate your %(site_name)s account in the next %(count)s day." msgid_plural "The last step is activating your account. Please activate your %(site_name)s account in the next %(count)s days." -msgstr[0] "Ultimul pas este activarea contului dumneavoastră. Vă rugăm să activați contul %(site_name)s în următoarea zi" -msgstr[1] "Ultimul pas este activarea contului dumneavoastră. Vă rugăm să activați contul %(site_name)s în următoarele %(count)s zile" -msgstr[2] "Ultimul pas este activarea contului dumneavoastră. Vă rugăm să activați contul %(site_name)s în următoarele %(count)s zile" +msgstr[0] "Ultimul pas este activarea contului dumneavoastră. Vă rugăm să activați contul %(site_name)s în următoarea zi." +msgstr[1] "Ultimul pas este activarea contului dumneavoastră. Vă rugăm să activați contul %(site_name)s în următoarele %(count)s zile." +msgstr[2] "Ultimul pas este activarea contului dumneavoastră. Vă rugăm să activați contul %(site_name)s în următoarele %(count)s zile." #: templates/registration/activation_email.html:14 #: templates/registration/activation_email.txt:8 @@ -5515,7 +5716,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5565,17 +5766,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5584,7 +5785,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5602,12 +5803,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5971,144 +6172,144 @@ msgstr "Rang" msgid "Search by handle..." msgstr "Cautați după handle..." -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "Se generează..." -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "Șterge" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "Ești sigur că vrei să ștergi token-ul tău de API?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "Generează" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "Ești sigur că vrei să ștergi această cheie de securitate?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "Auto-descriere:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "Selectează cel mai apropiat oraș major" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Fus orar:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Limbaj:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "Temă editor:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Motor de matematică:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "Schimbați avatarul" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "Schimbați parola" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "Token API:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "Ascuns" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "Autentificarea în doi pași este activată:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "Autentificarea în doi pași este dezactivată:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "Chei de securitate:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "Adaugă" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "Script de utilizator:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "Actualizați profilul" diff --git a/locale/ru/LC_MESSAGES/django.po b/locale/ru/LC_MESSAGES/django.po index a17d886e56..0b4dba9761 100644 --- a/locale/ru/LC_MESSAGES/django.po +++ b/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Каталанский" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Немецкий" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Греческий" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Английский" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Испанский" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Французский" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Хорватский" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Венгерский" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Японский" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Казахский" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Корейский" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Бразильский португальский" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Румынский" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Русский" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Сербский (латиница)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Турецкий" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Вьетнамский" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Упрощенный китайский" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Традиционный китайский" @@ -144,63 +144,63 @@ msgstr[3] "%d комментарий успешно отображен." msgid "associated page" msgstr "связанная страница" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Включены конкурсы" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Проблема" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Задачи" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Перетестирование" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Настройки" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Расписание" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Детали" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Формат" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Рейтинг" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Доступ" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Судья" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Отметьте соревнования как видимые" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." @@ -209,11 +209,11 @@ msgstr[1] "%d соревнования успешно помечены как с msgstr[2] "%d соревнований успешно помечены как скрытые." msgstr[3] "%d соревнований успешно помечены как скрытые." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Отметьте соревнования как скрытые" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." @@ -222,11 +222,11 @@ msgstr[1] "%d соревнований помечены как скрытые." msgstr[2] "%d соревнований помечены как скрытые." msgstr[3] "%d соревнования успешно помечены как скрытые." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Заблокировать решения соревнования" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." @@ -235,11 +235,11 @@ msgstr[1] "%d соревнований успешно скрыто." msgstr[2] "%d соревнований успешно скрыто." msgstr[3] "%d соревнования успешно скрыты." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Разблокировать решения соревнования" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." @@ -248,7 +248,7 @@ msgstr[1] "%d соревнований успешно разблокирован msgstr[2] "%d соревнований успешно разблокировано." msgstr[3] "%d соревнования успешно разблокированы." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." @@ -257,11 +257,11 @@ msgstr[1] "%d решений было успешно запланировано msgstr[2] "%d решений было успешно запланировано для повторного тестирования." msgstr[3] "%d решения были успешно запланированы для повторного тестирования." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Пересчитать результаты" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." @@ -270,11 +270,11 @@ msgstr[1] "%d участия в соревнованиях пересчитан msgstr[2] "%d участий в соревнованиях пересчитано." msgstr[3] "%d участий в соревнованиях пересчитано." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "имя пользователя" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "виртуальный" @@ -286,9 +286,9 @@ msgstr "адресс ссылки" msgid "Summary" msgstr "Сводка" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -298,57 +298,57 @@ msgstr "пользователь" msgid "object" msgstr "объект" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Посмотреть на сайте" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "Причина изменения" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Опишите изменения, которые вы сделали (не обязательно)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Социальные Сети" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Таксономия" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Очки" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Ограничения" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Язык" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "История" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "авторы" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Установить дату публикации" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." @@ -357,11 +357,11 @@ msgstr[1] "%d дат публикации успешно обновлено." msgstr[2] "%d дат публикации успешно обновлено." msgstr[3] "%d даты публикации успешно обновлены." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Пометить задачу как публичную" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." @@ -370,11 +370,11 @@ msgstr[1] "%d задачи успешно сделаны публичными." msgstr[2] "%d задачи успешно сделаны публичными." msgstr[3] "%d задачи успешно сделаны публичными." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Пометить задачу как приватную" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." @@ -383,31 +383,31 @@ msgstr[1] "%d задачи успешно сдаланы приватными." msgstr[2] "%d задачи успешно сделаны приватными." msgstr[3] "%d задачи успешно сделаны приватными." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "задача" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "часовой пояс" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "эл. почта" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "дата регистрации" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Пересчитать баллы" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." @@ -416,26 +416,26 @@ msgstr[1] "У %d пользователей пересчитаны баллы." msgstr[2] "У %d пользователей пересчитали баллы." msgstr[3] "У %d пользователей пересчитали баллы." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Сгенерировать новый" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Описание" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Информация" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Возможности" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Не указано" @@ -451,39 +451,39 @@ msgstr "Исключительный" msgid "Unaccepted" msgstr "Не принято" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (наблюдать)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s (virtual %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s в %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Перетестировать выбранные посылки" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "У вас нет доступа перетестировать поссылки." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "У вас нет доступа перетестировать ТАК много посылок." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Пересчитать выбранные решения" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." @@ -492,38 +492,38 @@ msgstr[1] "%d решений были переоценены." msgstr[2] "%d решения были переоценены." msgstr[3] "%d решения были переоценены." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "код задачи" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "название задачи" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "время" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "память" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "язык" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "Заблокировано" @@ -543,20 +543,20 @@ msgstr "Эти задачи включены в этот тип задач." msgid "Online Judge" msgstr "Онлайн Judge" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Содержание комментария" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "Твоя роль-молчание, маленькая жаба." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "Вы должны решить хотя бы одну задачу, прежде чем голосовать." -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Опубликованный комментарий" @@ -645,7 +645,7 @@ msgstr "Ничьи будут разорваны суммой последнег msgid "IOI (pre-2016)" msgstr "IOI (до 2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." @@ -654,31 +654,31 @@ msgstr[1] "Токены двухфакторное аутентификации msgstr[2] "Токены двухфакторное аутентификации должны состоять из {count} десятичных цифр." msgstr[3] "Токены двухфакторное аутентификации должны состоять из {count} десятичных цифр." -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Недействительный двухфакторный код аутентификации." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "Коды Scratch должны содержать 16 символов Base32." -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "Неверный scratch-код." -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Уведомлять об изменениях в соревновании" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Включить экспериментальные возможности" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "Вы должны решить хотя бы одну проблему, прежде чем вы сможете обновить свой профиль." -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." @@ -687,91 +687,91 @@ msgstr[1] "Вы не можете быть частью более чем {count msgstr[2] "Вы не можете быть частью более чем {count} общественных организаций." msgstr[3] "Вы не можете быть частью более чем {count} общественных организации." -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "Этот адрес электронной почты уже занят." -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Загрузить комментарии?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "Загрузить решения?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "Фильтр по коду задач:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "Оставьте пустым, чтобы включить все сданные решения" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Фильтр по результату:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "Пожалуйста, выберите хотя бы одну вещь для загрузки." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Любой судья" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Имя пользователя" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Пароль" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "Неверная длина кода." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "Недействительный WebAuthn ответ." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "Вызов WebAuthn не завершен." -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "Неверный идентификатор учетных данных WebAuthn." -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "Неверный токен двухфакторной аутентификации или scratch-код." -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "Необходимо указать totp_token или webauthn_response." -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "Код задачи должен быть ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "Задача с кодом уже существует." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "Идентификатор соревнования должен быть ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Соревнование с ключом уже существует." @@ -780,6 +780,66 @@ msgstr "Соревнование с ключом уже существует." msgid "N j, Y, g:i a" msgstr "j N Y, g:i a" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "Не в рейтинге" @@ -861,7 +921,7 @@ msgid "comments" msgstr "комментарии" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Редакция для %s" @@ -915,7 +975,7 @@ msgstr "описание тега" msgid "contest tag" msgstr "тег соревнования" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "теги соревнования" @@ -991,12 +1051,12 @@ msgstr "Эти пользователи смогут наблюдать за с msgid "description" msgstr "описание" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "задачи" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "время начала" @@ -1005,7 +1065,7 @@ msgid "end time" msgstr "время конца" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "ограничение по времени" @@ -1077,380 +1137,380 @@ msgstr "Не оценивайте пользователей с более вы msgid "rate all" msgstr "оценить все" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Оценить всех пользователей, которые присоединились." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "исключить из рейтингов" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "приватный для определенных пользователей" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "приватные участники соревнования" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "Если не пусто, только эти пользователи могут видеть соревнование." -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "спрятать тэги задач" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Должны ли теги задач быть скрыты по умолчанию." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "скрыть авторов задачи" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "Должны ли авторы задач быть скрыты по умолчанию." -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "запустить только претесты" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "Должны ли судьи оценивать только предварительные тесты, а не все тестовые задания. Обычно устанавливается во время конкурса, затем сбрасывается до предварительного рассмотрения заявок пользователей по окончании конкурса." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "показать отображение настроек краткой формы" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "Показывать ли раздел, содержащий настройки конкурса, на странице конкурса или нет." -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "от частного лица к организациям" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "организации" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "Если поле не пустое, только эти организации могут видеть конкурс." -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "ограничение организаций, которые могут присоединиться" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "присоединиться к организации" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "Если поле не пустое, то к конкурсу могут присоединиться только эти организации." -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "классы" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "Если организация закрыта, только эти классы могут видеть конкурс." -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "Изображение OpenGraph" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "изображение, заменяющее логотип" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "Это изображение заменит логотип сайта по умолчанию для пользователей, участвующих в конкурсе." -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "количество участников" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "краткое описание конкурса" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "Обычный текст, отображаемый в теге мета описания, например, для социальных сетей." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "код доступа" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "Необязательный код, который запрашивается у участников до того, как им будет разрешено присоединиться к конкурсу. Оставьте это поле пустым, чтобы отключить." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "неизвестные лица" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "Запрещает выбранным пользователям присоединяться к этому конкурсу." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "формат конкурса" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "Используемый модуль формата конкурса." -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "конфигурация формата конкурса" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "Объект JSON, который будет служить конфигурацией для выбранного модуля формата конкурса. Оставьте пустым, чтобы не использовать None. Точный формат зависит от выбранного формата конкурса." -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "сценарий метки для конурса" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "Пользовательская функция Lua для создания ярлыков задач. Требуется одна функция с параметром целочисленного значения, индексом задачи конкурса с нулевым индексированием и возвращает строку, метку." -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "соревнование заблокировано" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "Запретить оценивать результаты этого соревнования после этой даты." -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "точность баллов" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "Количество цифр для округления баллов." -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Видеть приватные соревнования" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Редактировать свои соревнования" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Редактировать все соревнование" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "Клонировать соревнование" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSS соревнование" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Оценить соревнования" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "Коды доступа к конкурсам" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "Создать приватное соревнование" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "Изменить видимость соревнования" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "Редактировать сценарий задачи конкурса" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "Изменить статус блокировки соревнования" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "соревнование" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "соревнования" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "связанное соревнование" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "оценка" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "суммарное время" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "дисквалифицирован" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "Независимо от того, дисквалифицировано ли это участие." -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "поле для тай-брейка" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "id виртуального участия" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 означает не виртуальное, в противном случае n-е виртуальное участие." -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "конкретные данные о формате конкурса" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "%(user)s наблюдает в %(contest)s" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "%(user)s в %(contest)s, v%(id)d" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "%(user)s в %(contest)s" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "участие в соревновании" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "участие в конкурсе" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "очки" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "частичный" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "защищен" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "порядок" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "переопределение длины выходного префикса" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "максимальное количество заявок" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "Максимальное количество отправок для этой задачи или оставьте пустым если ограничение отсутствует." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "Зачем включать задачу, с которой вы не можете справиться?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "проблема конкурсов" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "проблемы с конкурсом" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "посылка" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "участие" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Была ли эта отправка проверена только на предварительных тестах." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "подача заявки на участие в конкурсе" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "подача заявки на участие в конкурсе" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "ранг" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "рейтинг" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "исходный рейтинг" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "производительность соревнования" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "последняя оценённая" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "рейтинг соревнования" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "рейтинги соревнования" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "результат MOSS соревнования" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "результаты MOSS соревнования" @@ -1502,7 +1562,7 @@ msgstr "заголовок записи" msgid "slug" msgstr "слаг" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "публичная видимость" @@ -1668,7 +1728,7 @@ msgstr "Группа задач, указанная в разделе Катег msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "Ограничение по времени для этой задачи в секундах. Поддерживаются дробные секунды (например, 1.5)." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "ограничение по памяти" @@ -1784,111 +1844,115 @@ msgstr "Изменить поле is_manually_managed" msgid "See organization-private problems" msgstr "Смотрите раздел организационно-частные задачи" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "переведенное имя" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "описание перевода" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "проблема перевода" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "проблема перевода" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "выявленная проблема" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "разъяснения" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "временная метка уточнения" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "прояснение проблемы" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "разъяснения проблемы" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "специфическое ограничение ресурсов для языка" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "специфические ограничения ресурсов для языка" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "связанная проблема" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "дата публикации" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "содержимое редактора" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "Смотреть скрытые решения" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "решение" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "решения" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "предложенные пункты" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "Количество баллов, которое, по мнению избирателя, заслуживает эта задача." -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "голосующие" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "время голосования" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "Время проведения этого голосования." -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "заметка" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "Обоснование значения точки задачи." -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "голоса задачи" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "голоса задачи" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "Баллы голосов %(voter)s для %(problem)s" @@ -3034,40 +3098,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "%d страниц сообщений" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "Валяем дурака, не так ли?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "Вы должны решить хотя бы одну задачу, прежде чем голосовать." -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "Комментарий не найден." -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "Вы не можете голосовать за собственные комментарии." -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Вы уже проголосовали." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "Редактировать комментарий" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "Контест на найден" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3076,111 +3140,111 @@ msgstr "" msgid "Contests" msgstr "Контесты" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "Не удалось найти контест." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "Копировать контест" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "Копия контеста %s" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "F Y года" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "Результаты %s" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "Онлайн" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Участие" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "Теги контеста: %s" @@ -3627,52 +3691,52 @@ msgstr "Посылки {user} в задачу {problem} из {contest}" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Описание проблемы" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "Заявки - Страница %(number)d из %(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3735,7 +3799,7 @@ msgstr "j M Y, G:i" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3777,7 +3841,7 @@ msgstr "Вы успешно вышли из системы." msgid "You have sent too many password reset requests. Please try again later." msgstr "Вы отправили слишком много запросов на сброс пароля. Пожалуйста, повторите попытку позже." -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "Изменить адрес электронной почты" @@ -3828,12 +3892,138 @@ msgstr "Адрес электронной почты успешно измене msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "Вы уверены, что хотите предварительно оценить ВСЕ представленные материалы?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "Оценить" @@ -3853,13 +4043,13 @@ msgstr "Прервать" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "Отключено" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "Включено" @@ -3922,7 +4112,7 @@ msgstr "работает на базе **DMOJ**" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Редактировать" @@ -4035,7 +4225,7 @@ msgstr "прокомментировал {time}" msgid "edit %(edits)s" msgstr "редактировать %(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "отредактирован" @@ -4071,45 +4261,52 @@ msgstr "Добавить комментарий" msgid "Invalid comment body." msgstr "Недопустимый текст комментария." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "Ответ на комментарий" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "редактировать {edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "оригинал" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "Не смог проголосовать: {error}" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "Вы уверены, что хотите скрыть этот комментарий?" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "Не удалось скрыть комментарий." -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "обновлено" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "Не удалось обновить комментарий." -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "Не удалось изменить комментарий: {error}" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4122,15 +4319,15 @@ msgstr "Балл" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "Нажмите, чтобы скопировать" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "Копировать" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "Скопировано!" @@ -4236,7 +4433,7 @@ msgstr "" msgid "Leave contest" msgstr "Покинуть соревнование" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Виртуальное участие" @@ -4431,7 +4628,7 @@ msgid "AC Rate" msgstr "AC тариф" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Пользователи" @@ -4484,7 +4681,7 @@ msgid "Active contests" msgstr "Активные конкурсы" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Соревнование" @@ -4507,10 +4704,18 @@ msgstr "Начало в %(countdown)s" msgid "There are no scheduled contests at this time." msgstr "На данный момент нет запланированных конкурсов." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Прошедшие соревнования" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "Вы уверены, что вы хотите выйти?" @@ -4845,10 +5050,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5555,7 +5756,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "Уведомлять меня о предстоящих соревнованиях" @@ -5605,17 +5806,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5624,7 +5825,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5642,12 +5843,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -6012,144 +6213,144 @@ msgstr "" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Часовой пояс:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Язык:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "API-токен:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/sr_Latn/LC_MESSAGES/django.po b/locale/sr_Latn/LC_MESSAGES/django.po index 8a4b9e3acc..e564378e69 100644 --- a/locale/sr_Latn/LC_MESSAGES/django.po +++ b/locale/sr_Latn/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Katalonski" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Nemački" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Grčki" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Engleski" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Španski" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Francuski" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Hrvatski" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Mađarski" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japanski" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazaški" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Korejski" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Brazilski Portugalski" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Rumunski" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Ruski" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Srpski (Latinica)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Turski" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vijetnamski" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Pojednostavljeni Kineski" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Klasični Kinezki" @@ -142,63 +142,63 @@ msgstr[2] "%d Komentari dostupni." msgid "associated page" msgstr "povezana stranica" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Uključena takmičenja" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Zadatak" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Zadaci" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Ponovno pregledanje" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Podešavanja" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Zakazivanje" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Detalji" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Format" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Rangiranje" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Pristup" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Pravda" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Označi takmičenja kao vidljiva" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." @@ -206,11 +206,11 @@ msgstr[0] "%d Takmičenje je uspešno označeno kao vidljivo." msgstr[1] "%d Takmičenja su uspešno označena kao vidljiva." msgstr[2] "%d Takmičenja su uspešno označena kao vidljiva." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Označi takmičenja kao nevidljiva" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." @@ -218,11 +218,11 @@ msgstr[0] "%d Takmičenje je uspešno označeno kao nevidljivo." msgstr[1] "%d Takmičenja su uspešno označena kao nevidljiva." msgstr[2] "%d Takmičenja su uspešno označena kao nevidljiva." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Zaključaj predaju takmičenja" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." @@ -230,11 +230,11 @@ msgstr[0] "%d Takmičenje uspešno zaključano." msgstr[1] "%d Takmičenja uspešno zaključana." msgstr[2] "%d Takmičenja uspešno zaključana." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Otključaj predaju takmičenja" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." @@ -242,7 +242,7 @@ msgstr[0] "%d Takmičenje uspešno otključano." msgstr[1] "%d Takmičenja uspešno otključana." msgstr[2] "%d Takmičenja uspešno otključana." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." @@ -250,11 +250,11 @@ msgstr[0] "%d predaja je uspešno zakazana za ponovno ocenjivanje." msgstr[1] "%d predaje su uspešno zakazane za ponovno ocenjivanje." msgstr[2] "%d predaje su uspešno zakazane za ponovno ocenjivanje." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Preračunati rezultati" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." @@ -262,11 +262,11 @@ msgstr[0] "%d učestvovanje preračunato." msgstr[1] "%d učestvovanja preračunata." msgstr[2] "%d učestvovanja preračunata." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "korisničko ime" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "virtualno" @@ -278,9 +278,9 @@ msgstr "" msgid "Summary" msgstr "Kratak sadržaj" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -290,57 +290,57 @@ msgstr "korisnik" msgid "object" msgstr "objekat" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Pogledaj na sajtu" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "Izmeni razlog" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Opišite promene koje ste napravili (neobavezno)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Social Media" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Taksonomija" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Poeni" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Granice" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Jezik" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Istorija" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "autori" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Podesi datum objavljivanja na današnji dan" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." @@ -348,11 +348,11 @@ msgstr[0] "%d datum objavljivanja zadatka uspešno ažuriran." msgstr[1] "%d datum objavljivanja zadataka uspešno ažuriran." msgstr[2] "%d datum objavljivanja zadataka uspešno ažuriran." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Obeleži zadatak kao javni" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." @@ -360,11 +360,11 @@ msgstr[0] "%d zadatak je uspešno označen kao javni." msgstr[1] "%d zadaci su uspešno označeni kao javni." msgstr[2] "%d zadaci su uspešno označeni kao javni." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Obeleži zadatak kao privatni" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." @@ -372,31 +372,31 @@ msgstr[0] "%d zadatak je uspešno označen kao privatni." msgstr[1] "%d zadaci su uspešno označeni kao privatni." msgstr[2] "%d zadaci su uspešno označeni kao privatni." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "zadatak" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "vremenska zona" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "email" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "datum pridruženja" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Preračunaj rezultate" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." @@ -404,26 +404,26 @@ msgstr[0] "%d korisnikov rezultat je preračunat." msgstr[1] "%d korisnikovi rezultati su preračunati." msgstr[2] "%d korisnikovi rezultati su preračunati." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Regeneriši" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Opis" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Informacija" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Sposobnosti" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Nijedan" @@ -439,39 +439,39 @@ msgstr "Izuzetno" msgid "Unaccepted" msgstr "Nije prihvaćeno" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (posmatrač)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s (virtual %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s u %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Ponovo oceni izabrane predaje" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Nemate prava da ponovo ocenite predaje." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "Nemate prava da ponovo ocenite TOLIKO puno predaja." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Preračunaj izabrane predaje" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." @@ -479,38 +479,38 @@ msgstr[0] "%d predaja je uspešno preračunata." msgstr[1] "%d predaje su uspešno preračunate." msgstr[2] "%d predaje su uspešno preračunate." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "kod zadatka" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "ime zadatka" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "vreme" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "memorija" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "jezik" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "Zaključano" @@ -530,20 +530,20 @@ msgstr "Ovi zadaci su uključeni u ovaj tip zadataka." msgid "Online Judge" msgstr "Online Sudija" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Sastav komentara" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "Trenutno ste ućutkani, skrati jezičinu." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "Morate da rešite bar jedan zadatak pre što možete da komentarišete." -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Komentar ostavljen" @@ -630,7 +630,7 @@ msgstr "Izjednačenja će se rešavati gledajući sumu vremena poslednjih poslat msgid "IOI (pre-2016)" msgstr "IOI (pre-2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." @@ -638,31 +638,31 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "Tokeni za autentifikaciju u dva koraka moraju imati {count} cifrara." -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Nevažeći token za dvofaktornu autentifikaciju." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "Scratch kod mora biti 16 Base32 karaktera." -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "Nevažeći scratch kod." -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Prijavi se za vesti sa takmičenja" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Dozvolite eksperimentalne karakteristike" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "Morate rešiti barem jedan zadatak pre nego što možete da ažurirate svoj profil." -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." @@ -670,91 +670,91 @@ msgstr[0] "Ne možete biti član više od {count} javne organizacije." msgstr[1] "Ne možete biti član više od {count} javne organizacije." msgstr[2] "Ne možete biti član više od {count} javnih organizacija." -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Download komentare?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "Download rešenja?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "Filtriraj po glob kodu zadatka:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "Ostavi prazno da uključiš sva rešenja" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Filtriraj po rezultatima:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "Izaberite barem jednu stvar za download." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Bilo koji sudija" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Korisničko Ime" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Lozinka" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "Nevažeća dužina koda." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "Nevažeći WebAuthn odgovor." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "Ni jedan WebAuthn challenge nije izdat." -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "Nevažeći WebAuthn credential ID." -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "Nevažeći token za dvofaktornu autentifikaciju ili scratch kod." -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "Morate naznačiti ili totp_token ili webauthn_response." -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "Kod zadatka mora biti ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "Zadatak sa tim kodom več postoji." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "ID takmičenja mora biti ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Takmičenje sa tim ključem već postoji." @@ -763,6 +763,66 @@ msgstr "Takmičenje sa tim ključem već postoji." msgid "N j, Y, g:i a" msgstr "j. N Y. \\у H:i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -844,7 +904,7 @@ msgid "comments" msgstr "komentari" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Uvodnik za %s" @@ -898,7 +958,7 @@ msgstr "opis oznake" msgid "contest tag" msgstr "oznaka takmičenja" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "oznake takmičenja" @@ -974,12 +1034,12 @@ msgstr "Ovi korisnici će moći da posmatraju takmičenje, ali ne i da bude zada msgid "description" msgstr "opis" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "zadaci" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "vreme početka" @@ -988,7 +1048,7 @@ msgid "end time" msgstr "vreme kraja" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "vremensko ograničenje" @@ -1060,380 +1120,380 @@ msgstr "" msgid "rate all" msgstr "oceni sve" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Oceni sve korisnike koji su se uklučili." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "odstrani iz rangiranja" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "privatno za specijalne korisnike" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "privatni takmičari" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "Ako je neprazno, samo ovi korisnici mogu da vide takmičenje." -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "sakrij oznake zadataka" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Dali oznake zadataka treba biti nevidljive po defaultu." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "sakrij autore zadatka" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "Da li autori zadataka treba da budu podrazumevano sakriveni." -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "pregledaj samo pretest-ove" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "Da li judge-evi treba da pregledaju samo pretest-e, ili i sve test primere. Uglavnom postavljeno tokom takmičenja, onda uklonjeno pre ponovnog pregledanja svih poslatih rešenja kada se takmičenje završi." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "Da li da se prikazuju podešavanja takmičenja na stranici takmičenja." -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "organizacije" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "Ako je neprazno, samo ove organizacije mogu da vide takmičenje." -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "ograničite koje organizacije mogu da se priključe" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "priključi se organizaciji" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "Ako je neprazno, samo ove organizacije mogu da se priključe takmičenju." -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "OpenGraph slika" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "Ova slika če zameniti default site logo za učesnike takmičenja." -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "broj aktivnih učesnika" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "kratak opis takmičenja" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "Tekst koji se prikazuje u meta description tagu, npr. za društvene mreže." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "access code" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "personae non gratae" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "Sprečava učešće u takmičenju izabranim korisnicima." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "format takmičenja" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "konfiguracija formata takmičenja" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Pogledajte privatna takmičenja" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSS takmičenje" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "Napravi privatno takmičenje" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "Promeniti vidljivost takmičenja" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "takmičenje" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "takmičenja" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "povezana takmičenja" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "rezultat" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "zbirno vreme" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "diskvalifikovan" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "učešće u takmičenju" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "učesnici takmičenja" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "poeni" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "delimičan" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "več testiran" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "redosled" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "nadjačavanje prefiksne dužine izlaza" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "maksimalan broj slanja" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "Maksimalan broj odgovora za ovaj zadatak, ili ostaviti prazno da nema ograničenja." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "Zašto uključiti zadatak koji ne možete predati?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "zadatak na takmičenju" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "zadaci na takmičenju" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "predaja" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "učestvovanje" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Da li je ovo rešenje bilo pokretano samo na pretest-ima." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "predaja takmičenja" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "predaje takmičenja" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "rang" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "rangiranje" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "sirov rejting" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "nastup na takmičenju" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "poslednje rangirano" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "rejting takmičenja" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "rejtinzi takmičenja" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "moss rezultatat takmičenja" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "moss rezultati takmičenja" @@ -1485,7 +1545,7 @@ msgstr "naslov posta" msgid "slug" msgstr "puž" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "javna vidljivost" @@ -1651,7 +1711,7 @@ msgstr "Grupa zadatka, prikazana u okviru Kategorije u listi zadataka." msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "Vremensko ograničenje za ovaj zadatak, u sekundama. Delovi sekunda (npr. 1.5) su podržani." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "ograničenje memorije" @@ -1767,111 +1827,115 @@ msgstr "Promeni is_manually_managed polje" msgid "See organization-private problems" msgstr "Vidi zadatke koji su privatni u organizaciji" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "prevedeno ime" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "preveden opis" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "prevod zadatka" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "prevodi zadatka" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "pojašnjen zadatak" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "pojašnjenje zadatka" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "pojašnjenja zadatka" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "ograničenja resursa specifična za neke jezike" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "datum objave" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "rešenje" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "rešenja" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -3014,40 +3078,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Već ste glasali." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "Ne postoji takvo takmičenje" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "Takmičenje sa \"%s\" ključem nije pronađeno." @@ -3056,111 +3120,111 @@ msgstr "Takmičenje sa \"%s\" ključem nije pronađeno." msgid "Contests" msgstr "Takmičenja" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "F Y." -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Učestvovanje" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "Oznaka takmičenja: %s" @@ -3602,52 +3666,52 @@ msgstr "" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Naslov tiketa" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3710,7 +3774,7 @@ msgstr "j. M Y. \\у H:i" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "Skini vaše podatke" @@ -3752,7 +3816,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3803,12 +3867,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "" @@ -3828,13 +4018,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "Uključi" @@ -3897,7 +4087,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Edit-uj" @@ -4010,7 +4200,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "" @@ -4046,45 +4236,52 @@ msgstr "" msgid "Invalid comment body." msgstr "" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4097,15 +4294,15 @@ msgstr "Rezultat" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4211,7 +4408,7 @@ msgstr "" msgid "Leave contest" msgstr "" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "" @@ -4403,7 +4600,7 @@ msgid "AC Rate" msgstr "" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "" @@ -4456,7 +4653,7 @@ msgid "Active contests" msgstr "Aktivna takmičenja" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Takmičenje" @@ -4479,10 +4676,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "Nema zakazanih takmičenja u ovom trenutku." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "" @@ -4816,10 +5021,6 @@ msgstr "" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5515,7 +5716,7 @@ msgid "Affiliated organizations" msgstr "" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "" @@ -5565,17 +5766,17 @@ msgid "Enable Two Factor Authentication" msgstr "Omogući Dvofaktornu Autentifikaciju" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5584,7 +5785,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5602,12 +5803,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5971,144 +6172,144 @@ msgstr "Rang" msgid "Search by handle..." msgstr "" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "Samo-opis:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Vremenska zona:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Jezik:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Math engine:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "API token:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "Sakriveno" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "Dvofaktorna autentifikacija je uključena:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "Dvofaktorna autentifikacija je isključena:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "Izbriši" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "Dodaj" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "" diff --git a/locale/tr/LC_MESSAGES/django.po b/locale/tr/LC_MESSAGES/django.po index f5d92c3126..96ed02f7b6 100644 --- a/locale/tr/LC_MESSAGES/django.po +++ b/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-13 00:59\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Katalanca" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Almanca" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Yunanca" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "İngilizce" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "İspanyolca" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Fransızca" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Hırvatça" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Macarca" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Japonca" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Kazakça" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Korece" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Brezilya Portekizcesi" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Romence" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Rusça" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Sırpça (Latin)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Türkçe" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Vietnamca" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Basitleştirilmiş Çince" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Geleneksel Çince" @@ -140,125 +140,125 @@ msgstr[1] "%d yorum gösterildi." msgid "associated page" msgstr "ilişkili sayfa" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Yarışmalar" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Sorun" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Sorunlar" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Yeniden değerlendir" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Ayarlar" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Planlama" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Ayrıntılar" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Biçim" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Derecelendirme" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Erişim" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Demir yumruk" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Yarışmaları görünür olarak işaretle" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "%d yarışma başarıyla görünür olarak işaretlendi." msgstr[1] "%d yarışma başarıyla görünür olarak işaretlendi." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Yarışmaları gizli olarak işaretleme" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "%d yarışma başarıyla gizli olarak işaretlendi." msgstr[1] "%d yarışmalar başarıyla gizli olarak işaretlendi." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Yarışma gönderimlerini kilitle" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "%d yarışma başarıyla kilitlendi." msgstr[1] "%d yarışmalar başarıyla kilitlendi." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "Yarışma gönderimlerinin kilidini açın" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "%d yarışma başarıyla açıldı." msgstr[1] "%d yarışmalar başarıyla açıldı." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "%d gönderim başarıyla yeniden değerlendirmeye alındı." msgstr[1] "%d gönderimler başarıyla yeniden değerlendirmeye alındı." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Sonuçları yeniden hesapla" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "%d katılım yeniden hesaplandı." msgstr[1] "%d katılımlar yeniden hesaplandı." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "kullanıcı adı" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "sanal" @@ -270,9 +270,9 @@ msgstr "link ucu" msgid "Summary" msgstr "Özet" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -282,136 +282,136 @@ msgstr "kullanıcı" msgid "object" msgstr "obje" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Sitede görüntüle" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "Düzenleme nedeni" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Yaptığın değişiklikleri özetle (isteğe bağlı)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Sosyal Medya" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Tasnif" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Puanlar" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Sınırlar" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Dil" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Geçmiş" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "yazarlar" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Yayınlanma tarihini şimdiye ayarla" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "%d sorunun yayınlanma tarihi başarıyla güncellendi." msgstr[1] "%d sorunun yayınlanma tarihi başarıyla güncellendi." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Problemleri herkese aç" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "%d problem herkese açık olarak işaretlendi." msgstr[1] "%d problem herkese açık olarak işaretlendi." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Problemleri gizle" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "%d problem gizli olarak işaretlendi." msgstr[1] "%d problem gizli olarak işaretlendi." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "sorun" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "saat dilimi" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "e-posta" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "kayıt tarihi" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Puanları yeniden hesapla" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "%d kullanıcının puanları yeniden hesaplandı." msgstr[1] "%d kullanıcının puanları yeniden hesaplandı." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Yeniden oluştur" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Tanım" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Bilgi" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Desteklenenler" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Hiç" @@ -427,77 +427,77 @@ msgstr "Sıra dışı" msgid "Unaccepted" msgstr "Kabul edilmemiş" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (izleniyor)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s (sanal %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s - %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Seçili çözümleri yeniden değerlendir" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Çözümleri yeniden değerlendirme yetkin yok." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "Bu miktarda çözümü yeniden değerlendirme yetkin yok." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Seçili çözümleri yeniden puanla" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d çözüm yeniden puanlandı." msgstr[1] "%d çözüm yeniden puanlandı." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "problem kodu" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "problem adı" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "zaman" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "bellek" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "dil" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "Kilitli" @@ -517,20 +517,20 @@ msgstr "Bu problemler bu problem tipinin içindedir." msgid "Online Judge" msgstr "Online Değerlendirme Sistemi" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Yorum" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "Senin rolün sessiz, küçük kurbağa." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "Sesinizin duyulması için en az bir sorunu çözmeniz gerekir." -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Gönderilmiş yorum" @@ -615,129 +615,129 @@ msgstr "" msgid "IOI (pre-2016)" msgstr "" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Yarışma güncellemelerine abone ol" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Deneysel özellikleri aç" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "" msgstr[1] "" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Kullanıcı Adı" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Şifre" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "Problem kodu ^[a-z0-9]+$ olmalıdır" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "Yarışma ID'si ^[a-z0-9]+$ olmalıdır" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -746,6 +746,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "j M Y, H:i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "" @@ -827,7 +887,7 @@ msgid "comments" msgstr "yorumlar" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "%s problemi için editorial" @@ -881,7 +941,7 @@ msgstr "etiket tanımı" msgid "contest tag" msgstr "yarışma etiketi" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "yarışma etiketleri" @@ -957,12 +1017,12 @@ msgstr "" msgid "description" msgstr "tanım" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "problemler" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "başlangıç" @@ -971,7 +1031,7 @@ msgid "end time" msgstr "bitiş" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "zaman sınırı" @@ -1043,380 +1103,380 @@ msgstr "" msgid "rate all" msgstr "herkesi derecelendir" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Katılan tüm kullanıcıları derecelendir." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "derecelendirme dışı kullanıcılar" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "problem etiketlerini gizle" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Problem etiketleri varsayılan olarak gizli olmalı mı?" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "yalnızca ön testleri çalıştır" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "Judge'lar yalnızca ön testleri mi çalıştırmalı? Bu seçenek genellikle yarışma sırasında açılır, yarışma bittiğinde kapatılır ve çözümler yeniden puanlanır." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "organizasyonlara özel" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "organizasyonlar" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "OpenGraph resmi" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "anlık katılımcı sayısı" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "yarışma özeti" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "Düz yazı, sosyal medya vb. için \"meta description\" tag'inde görünecektir." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "erişim kodu" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "Yarışmaya katılabilmek için girilmesi gereken, isteğe bağlı bir kod. Boş bırakılırsa devre dışı kalır." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "istenmeyen kişiler" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Özel yarışmaları gör" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Kendi yarışmalarını düzenle" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Tüm yarışmaları düzenle" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Yarışmaları derecelendir" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "Yarışma erişim kodları" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "yarışma" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "yarışmalar" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "ilişkili yarışma" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "puan" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "kümülatif süre" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "sanal katılım ID'si" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "yarışma katılımı" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "yarışma katılımları" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "puan" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "kısmi" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "ön testli" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "sıra" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "Neden çözüm gönderemediğin bir problemi ekleyesin ki?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "yarışma problemi" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "yarışma problemleri" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "çözüm" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "katılım" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Bu çözüm yalnızca pretest'lerde mi çalıştı?" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "yarışma çözümü" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "yarışma çözümleri" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "sıralama" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "derece" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "son derecelendirme" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "yarışma derecesi" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "yarışma dereceleri" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "" @@ -1468,7 +1528,7 @@ msgstr "gönderi başlığı" msgid "slug" msgstr "" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "halka açık mı?" @@ -1634,7 +1694,7 @@ msgstr "" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "Bu problem için saniye cinsinden zaman sınırı. Küsuratlı saniyeler(örn. 1.5) desteklenmektedir." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "bellek sınırı" @@ -1750,111 +1810,115 @@ msgstr "" msgid "See organization-private problems" msgstr "" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "çevrilmiş ad" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "çevrilmiş tanım" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "problem çevirisi" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "problem çevirileri" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "açıklık getirilmiş problem" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "açıklama içeriği" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "açıklama zaman damgası (timestamp)" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "dile özel kaynak sınırı" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "dile özel kaynak sınırları" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "ilgili problem" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "yayın tarihi" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "problem analizi içeriği" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "çözüm" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "çözümler" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "not" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "problem oyu" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "problem oyları" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -2994,40 +3058,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "Sayfa %d" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "Ooo, bakıyorum da etrafı karıştırıyoruz." -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Zaten oy verdin." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "Site aracılığıyla düzenlendi" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "Yorum düzenleniyor" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "Böyle bir yarışma yok :(" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "\"%s\" anahtarıyla bir yarışma bulunamadı." @@ -3036,111 +3100,111 @@ msgstr "\"%s\" anahtarıyla bir yarışma bulunamadı." msgid "Contests" msgstr "Yarışmalar" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "Yarışma bulunamadı." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "\"%s\" yarışmasına erişimin yok" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "Yarışma devam etmiyor" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" şu anda devam etmiyor." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "\"%s\" için erişim kodunu gir" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "\"%s\" yarışmasında değilsin." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "%(month)s ayındaki yarışmalar" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "%s - Sıralama" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "\"%(contest)s\" yarışmasına katılımın" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "Canlı" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Katılım" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "Yarışma etiketi: %s" @@ -3577,52 +3641,52 @@ msgstr "{user} tarafından {problem} için gönderilen çözüm - {contest}" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "{user} tarafından problem {number} için gönderilen çözüm - {contest}" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Bilet başlığı" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Sorun açıklaması" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "%s için yeni bilet" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - Bilet %(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "Biletler - Sayfa %(number)d/%(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "Yeni Bilet: %s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d, sorumlular: %(users)s" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "kimse" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3685,7 +3749,7 @@ msgstr "j M Y, G:i" msgid "Preparing your data..." msgstr "" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "" @@ -3727,7 +3791,7 @@ msgstr "" msgid "You have sent too many password reset requests. Please try again later." msgstr "" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "" @@ -3778,12 +3842,138 @@ msgstr "" msgid "The email attached to your account has been changed to %s." msgstr "" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "Derecelendir" @@ -3803,13 +3993,13 @@ msgstr "" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "" @@ -3872,7 +4062,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Düzenle" @@ -3985,7 +4175,7 @@ msgstr "" msgid "edit %(edits)s" msgstr "düzenleme %(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "düzenlendi" @@ -4021,45 +4211,52 @@ msgstr "Yeni yorum" msgid "Invalid comment body." msgstr "Yorum metninde hata!" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "düzenleme {edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "orijinal" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "" @@ -4072,15 +4269,15 @@ msgstr "Puan" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "" @@ -4186,7 +4383,7 @@ msgstr "" msgid "Leave contest" msgstr "Yarışmadan ayrıl" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Sanal katılım" @@ -4375,7 +4572,7 @@ msgid "AC Rate" msgstr "AC Oranı" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Kullanıcılar" @@ -4428,7 +4625,7 @@ msgid "Active contests" msgstr "" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Yarışma" @@ -4451,10 +4648,18 @@ msgstr "" msgid "There are no scheduled contests at this time." msgstr "Şu anda planlanmış yarışma bulunmuyor." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Eski yarışmalar" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "Ayrılmak istediğine emin misin?" @@ -4787,10 +4992,6 @@ msgstr "At" msgid "Are you sure you want to kick this user?" msgstr "" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "" @@ -5475,7 +5676,7 @@ msgid "Affiliated organizations" msgstr "Organizasyon üyelikleri" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "Gelecek yarışmalar hakkında beni bilgilendir" @@ -5525,17 +5726,17 @@ msgid "Enable Two Factor Authentication" msgstr "" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "" @@ -5544,7 +5745,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "" @@ -5562,12 +5763,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "" @@ -5930,144 +6131,144 @@ msgstr "Sıralama" msgid "Search by handle..." msgstr "Kullanıcı adı ile ara..." -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "En yakın büyük şehri seç" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Saat dilimi:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Dil:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "Editör teması:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Matematik motoru:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "Profil fotoğrafı değiştir" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "Şifre değiştir" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "Profilini güncelle" diff --git a/locale/vi/LC_MESSAGES/django.po b/locale/vi/LC_MESSAGES/django.po index e15b8d2912..8efda9926f 100644 --- a/locale/vi/LC_MESSAGES/django.po +++ b/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-08-23 00:48\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-18 00:51\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "Tiếng Catalan" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "Tiếng Đức" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "Tiếng Hy Lạp" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "Tiếng Anh" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "Tiếng Tây Ban Nha" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "Tiếng Pháp" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "Tiếng Croatia" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "Tiếng Hung-ga-ri" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "Tiếng Nhật Bản" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "Tiếng Kazakh" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "Tiếng Hàn Quốc" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "Tiếng Braxin-Bồ Đào Nha" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "Tiếng Romania" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "Tiếng Nga" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "Tiếng Séc-bi (Latin)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "Tiếng Thổ Nhĩ Kỳ" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "Tiếng Việt" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "Tiếng Trung (Giản thể)" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "Tiếng Trung (Phồn thể)" @@ -138,119 +138,119 @@ msgstr[0] "%d bình luận đã được hiện lại." msgid "associated page" msgstr "trang liên kết" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "Các cuộc thi" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "Đề bài" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "Các bài" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "Chấm lại" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "Cài đặt" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "Kế hoạch" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "Chi tiết" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "Định dạng" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "Xếp loại" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "Truy cập" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "Luật" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "Đánh dấu các kỳ thi là có thể thấy" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, 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 là có thể thấy." -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "Đánh dấu các kỳ thi là ẩn" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, 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 là ẩn." -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "Khóa các bài nộp của kỳ thi" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "Đã khóa %d cuộc thi thành công." -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" -msgstr "Hủy khóa nộp bài cho kỳ thi" +msgstr "Mở khóa nộp bài cho kỳ thi" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "Mở khóa %d cuộc thi thành công." -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, 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 để chấm lại." -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "Tính lại kết quả" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "%d tham gia tính lại." -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "tên người dùng" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "ảo" @@ -262,9 +262,9 @@ msgstr "đường dẫn liên kết" msgid "Summary" msgstr "Tổng hợp" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -274,132 +274,132 @@ msgstr "thành viên" msgid "object" msgstr "đối tượng" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "Xem trên trang web" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "Chỉnh sửa lý do" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "Mô tả những thay đổi bạn đã thực hiện (tùy chọn)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "Mạng Xã hội" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "Phân loại" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "Điểm" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "Giới hạn" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "Ngôn ngữ" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "Lịch sử" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "tác giả" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "Chỉnh thời gian xuất bản đến hiện tại" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "%d ngày xuất bản của bài tập đã được cập nhật." -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "Công bố đề bài" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "%d bài tập đã được công bố." -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "Ẩn đề bài" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "%d bài tập đã được đánh dấu là cá nhân." -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "vấn đề" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "múi giờ" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "email" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "ngày tham gia" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "Tính lại điểm" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "%d người dùng có tính lại điểm." -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "Tạo lại" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "Mô tả" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "Thông tin" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Khả năng" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "Không" @@ -415,76 +415,76 @@ msgstr "Lỗi" msgid "Unaccepted" msgstr "Không chấp nhận" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s (đang theo dõi)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s (ảo %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(problem)s trong %(contest)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "Chấm lại các bài đã chọn" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "Bạn không có quyền chấm lại bài." -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "Bạn không không có quyền chấm lại QUÁ NHIỀU bài nộp." -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "Tính điểm lại các bài đã chọn" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d bài đã được tính điểm lại." -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "mã đề bài" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "tên bài tập" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "thời gian" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "bộ nhớ" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "ngôn ngữ" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "Đã khóa" @@ -494,30 +494,30 @@ msgstr "Bao gồm các câu hỏi" #: judge/admin/taxon.py:14 msgid "These problems are included in this group of problems." -msgstr "Các đề bài này đã được bao gồm trong nhóm." +msgstr "Các bài tập này đã được bao gồm trong nhóm." #: judge/admin/taxon.py:37 msgid "These problems are included in this type of problems." -msgstr "Các đề bài đã chọn đã được bao gồm trong loại bài này." +msgstr "Các bài tập đã chọn đã được bao gồm trong loại bài này." #: judge/apps.py:8 msgid "Online Judge" msgstr "Chấm bài trực tuyến" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "Bình luận" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "Không có phần nói của ngươi, đồ cóc ghẻ." -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "Bạn cần phải giải ít nhất một bài trước khi bạn tạo một ticket mới." -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "Đăng bình luận" @@ -538,7 +538,7 @@ msgstr[0] "Những lần nạp bài trước lần nạp có điểm số cao nh #: judge/contest_format/atcoder.py:127 msgid "Ties will be broken by the last score altering submission time." -msgstr "Kết quả do điểm bằng nhau có thể bị thay đổi bởi tổng thời gian nộp bài." +msgstr "Các thí sinh có điểm bằng nhau sẽ được phân định bằng thời gian của lần nộp cuối cùng làm thay đổi kết quả." #: judge/contest_format/default.py:18 msgid "Default" @@ -600,127 +600,127 @@ msgstr "Kết quả bằng nhau do điểm số cuối cùng có thể bị thay msgid "IOI (pre-2016)" msgstr "IOI (trước năm 2016)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "Mã xác thực 2 yếu tố phải có {count} chữ số." -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "Mã xác thực 2 yếu tố không đúng." -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "Mã dự phòng phải là 16 kí tự hệ 32." -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "Mã dự phòng không hợp lệ." -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "Đăng ký để nhận các cập nhật về cuộc thi" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "Bật các tính năng đang thử nghiệm" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "Bạn cần phải giải ít nhất một bài trước khi được quyền cập nhật hồ sơ." -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "Bạn không thể là thành viên của nhiều hơn {count} tổ chức công khai." -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "Địa chỉ email này đã được sử dụng." -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "Mật khẩu không hợp lệ" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "Tải các bình luận về?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "Tải xuống các bài nộp?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "Sắp xếp theo mã bài tập:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "Hãy để trống để bao gồm mọi bài nộp" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "Lọc theo kết quả:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "Vui lòng chọn ít nhất một thứ để tải về." -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "Bất kì máy chấm nào" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "Tên người dùng" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "Mật khẩu" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "Độ dài của bài nộp không hợp lệ." -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "Phản hồi WebAuthn không hợp lệ." -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "Không có xác thực web (WebAuthn) nào được sử dụng." -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "Chứng chỉ xác thực web (WebAuthn) không hợp lệ." -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "Mã xác thực 2 yếu tố hoặc mã dự phòng không hợp lệ." -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "Bắt buộc phải có totp_token hoặc webauthn_response." -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "Mã đầu bài chỉ bao gồm ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "Mã bài tập đã tồn tại." -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "Id cuộc thi phải bao gồm ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "Mã kỳ thi đã tồn tại." @@ -729,6 +729,66 @@ msgstr "Mã kỳ thi đã tồn tại." msgid "N j, Y, g:i a" msgstr "j \\t\\há\\n\\g n \\nă\\m Y, g:i a" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "Chưa xếp hạng" @@ -810,7 +870,7 @@ msgid "comments" msgstr "nhận xét" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "Hướng giải cho %s" @@ -864,7 +924,7 @@ msgstr "mô tả thẻ" msgid "contest tag" msgstr "thẻ cuộc thi" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "thẻ cuộc thi" @@ -940,12 +1000,12 @@ msgstr "Những người dùng này sẽ có thể theo dõi cuộc thi, nhưng msgid "description" msgstr "mô tả" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "đề bài" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "t. gian b. đầu" @@ -954,7 +1014,7 @@ msgid "end time" msgstr "thời gian kết thúc" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "giới hạn thời gian" @@ -1026,380 +1086,380 @@ msgstr "Không xếp hạng người dùng mà có thứ hạng cao hơn." msgid "rate all" msgstr "đánh giá tất cả" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "Đánh giá những người đã tham gia." - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "Tính rating kể cả khi họ không nộp bài" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "không xếp hạng" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "riêng tư cho thành viên cụ thể" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "thí sinh riêng tư" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "Nếu không để trống, chỉ những người dùng này mới có thể xem cuộc thi." -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "ẩn các thẻ đầu bài" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "Cho dù vấn đề tags nên được ẩn theo mặc định." -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "ẩn tác giả của bài tập" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "Tác giả của bài tập được ẩn theo mặc định." -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "chỉ chạy các phép thử trước" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "Chỉ chấm bài thử. Thường sử dụng trong các cuộc thi, sau đó bỏ để chấm lại các bài chấm ở cuối cuộc thi." -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "hiển thị cài đặt rút gọn" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "Có hiển thị phần cài đặt của cuộc thi tại trang của cuộc thi hay không?" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "dành riêng cho tổ chức" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "tổ chức" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "Nếu không để trống, chỉ những tổ chức này mới có thể xem cuộc thi." -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "giới hạn các tổ chức có thể tham gia" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "tham gia các tổ chức" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "Nếu không để trống, chỉ những tổ chức này mới có thể tham gia cuộc thi." -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "các lớp học" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "Nếu tổ chức là riêng tư, chỉ những lớp này mới có thể xem cuộc thi." -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "Ảnh OpenGraph" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "ghi đè ảnh logo" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "Ảnh này sẽ thay thế logo mặc định cho người dùng trong kỳ thi." -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "số lượng người tham gia trực tiếp" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "tổng kết cuộc thi" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "Văn bản thuần tuý, hiển thị trong thẻ meta, ví dụ như cho các phương tiện truyền thông xã hội." -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "mã truy cập" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "Một mã tùy chọn để nhắc nhở các thí sinh trước khi họ được phép tham gia kỳ thi. Để trống để vô hiệu hóa." -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "cá nhân - không tính điểm" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "Cấm những người dùng đã chọn tham gia kỳ thi này." -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "định dạng kỳ thi" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "Dạng mô đun sử dụng cho kỳ thi." -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "cấu hình dạng kỳ thi" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "Một đối tượng JSON dùng để chọn cấu hình định dạng cho mô đun kỳ thi. Để trống nếu không dùng. Định dạng chính xác phụ thuộc vào định dạng kỳ thi được chọn." -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "tiêu đề của câu hỏi trong kỳ thi" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "Một chức năng Lua tùy chỉnh để tạo nhãn vấn đề. Yêu cầu một hàm duy nhất với một tham số nguyên, chỉ mục vấn đề cuộc thi được lập chỉ mục bằng 0 và trả về một chuỗi, nhãn." -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "khóa cuộc thi" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "Không cho các bài nộp của cuộc thi này chấm lại sau thời gian này." -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "độ chính xác" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "Số chữ số sau dấu chấm phẩy để làm tròn." -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "Xem các kỳ thi riêng tư" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "Sửa các kỳ thi sở hữu" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "Sửa tất cả các kỳ thi" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "Nhân bản kỳ thi" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSS kỳ thi" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "Đánh gia các kỳ thi" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "Mã truy cập kỳ thi" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "Tạo kỳ thi riêng tư" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "Chỉnh tính công khai của cuộc thi" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "Sửa tiêu đề của bài tập trong kỳ thi" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "Chỉnh trạng thái khóa của cuộc thi" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "cuộc thi" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "cuộc thi" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "cuộc thi liên quan" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "điểm" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "thời gian tích lũy" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "bị loại" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "Có bị hủy tư cách tham gia" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "trường dùng để tie-break" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "mã số tham gia ảo" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 nghĩa là không phải đăng ký ảo, ngược lại là lần đăng ký ảo thứ n." -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "định dạng dữ liệu cụ thể của kỳ thi" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "%(user)s đang theo dõi trong %(contest)s" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "%(user)s trong %(contest)s, v%(id)d" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "%(user)s trong %(contest)s" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "tham gia cuộc thi" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "tham gia cuộc thi" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "điểm" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "một phần" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "sử dụng pretests" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "thứ tự" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "ghi đè độ dài output prefix" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "gửi tối đa" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "Số lượng tối đa lần nộp cho bài này, hoặc để trống nếu không giới hạn." -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "Tại sao bạn không thể nộp bài cho một bài tập?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "đề bài của cuộc thi" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "đề bài của cuộc thi" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "nộp bài" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "tham gia" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "Bài nộp này chỉ chạy trên Pre-tests." -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "nộp bài thi" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "nộp bài thi" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "hạng" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "đánh giá" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "đánh giá thô" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "hiệu suất của kỳ thi" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "lần xếp hạng cuối" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "xếp hạng cuộc thi" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "xếp hạng cuộc thi" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "kết quả kỳ thi moss" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "kết quả kỳ thi moss" @@ -1451,7 +1511,7 @@ msgstr "tiêu đề bài viết" msgid "slug" msgstr "slug" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "hiển thị công khai" @@ -1617,7 +1677,7 @@ msgstr "Nhóm của bài tập, hiển thị trong danh sách bài tập." msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "Giới hạn thời gian (tính bằng giây) cho bài tập này. Phần lẻ giây (chẳng hạn 1.5) cũng được hỗ trợ." -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "giới hạn bộ nhớ" @@ -1733,111 +1793,115 @@ msgstr "Thay đổi trường is_manually_managed" msgid "See organization-private problems" msgstr "Xem đề bài riêng của tổ chức" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "Tạo đề bài riêng tư" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "tên bộ dịch" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "mô tả bộ dịch" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "dịch đầu bài" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "dịch đầu bài" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "bài tập được làm rõ" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "nội dung làm rõ" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "thời gian làm rõ" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "làm rõ vấn đề" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "làm rõ vấn đề" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "giới hạn tài nguyên theo ngôn ngữ" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "giới hạn tài nguyên theo ngôn ngữ" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "đầu bài liên quan" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "ngày công bố" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "nội dung hướng dẫn giải" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "Xem các lời giải ẩn" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "lời giải" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "lời giải" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "điểm được đề xuất" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "Lượng điểm được vote cho bài này." -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "người bình chọn" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "thời gian vote" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." msgstr "Thời điểm vote." -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "ghi chú" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." msgstr "Giải thích số điểm đã cho bài tập này." -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "bình chọn cho bài" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "phanvchung" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "Điểm được vote bởi %(voter)s cho %(problem)s" @@ -2974,40 +3038,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "Trang %d của bài viết" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "Bị rối?" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "Bạn cần phải giải ít nhất một bài trước khi được quyền bình chọn." -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "Bình luận không tìm thấy." -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "Bạn không thể bình chọn cho bình luận của mình." -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "Bạn đã bỏ phiếu rồi." -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "Biên tập từ trang web" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "Đang chỉnh sửa bình luận" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "Không có cuộc thi như vậy" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "Không thể tìm thấy một cuộc thi với khóa \"%s\"." @@ -3016,111 +3080,111 @@ msgstr "Không thể tìm thấy một cuộc thi với khóa \"%s\"." msgid "Contests" msgstr "Cuộc thi" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "Không thể tìm thấy các cuộc thi như vậy." -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "Truy cập vào cuộc thi \"%s\" từ chối" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "Nhân bản kỳ thi" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "Cuộc thi được nhân bàn từ %s" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "Cuộc thi không đang diễn ra" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" không đang diễn ra." -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "Cấm tham gia" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "Bạn đã được xác định không phải đối tượng tham gia của cuộc thi này. Bạn bị cấm vĩnh viễn khỏi cuộc thi này." -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "Không thể vào" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "Bạn không thể tham gia cuộc thi này." -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "Nhập mã đăng nhập cho \"%s\"" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "Bạn đang không tham gia cuộc thi \"%s\"." -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "Cuộc thi tại %(month)s" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "\\t\\há\\n\\g n \\nă\\m Y" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "Thống kê của %s" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "%s xếp hạng" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "Tham gia của bạn vào %(contest)s" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "Sự tham gia của %(user)s vào %(contest)s" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "Trực tuyến" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "Tham gia" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "Kết quả MOSS của %s" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "Đang chạy MOSS cho %s..." -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "Thẻ cuộc thi: %s" @@ -3552,52 +3616,52 @@ msgstr "{user} gửi cho {problem} trong {contest}" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "Bài nộp của {user} cho bài {number} trong {contest}" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "Tên thẻ" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "Mô tả vấn đề" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "Bạn cần phải giải ít nhất một bài trước khi được quyền tạo một thẻ mới." -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "Thẻ mới cho %s" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - Thẻ %(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "Thẻ - Trang số %(number)d trên %(total)d" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "Thẻ mới: %s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d, được gán cho: %(users)s" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr ", " -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "không có ai" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "Tin nhắn về thẻ mới cho: %s" @@ -3660,7 +3724,7 @@ msgstr "j \\t\\há\\n\\g n \\nă\\m Y, G:i" msgid "Preparing your data..." msgstr "Đang chuẩn bị dữ liệu..." -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "Đang tải xuống dữ liệu" @@ -3702,7 +3766,7 @@ msgstr "Bạn vừa đăng xuất thành công." msgid "You have sent too many password reset requests. Please try again later." msgstr "Bạn đã gửi quá nhiều yêu cầu đặt lại mật khẩu. Hãy vui lòng thử lại sau." -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "Thay đổi email" @@ -3753,12 +3817,138 @@ msgstr "Email đã thay đổi thành công" msgid "The email attached to your account has been changed to %s." msgstr "Email được gắn với tài khoản của bạn đã được đổi thành %s." +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "Trình chỉnh sửa" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "Xem trước" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "Bạn có chắc chắn muốn chấm lại TẤT CẢ các bài nộp?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "Đánh giá" @@ -3778,13 +3968,13 @@ msgstr "Chấm dứt" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "Vô hiệu hóa" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "Kích hoạt" @@ -3847,7 +4037,7 @@ msgstr "dựa trên nền tảng **DMOJ**" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "Chỉnh sửa" @@ -3960,7 +4150,7 @@ msgstr "đã bình luận {time}" msgid "edit %(edits)s" msgstr "sửa %(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "chỉnh sửa" @@ -3996,45 +4186,52 @@ msgstr "Bình luận mới" msgid "Invalid comment body." msgstr "Bình luận không hợp lệ." -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "Đang trả lời bình luận" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "chỉnh sửa {edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "nguyên bản" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "Không thể bầu chọn: {error}" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "Bạn có chắc muốn ẩn bình luận này?" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "Không thể ẩn bình luận." -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "đã cập nhật" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "Cập nhật bình luận không thành công." -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "Không thể soạn thảo bình luận: {error}" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "Người bình chọn" @@ -4047,15 +4244,15 @@ msgstr "Điểm" msgid "No votes" msgstr "Không có phiếu bầu" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "Nhấn để sao chép" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "Sao chép" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "Đã sao chép!" @@ -4161,7 +4358,7 @@ msgstr "Nhân bản" msgid "Leave contest" msgstr "Rời khỏi cuộc thi" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "Tham gia ảo" @@ -4347,7 +4544,7 @@ msgid "AC Rate" msgstr "Tỷ lệ AC" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "Thành viên" @@ -4400,7 +4597,7 @@ msgid "Active contests" msgstr "Các cuộc thi đang diễn ra" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "Cuộc thi" @@ -4423,10 +4620,18 @@ msgstr "Bắt đầu sau %(countdown)s" msgid "There are no scheduled contests at this time." msgstr "Không có không có cuộc thi dự kiến tại thời điểm này." -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "Cuộc thi đã qua" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "Bạn có chắc bạn muốn bỏ qua?" @@ -4758,10 +4963,6 @@ msgstr "Loại" msgid "Are you sure you want to kick this user?" msgstr "Bạn có chắc muốn xóa người dùng này?" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "Xem trước cập nhật" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "Nhập mã mới cho bài tập đã nhân bản:" @@ -5435,7 +5636,7 @@ msgid "Affiliated organizations" msgstr "Tổ chức đại diện" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "Thông báo cho tôi về các cuộc thi sắp tới" @@ -5485,17 +5686,17 @@ msgid "Enable Two Factor Authentication" msgstr "Kích hoạt xác thực 2 yếu tố" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "Dưới đây là các mã dự phòng sử dụng một lần." #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "Những mã này chỉ có thể được sử dụng một lần và được sử dụng trong trường hợp khẩn cấp." #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "Bạn có thể sử dụng những mã này để đăng nhập vào tài khoản hoặc vô hiệu hóa xác thực 2 yếu tố." @@ -5504,7 +5705,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "Nếu bạn cần thêm mã dự phòng, bạn có thể tạo thêm ở trang sửa thông tin." #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "Hãy ghi lại và giữ chúng ở vị trí an toàn." @@ -5522,12 +5723,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "Nếu bạn đánh mất thiết bị xác minh và không thể sử dụng mã dự phòng, quản trị viên của %(site_name)s sẽ KHÔNG THỂ phục hồi tài khoản. Hãy giữ mã dự phòng an toàn!" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "Trình duyệt của bạn không hỗ trợ WebAuthn." #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "Không thể kết nối với máy chủ." @@ -5889,144 +6090,144 @@ msgstr "Xếp hạng" msgid "Search by handle..." msgstr "Tìm kiếm theo tên..." -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "Các quản trị viên của trang web này yêu cầu tất cả nhân viên phải bật Xác thực hai yếu tố, vì vậy hiện tại không thể vô hiệu hóa." -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "Bạn có chắc chắn để tạo hoặc tạo lại mã API?" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "Điều này sẽ làm mất hiệu lực của mọi mã thông báo API trước đó." -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "Nó cho phép bạn truy cập tài khoản mà không có xác thực 2 yếu tố." -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "Bạn sẽ không thể xem lại mã API sau khi rời trang này!" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "Đang tạo..." -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "Xóa" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "Bạn có chắc chắn muốn xóa mã API?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "Tạo" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "Bạn có chắc chắn muốn xóa mã bảo mật này?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "Bạn chắc chắn muốn tạo hoặc tạo lại một đoạn code mới không?" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "Điều này sẽ làm cho bất kỳ đoạn code nào trước đó của bạn trở nên vô hiệu." -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "Bạn sẽ không thể xem lại code nháp của mình sau khi rời trang này!" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "Mô tả bản thân:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "Chọn thành phố lớn gần bạn nhất" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "Múi giờ:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "Ngôn ngữ:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "Giao diện:" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "Giao diện khung viết code:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "Công cụ toán học:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "Tổ chức đại diện:" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "Đổi ảnh đại diện của bạn" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "Đổi mật khẩu của bạn" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "Mã API:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "Ẩn" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "Xác thực 2 yếu tố đã được kích hoạt:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "Mã dự phòng:" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "Nếu bạn cần thêm code nháp, bạn có thể sinh chúng ở đây." -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "Xác thực 2 yếu tố đã được vô hiệu hóa:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "Khóa bảo mật:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "Xóa" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "Đặt tên cho khóa này" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "Thêm" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "Script tự định nghĩa:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "Cập nhật profile" @@ -6175,7 +6376,7 @@ msgstr "Điểm số:" #: templates/user/user-base.html:53 msgid "Min. rating:" -msgstr "Điểm số thấp nhất:" +msgstr "rating thấp nhất:" #: templates/user/user-base.html:54 msgid "Max rating:" diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index feaac2fe44..ff46c24aca 100644 --- a/locale/zh_Hans/LC_MESSAGES/django.po +++ b/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-11-02 00:54\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-02-04 00:54\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "加泰隆语" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "德语" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "希腊语" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "英语" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "西班牙语" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "法语" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "克罗地亚语" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "匈牙利语" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "日语" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "哈萨克语" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "韩语" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "巴西葡萄牙语" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "罗马尼亚语" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "俄语" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "塞尔维亚文(拉丁字母)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "土耳其语" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "越南语" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "简体中文" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "繁体中文" @@ -103,7 +103,7 @@ msgstr "注册完成" #: dmoj/urls.py:43 msgid "Registration Not Allowed" -msgstr "不允许注册" +msgstr "注册被禁止" #: dmoj/urls.py:95 templates/base.html:193 msgid "Home" @@ -138,119 +138,119 @@ msgstr[0] "%d个评论成功取消隐藏。" msgid "associated page" msgstr "关联页" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "带标签的竞赛" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "题目" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" msgstr "题目" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "重新评分" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "设置" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "时间计划" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "详细信息" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "格式" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "评分" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "访问权限" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "司法" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "标记竞赛为可见" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "%d个竞赛已成功公开。" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "隐藏选定竞赛" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "%d个竞赛已成功隐藏。" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "锁定竞赛提交" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "%d个竞赛锁定成功。" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "解锁竞赛提交" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "%d个竞赛解锁成功。" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "%d个提交被计划重新评分。" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "重新计算结果" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." -msgstr[0] "重新计算了%d个参与。" +msgstr[0] "%d个参与者的得分已成功计算。" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "用户名" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "模拟竞赛" @@ -262,9 +262,9 @@ msgstr "链接路径" msgid "Summary" msgstr "概要" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -274,132 +274,132 @@ msgstr "用户" msgid "object" msgstr "对象" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "查看" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "编辑的理由" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "描述所你所做的更改 (可选)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "社交媒体" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "分类" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "分数" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "限制" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "语言" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "编辑历史" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "作者" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "设发表日期为现在" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "%d个题目的发表日期更新成功。" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "公开题目" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "%d 个题目已被成功地公开。" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "隐藏题目" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "%d 个题目已被成功地隐藏。" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "题目" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "时区" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "电子邮箱" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "加入日期" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "重新计算总分" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "%d个用户的总分已被重新计算。" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "重新生成" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "描述" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "信息" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "能力" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "无" @@ -415,76 +415,76 @@ msgstr "错误" msgid "Unaccepted" msgstr "未被接受" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s(旁观中)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s(模拟竞赛第%d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(contest)s 中的 %(problem)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" msgstr "重新评分选定的程序" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." msgstr "您没有为程序重新评分的权利。" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." msgstr "您没有为这么多程序重新评分的权利。" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" msgstr "重新计算选定程序的分数" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." msgstr[0] "%d个程序提交的分数已被重新计算。" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "题目代码" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "题目名称" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "时间" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "内存" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "语言" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "已锁定" @@ -504,20 +504,20 @@ msgstr "这些题目属于该题目类型。" msgid "Online Judge" msgstr "在线评测系统" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "评论正文" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." msgstr "你已被静音……" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "至少正确通过一道题目后你才可以发表评论。" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "发布了评论" @@ -600,127 +600,127 @@ msgstr "得分相同时,比较所有非零分数题目首次达到最高分时 msgid "IOI (pre-2016)" msgstr "IOI(2016年之前)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." msgstr[0] "双重身份验证令牌必须是{count}小数。" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." msgstr "无效的双重验证码。" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." msgstr "一次性双重验证码必须是16个32十进制字符。" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." msgstr "无效的一次性代码。" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "订阅有关于竞赛的资讯" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "允许使用实验性功能" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "你必须至少解决一个题目,才能更新你的资料。" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "你不能参与超过{count}个组织。" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." msgstr "该邮件地址已被占用。" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "密码不正确" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "下载评论?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "下载提交?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" msgstr "按题目代码glob过滤:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "留空以包含所有提交" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "以结果过滤:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "请选择下载至少一个东西。" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "任何裁判服务器" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "用户名" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "密码" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "无效的代码长度。" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "WebAuthn回复无效。" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "未发出WebAuthn质疑。" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "无效的WebAuthn凭据ID。" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "无效的双重验证码或者一次性代码。" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "必须指定 totp_token 或 webauthn_response。" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "题目代码必须匹配 ^[a-z0-9]+$" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "代码已经存在题目。" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "竞赛标识必须匹配 ^[a-z0-9]+$" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "有这个代码的竞赛已经存在。" @@ -729,6 +729,66 @@ msgstr "有这个代码的竞赛已经存在。" msgid "N j, Y, g:i a" msgstr "Y年n月j日 G:i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "%s B" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "%s TB" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "%s PB" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "%sB" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "%sK" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "%sM" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "%sG" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "%sT" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "%sP" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "未评分" @@ -810,7 +870,7 @@ msgid "comments" msgstr "评论" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "%s 的题解" @@ -864,7 +924,7 @@ msgstr "标签描述" msgid "contest tag" msgstr "竞赛标签" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "竞赛标签" @@ -940,12 +1000,12 @@ msgstr "这些用户将能够旁观竞赛,但是不能提前看到题目。" msgid "description" msgstr "描述" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "题目" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "开始时间" @@ -954,7 +1014,7 @@ msgid "end time" msgstr "结束时间" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "时间限制" @@ -1026,380 +1086,380 @@ msgstr "不要给评分较高的用户评分。" msgid "rate all" msgstr "为所有用户评分" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "所有参与竞赛的用户,包含没有提交任何程序的用户,都将被评分。" - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "在该用户没有任何提交的情况下打分" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "不会被评分" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "私密给特定用户" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "秘密参赛者" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "如果非空,只有这些用户可以看到竞赛。" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "隐藏题目标签" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "设置竞赛内题目标签是否默认被隐藏。" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "隐藏题目作者" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "是否默认隐藏题目作者。" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "只运行预测试" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "设置裁判服务器是否只运行预测试而不是所有测试。通常在竞赛进行时启动,然后在竞赛结束后重新评分前关闭。" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "显示简短设置" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "是否在比赛首页显示比赛设置。" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "只对组织可见" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "组织" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "如果非空,该比赛只对这些组织的成员可见。" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "限制能加入的组织" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "加入组织" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "如果非空,只有这些组织可以加入竞赛。" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "类" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "如果是私密组织,只有这些用户可以看到比赛。" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "OpenGraph 图像" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "覆盖标志的图片" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." msgstr "此图片将替换竞赛中用户的默认网站标识。" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "实时参与者数" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "竞赛简介" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "在meta description标签内显示的纯文本介绍。" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "访问码" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." msgstr "在参赛者被允许参加竞赛之前的一个可选代码。如无需要请留空白禁用。" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "不受欢迎人物" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "禁止这些用户加入这个竞赛。" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "竞赛格式" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "使用的竞赛格式模块。" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "竞赛格式配置" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "作为选定竞赛格式模块的配置的JSON对象。留空来不使用。实在格式依赖于所选的竞赛格式。" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "竞赛题目标签脚本" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "使用自定义 Lua 函数生成题目标签时,需要一个函数:仅 1 个整数参数,即从 0 开始的题目编号,返回一个字符串,即对应的题目标签。" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "竞赛锁定" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." msgstr "请勿在这个日期之后重新测评来自这场比赛的提交。" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "精度" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "将分数四舍五入到第几位。" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "查看私人竞赛" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "编辑我的竞赛" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "编辑全部竞赛" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "复制竞赛" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSS竞赛" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "计算积分的竞赛" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "竞赛访问码" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "创建私人竞赛" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "更改竞赛可见性" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "编辑竞赛题目标签脚本" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "更改竞赛锁定状态" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "竞赛" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "竞赛" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "关联的竞赛" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "得分" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "累积时间" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "已被取消资格" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "此参与是否被取消资格。" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "以这个抢七" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "虚拟参与信息编号" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 表示正式参与,否则表示第n次虚拟参与。" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "竞赛格式特有的数据" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "%(user)s 在 %(contest)s 旁观" -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "%(user)s 于 %(contest)s 的第%(id)d次虚拟参与" -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "%(contest)s 中的 %(user)s" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "竞赛参与信息" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "竞赛参与信息" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "分" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "部分" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "仅通过预测试" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "顺序" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" msgstr "输出前缀替换" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "提交次数上限" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "此题目的最大提交数量,或留空白而表示无限制。" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" msgstr "为什么包括一个你不能提交的题目?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "竞赛题目" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "竞赛题目" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" msgstr "提交信息" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "参与" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." msgstr "该程序是否只通过预测试。" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "竞赛提交信息" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "竞赛提交历史" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "排名" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "评分" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "原始评分" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "竞赛表现" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "上次评分" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "竞赛评分信息" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "竞赛评分历史" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "竞赛MOSS结果" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "竞赛MOSS结果" @@ -1451,7 +1511,7 @@ msgstr "文章标题" msgid "slug" msgstr "网址标志" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "公共可见性" @@ -1617,7 +1677,7 @@ msgstr "在题目列表显示的题目组。" msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." msgstr "这个题目的时间限制(以秒为单位)。支持小数秒计时方式(例如1.5)。" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "内存限制" @@ -1733,111 +1793,115 @@ msgstr "改变is_manually_managed领域" msgid "See organization-private problems" msgstr "查看对组织私有的题目" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "创建私人题目" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "翻译题目名" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "翻译题目正文" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "题目翻译" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "题目翻译" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "已澄清的题目" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "澄清的身体" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "澄清时间戳" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "题目澄清" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "题目澄清" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "语言特定资源限制" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "语言特定资源限制" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "关联的题目" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "发布日期" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "题解内容" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "查看隐藏的解答" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "题目讲解" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "题目讲解" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "恰当的评分" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "评分者认为该问题应得的分数。" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "投票者" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "投票时间" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." -msgstr "该评分发起时间" +msgstr "该评分发起时间。" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "备注" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." -msgstr "评分理由" +msgstr "评分理由。" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "题目投票" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "题目投票" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "由 %(voter)s 对 %(problem)s 给出评分" @@ -2264,7 +2328,7 @@ msgstr "显示名覆盖" #: judge/models/profile.py:209 msgid "Name displayed in place of username." -msgstr "在用户名处显示名称" +msgstr "在用户名处显示名称。" #: judge/models/profile.py:335 msgid "Shows in-progress development stuff" @@ -2974,40 +3038,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "帖子第%d页" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "请别捣乱。" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "您投票前必须解决至少一个题目。" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "找不到评论。" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "您不能为自己的评论投票。" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "你已经投了票。" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "从网站中上编辑" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "编辑评论" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "该竞赛不存在" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "找不到标识符为“%s“的竞赛。" @@ -3016,111 +3080,111 @@ msgstr "找不到标识符为“%s“的竞赛。" msgid "Contests" msgstr "竞赛" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "找不到该竞赛。" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "对竞赛”%s“的访问被拒绝" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "复制竞赛" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "从 %s 克隆的竞赛" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "竞赛不在进行" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "“%s“不在进行。" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "禁止加入" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "您在该竞赛不受欢迎。您被永久禁止参加该竞赛。" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "无法输入" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "您不能加入这场竞赛。" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "输入“%s”的访问码" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "你不是在竞赛\"%s\"中。" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "%(month)s的竞赛" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "Y年n月" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "%s 数据" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "%s 排行榜" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "你在 %(contest)s 中的参与历史" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "%(user)s 在 %(contest)s 中的参与历史" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "实时" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "参与历史" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "%s MOSS 结果" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "正在为 %s 运行 MOSS…" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "竞赛标签:%s" @@ -3374,7 +3438,7 @@ msgstr "您的 zip 文件是无效的!" #: judge/views/problem_data.py:51 msgid "Zip files must end in '.zip'" -msgstr "Zip 文件必须以 '.zip ' 结尾" +msgstr "Zip 文件必须以“.zip”结尾。" #: judge/views/problem_data.py:58 msgid "Generators must not be named init.yml." @@ -3552,52 +3616,52 @@ msgstr "{contest} 中 {user} 在 {problem} 的提交历史" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "{user} 对 {contest} 第 {number} 题提交的程序" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "工单标题" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "问题描述" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "你必须至少解决一个题目,才能提交工单。" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "%s 的新工单" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "%(title)s - 工单%(id)d" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "工单 - 第%(number)d页,共%(total)d页" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "新工单:%s" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "#%(id)d,分配给:%(users)s" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "、" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "没人" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "%s 的新工单消息" @@ -3660,7 +3724,7 @@ msgstr "Y年n月j日 G:i" msgid "Preparing your data..." msgstr "正在准备您的数据…" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "下载您的数据" @@ -3702,7 +3766,7 @@ msgstr "您已成功注销。" msgid "You have sent too many password reset requests. Please try again later." msgstr "您发送了太多密码重置请求。请稍后再试。" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "修改邮件地址" @@ -3753,12 +3817,138 @@ msgstr "电子邮件修改成功" msgid "The email attached to your account has been changed to %s." msgstr "您帐户绑定的电子邮件已更改为 %s。" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "编辑器" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "预览" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "正在上传... 请稍候..." + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "没有要预览的内容" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "Markdown 指南" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "该网站由Markdown驱动。要查看完整文档,点击这里" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "代码" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "或" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "粗体" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "斜体" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "水平线" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "标题" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "LaTeX" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "引用" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "未排序的列表" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "已排序的列表" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "URL/链接" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "插入图片链接" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "上传图片" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "直接提及用户" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "全屏" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "Markdown 指南(帮助)" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "没有用户以%(username)s注册或该用户不活跃" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr " `username` 字段验证失败" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "您确定您要重新评判所有提交?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "评分" @@ -3778,13 +3968,13 @@ msgstr "终止" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" msgstr "禁用" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "启用" @@ -3847,7 +4037,7 @@ msgstr "自豪地由 **DMOJ** 打造" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "编辑" @@ -3960,7 +4150,7 @@ msgstr "{time}评论" msgid "edit %(edits)s" msgstr "编辑%(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "已编辑" @@ -3996,45 +4186,55 @@ msgstr "新评论" msgid "Invalid comment body." msgstr "无效的评论内容。" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "正在回复评论" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "编辑{edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "源语言" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "无法投票:{error}" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" msgstr "您确定要隐藏此评论吗?" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "无法隐藏评论。" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "已更新" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "更新评论失败。" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "无法编辑评论:{error}" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "你似乎想发布一些源代码。\n\n" +"请不要在评论区发表源代码。\n" +"如果你想提交你的解答,请使用”提交程序“。\n\n" +"你确定你想要发布这些内容吗?" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "评分人" @@ -4047,15 +4247,15 @@ msgstr "得分" msgid "No votes" msgstr "没有评分" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "点击复制" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "复制" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "复制成功!" @@ -4161,7 +4361,7 @@ msgstr "复制" msgid "Leave contest" msgstr "离开竞赛" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "参加虚拟竞赛" @@ -4332,7 +4532,7 @@ msgstr "积分板将被**隐藏** 直到您的窗口结束。" #: templates/contest/contest.html:167 msgid "The scoreboard will be **hidden** for the entire duration of the contest." -msgstr "整个比赛期间的记分板将被**隐藏**" +msgstr "整个比赛期间的记分板将被**隐藏**。" #: templates/contest/contest.html:169 msgid "The scoreboard will be **hidden**, even after the contest is over." @@ -4347,7 +4547,7 @@ msgid "AC Rate" msgstr "AC率" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "用户" @@ -4400,7 +4600,7 @@ msgid "Active contests" msgstr "正在进行的竞赛" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "竞赛" @@ -4423,10 +4623,18 @@ msgstr "%(countdown)s后开始" msgid "There are no scheduled contests at this time." msgstr "现在没有预定的竞赛。" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "过去的竞赛" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "搜索竞赛…" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "没有之前的竞赛。" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" msgstr "您确定要离开吗?" @@ -4758,10 +4966,6 @@ msgstr "踢出" msgid "Are you sure you want to kick this user?" msgstr "您确定您要踢掉这个用户?" -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "更新预览" - #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" msgstr "输入复制题目的新代码:" @@ -5150,11 +5354,11 @@ msgstr "发起评分" #: templates/problem/vote-ajax.html:25 msgid "Justification:" -msgstr "理由" +msgstr "理由:" #: templates/problem/vote-ajax.html:27 msgid "A short justification for your vote to this problem's point value (optional)." -msgstr "评分理由(可选)" +msgstr "评分理由(可选)。" #: templates/problem/vote-ajax.html:33 msgid "Vote!" @@ -5166,7 +5370,7 @@ msgstr "删除评分" #: templates/problem/vote-stats-ajax.html:7 msgid "No votes available!" -msgstr "暂无评分" +msgstr "暂无评分!" #: templates/problem/vote-stats-ajax.html:16 #, python-format @@ -5271,7 +5475,7 @@ msgstr "电子邮件更改请求 %(site_name)s" #: templates/registration/email_change_notify_email.txt:2 #, python-format msgid "Someone (hopefully you!) has requested to change the email address associated with your user account at %(site_name)s to %(new_email)s." -msgstr "有人(希望是您)要求将与您的用户帐户关联的电子邮件地址 %(site_name)s 更改为 %(new_email)s" +msgstr "有人(希望是您)要求将与您的用户帐户关联的电子邮件地址 %(site_name)s 更改为 %(new_email)s。" #: templates/registration/email_change_notify_email.html:11 #: templates/registration/email_change_notify_email.txt:4 @@ -5321,7 +5525,7 @@ msgstr "您的密码已成功更改。" #: templates/registration/password_change_form.html:7 msgid "We found your password in [a database of compromised passwords][0]." -msgstr "我们在 [一个密码损坏的数据库][0] 中找到您的密码。" +msgstr "我们在[一个密码损坏的数据库][0]中找到您的密码。" #: templates/registration/password_change_form.html:8 msgid "To protect your account, we are requiring you to change your password to a more secure password." @@ -5435,13 +5639,13 @@ msgid "Affiliated organizations" msgstr "关联的组织" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "通过Email发送未来竞赛的通知" #: templates/registration/registration_form.html:209 msgid "By registering, you agree to our [Terms & Conditions][0]." -msgstr "通过注册,您同意我们的 [条款和条件][0]。" +msgstr "通过注册,您同意我们的[条款和条件][0]。" #: templates/registration/registration_form.html:212 msgid "Register!" @@ -5485,17 +5689,17 @@ msgid "Enable Two Factor Authentication" msgstr "启用两因素认证" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "下面是一个一次性验证码列表。" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "这些代码只能在紧急情况时使用一次。" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "您可以使用这些代码登录您的帐户或禁用双重身份验证。" @@ -5504,7 +5708,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "如果你需要更多的验证码,你可以在编辑个人资料选项卡上重新生成它们。" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "请写下这些,并将其保留在一个安全的位置。" @@ -5522,12 +5726,12 @@ msgid "If you lose your authentication device and are unable to use your scratch msgstr "如果您丢失了身份验证设备并且无法使用刮刮代码,%(site_name)s 管理员将无法恢复您的帐户。请妥善保管您的刮刮代码!" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "你的浏览器不支持 WebAuthn。" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "联系服务器失败。" @@ -5889,144 +6093,144 @@ msgstr "排名" msgid "Search by handle..." msgstr "用户名搜索…" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "此站点的管理员要求所有员工启用双重身份验证,所以此时可能无法禁用。" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "您确定要生成或重新生成您的API令牌吗?" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "这将使任何之前的 API 令牌无效。" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "它还允许不需要双重身份验证而访问您的帐户。" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "离开此页面后,您将无法查看您的API令牌!" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "正在生成…" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "删除" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "您确定要删除您的API令牌吗?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "生成" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "您确定要删除此安全密钥吗?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "您确定要生成或重新生成一组新的验证码?" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "这将使您以前拥有的任何验证码无效。" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "离开此页面后,您将无法查看您的一次性代码!" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "自我描述:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "选择离您最近的主要城市" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "时区:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "默认语言:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" msgstr "网站主题" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "编辑器主题:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "数学引擎:" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" msgstr "关联的组织:" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "修改头像" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "更改密码" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "API令牌:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "隐藏" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" msgstr "已激活双元素认证:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" msgstr "一次性代码:" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "如果你需要更多的验证码,你可以在这里重新生成。" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" msgstr "已禁用双元素认证:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" msgstr "安全密钥:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "删除" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "输入此密钥的名称" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "添加" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" msgstr "用户脚本:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "更新资料" diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index d09af13fc3..46ffb69795 100644 --- a/locale/zh_Hant/LC_MESSAGES/django.po +++ b/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: dmoj\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-22 03:00+0000\n" -"PO-Revision-Date: 2024-11-03 00:59\n" +"POT-Creation-Date: 2025-01-12 06:11+0000\n" +"PO-Revision-Date: 2025-01-21 00:53\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -17,79 +17,79 @@ msgstr "" "X-Crowdin-File: django.po\n" "X-Crowdin-File-ID: 10\n" -#: dmoj/settings.py:395 +#: dmoj/settings.py:394 msgid "Catalan" msgstr "加泰隆尼亞語" -#: dmoj/settings.py:396 +#: dmoj/settings.py:395 msgid "German" msgstr "德語" -#: dmoj/settings.py:397 +#: dmoj/settings.py:396 msgid "Greek" msgstr "希臘語" -#: dmoj/settings.py:398 +#: dmoj/settings.py:397 msgid "English" msgstr "英語" -#: dmoj/settings.py:399 +#: dmoj/settings.py:398 msgid "Spanish" msgstr "西班牙語" -#: dmoj/settings.py:400 +#: dmoj/settings.py:399 msgid "French" msgstr "法語" -#: dmoj/settings.py:401 +#: dmoj/settings.py:400 msgid "Croatian" msgstr "克羅埃西亞語" -#: dmoj/settings.py:402 +#: dmoj/settings.py:401 msgid "Hungarian" msgstr "匈牙利語" -#: dmoj/settings.py:403 +#: dmoj/settings.py:402 msgid "Japanese" msgstr "日語" -#: dmoj/settings.py:404 +#: dmoj/settings.py:403 msgid "Kazakh" msgstr "哈薩克語" -#: dmoj/settings.py:405 +#: dmoj/settings.py:404 msgid "Korean" msgstr "韓語" -#: dmoj/settings.py:406 +#: dmoj/settings.py:405 msgid "Brazilian Portuguese" msgstr "葡萄牙語(巴西)" -#: dmoj/settings.py:407 +#: dmoj/settings.py:406 msgid "Romanian" msgstr "羅馬尼亞語" -#: dmoj/settings.py:408 +#: dmoj/settings.py:407 msgid "Russian" msgstr "俄語" -#: dmoj/settings.py:409 +#: dmoj/settings.py:408 msgid "Serbian (Latin)" msgstr "塞爾維亞語(拉丁字母)" -#: dmoj/settings.py:410 +#: dmoj/settings.py:409 msgid "Turkish" msgstr "土耳其語" -#: dmoj/settings.py:411 +#: dmoj/settings.py:410 msgid "Vietnamese" msgstr "越語" -#: dmoj/settings.py:412 +#: dmoj/settings.py:411 msgid "Simplified Chinese" msgstr "簡體中文" -#: dmoj/settings.py:413 +#: dmoj/settings.py:412 msgid "Traditional Chinese" msgstr "繁體中文" @@ -138,119 +138,119 @@ msgstr[0] "已顯示 %d 則留言。" msgid "associated page" msgstr "相連頁面" -#: judge/admin/contest.py:33 +#: judge/admin/contest.py:32 msgid "Included contests" msgstr "所含競賽" -#: judge/admin/contest.py:67 templates/contest/contest.html:195 +#: judge/admin/contest.py:66 templates/contest/contest.html:195 #: templates/contest/moss.html:41 templates/problem/list.html:188 #: templates/problem/list.html:204 templates/user/user-problems.html:58 #: templates/user/user-problems.html:102 msgid "Problem" msgstr "題目" -#: judge/admin/contest.py:68 judge/views/problem.py:355 +#: judge/admin/contest.py:67 judge/views/problem.py:355 #: templates/contest/contest.html:191 templates/user/user-tabs.html:5 #: templates/user/users-table.html:23 msgid "Problems" -msgstr "題庫" +msgstr "題目" -#: judge/admin/contest.py:79 judge/admin/submission.py:247 +#: judge/admin/contest.py:78 judge/admin/submission.py:250 #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 #: templates/submission/source.html:34 templates/submission/status.html:90 msgid "Rejudge" msgstr "重新評判" -#: judge/admin/contest.py:124 +#: judge/admin/contest.py:119 msgid "Settings" msgstr "設定" -#: judge/admin/contest.py:127 +#: judge/admin/contest.py:122 msgid "Scheduling" msgstr "排程" -#: judge/admin/contest.py:128 +#: judge/admin/contest.py:123 msgid "Details" msgstr "說明" -#: judge/admin/contest.py:129 +#: judge/admin/contest.py:124 msgid "Format" msgstr "格式" -#: judge/admin/contest.py:130 templates/contest/ranking-table.html:5 +#: judge/admin/contest.py:125 templates/contest/ranking-table.html:5 msgid "Rating" msgstr "積分" -#: judge/admin/contest.py:131 +#: judge/admin/contest.py:126 msgid "Access" msgstr "存取權" -#: judge/admin/contest.py:133 judge/admin/problem.py:136 +#: judge/admin/contest.py:128 judge/admin/problem.py:135 msgid "Justice" msgstr "裁定" -#: judge/admin/contest.py:227 +#: judge/admin/contest.py:222 msgid "Mark contests as visible" msgstr "公開競賽" -#: judge/admin/contest.py:232 +#: judge/admin/contest.py:227 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "已公開 %d 場競賽。" -#: judge/admin/contest.py:236 +#: judge/admin/contest.py:231 msgid "Mark contests as hidden" msgstr "私藏競賽" -#: judge/admin/contest.py:241 +#: judge/admin/contest.py:236 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "已私藏 %d 場競賽。" -#: judge/admin/contest.py:245 +#: judge/admin/contest.py:240 msgid "Lock contest submissions" msgstr "暫停收受競賽稿件" -#: judge/admin/contest.py:250 +#: judge/admin/contest.py:245 #, python-format msgid "%d contest successfully locked." msgid_plural "%d contests successfully locked." msgstr[0] "已暫停 %d 場競賽的稿件收受。" -#: judge/admin/contest.py:254 +#: judge/admin/contest.py:249 msgid "Unlock contest submissions" msgstr "開始收受競賽稿件" -#: judge/admin/contest.py:259 +#: judge/admin/contest.py:254 #, python-format msgid "%d contest successfully unlocked." msgid_plural "%d contests successfully unlocked." msgstr[0] "已開始 %d 場競賽的稿件收受。" -#: judge/admin/contest.py:286 judge/admin/submission.py:179 +#: judge/admin/contest.py:281 judge/admin/submission.py:182 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "已將 %d 份稿件列入重新評判排程。" -#: judge/admin/contest.py:361 +#: judge/admin/contest.py:356 msgid "Recalculate results" msgstr "賽況驗算" -#: judge/admin/contest.py:367 +#: judge/admin/contest.py:362 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "已為 %d 名選手驗算競賽結果。" -#: judge/admin/contest.py:371 judge/admin/organization.py:110 +#: judge/admin/contest.py:366 judge/admin/organization.py:110 msgid "username" msgstr "使用者名稱" -#: judge/admin/contest.py:375 templates/base.html:259 +#: judge/admin/contest.py:370 templates/base.html:259 msgid "virtual" msgstr "模擬競賽" @@ -262,9 +262,9 @@ msgstr "超連結路徑" msgid "Summary" msgstr "摘要" -#: judge/admin/interface.py:125 judge/admin/profile.py:107 -#: judge/admin/submission.py:220 judge/models/contest.py:500 -#: judge/models/contest.py:632 judge/models/profile.py:349 +#: judge/admin/interface.py:125 judge/admin/profile.py:106 +#: judge/admin/submission.py:223 judge/models/contest.py:502 +#: judge/models/contest.py:634 judge/models/profile.py:349 #: judge/models/profile.py:380 judge/models/submission.py:67 #: judge/models/ticket.py:32 msgid "user" @@ -274,132 +274,132 @@ msgstr "使用者" msgid "object" msgstr "物件" -#: judge/admin/organization.py:83 judge/admin/problem.py:183 -#: judge/admin/profile.py:105 +#: judge/admin/organization.py:83 judge/admin/problem.py:185 +#: judge/admin/profile.py:104 msgid "View on site" msgstr "在網站上檢視" -#: judge/admin/problem.py:21 +#: judge/admin/problem.py:22 msgid "Edit reason" msgstr "編輯理由" -#: judge/admin/problem.py:30 +#: judge/admin/problem.py:31 msgid "Describe the changes you made (optional)" msgstr "解釋你所做的改變(可選)" -#: judge/admin/problem.py:131 +#: judge/admin/problem.py:130 msgid "Social Media" msgstr "社群媒體" -#: judge/admin/problem.py:132 +#: judge/admin/problem.py:131 msgid "Taxonomy" msgstr "分類" -#: judge/admin/problem.py:133 templates/contest/contest.html:196 +#: judge/admin/problem.py:132 templates/contest/contest.html:196 #: templates/problem/data.html:390 templates/problem/list.html:193 #: templates/problem/list.html:215 templates/user/base-users-table.html:11 #: templates/user/user-problems.html:60 msgid "Points" msgstr "分數" -#: judge/admin/problem.py:134 +#: judge/admin/problem.py:133 msgid "Limits" msgstr "限制" -#: judge/admin/problem.py:135 templates/problem/submission-diff.html:65 +#: judge/admin/problem.py:134 templates/problem/submission-diff.html:65 #: templates/stats/tabs.html:4 templates/submission/list.html:319 msgid "Language" msgstr "語言" -#: judge/admin/problem.py:137 +#: judge/admin/problem.py:136 msgid "History" msgstr "歷史記錄" -#: judge/admin/problem.py:177 judge/models/contest.py:70 -#: judge/models/interface.py:67 judge/models/problem.py:553 +#: judge/admin/problem.py:179 judge/models/contest.py:70 +#: judge/models/interface.py:67 judge/models/problem.py:554 msgid "authors" msgstr "作者" -#: judge/admin/problem.py:189 +#: judge/admin/problem.py:191 msgid "Set publish date to now" msgstr "將發佈日期設為現在" -#: judge/admin/problem.py:192 +#: judge/admin/problem.py:194 #, python-format msgid "%d problem's publish date successfully updated." msgid_plural "%d problems' publish date successfully updated." msgstr[0] "已更新 %d 個題目的發佈日期。" -#: judge/admin/problem.py:196 +#: judge/admin/problem.py:198 msgid "Mark problems as public" msgstr "公開題目" -#: judge/admin/problem.py:201 +#: judge/admin/problem.py:205 #, python-format msgid "%d problem successfully marked as public." msgid_plural "%d problems successfully marked as public." msgstr[0] "已公開 %d 個題目。" -#: judge/admin/problem.py:205 +#: judge/admin/problem.py:209 msgid "Mark problems as private" msgstr "隱藏題目" -#: judge/admin/problem.py:210 +#: judge/admin/problem.py:216 #, python-format msgid "%d problem successfully marked as private." msgid_plural "%d problems successfully marked as private." msgstr[0] "已隱藏 %d 個題目。" -#: judge/admin/problem.py:268 judge/models/contest.py:592 -#: judge/models/contest.py:617 judge/models/contest.py:657 -#: judge/models/problem.py:505 judge/models/problem.py:510 -#: judge/models/problem.py:533 judge/models/problem.py:593 +#: judge/admin/problem.py:281 judge/models/contest.py:594 +#: judge/models/contest.py:619 judge/models/contest.py:659 +#: judge/models/problem.py:506 judge/models/problem.py:511 +#: judge/models/problem.py:534 judge/models/problem.py:594 #: judge/models/problem_data.py:35 judge/models/submission.py:68 msgid "problem" msgstr "題目" -#: judge/admin/profile.py:36 judge/admin/profile.py:115 +#: judge/admin/profile.py:35 judge/admin/profile.py:114 msgid "timezone" msgstr "時區" -#: judge/admin/profile.py:111 +#: judge/admin/profile.py:110 msgid "email" msgstr "電子郵件" -#: judge/admin/profile.py:119 +#: judge/admin/profile.py:118 msgid "date joined" msgstr "加入日期" -#: judge/admin/profile.py:123 +#: judge/admin/profile.py:122 msgid "Recalculate scores" msgstr "成績驗算" -#: judge/admin/profile.py:129 +#: judge/admin/profile.py:128 #, python-format msgid "%d user had scores recalculated." msgid_plural "%d users had scores recalculated." msgstr[0] "已為 %d 名選手驗算競賽成績。" -#: judge/admin/runtime.py:55 templates/user/edit-profile.html:119 -#: templates/user/edit-profile.html:241 templates/user/edit-profile.html:358 -#: templates/user/edit-profile.html:388 +#: judge/admin/runtime.py:54 templates/user/edit-profile.html:120 +#: templates/user/edit-profile.html:242 templates/user/edit-profile.html:359 +#: templates/user/edit-profile.html:389 msgid "Regenerate" msgstr "重新生成" -#: judge/admin/runtime.py:69 +#: judge/admin/runtime.py:68 msgid "Description" msgstr "描述說明" -#: judge/admin/runtime.py:70 +#: judge/admin/runtime.py:69 msgid "Information" msgstr "資訊" -#: judge/admin/runtime.py:71 +#: judge/admin/runtime.py:70 msgid "Capabilities" msgstr "Capabilities" #: judge/admin/submission.py:26 judge/admin/submission.py:45 -#: judge/admin/submission.py:232 +#: judge/admin/submission.py:235 msgid "None" msgstr "無" @@ -415,76 +415,76 @@ msgstr "錯誤" msgid "Unaccepted" msgstr "不接受" -#: judge/admin/submission.py:87 +#: judge/admin/submission.py:86 #, python-format msgid "%s (spectating)" msgstr "%s(旁觀中)" -#: judge/admin/submission.py:89 +#: judge/admin/submission.py:88 #, python-format msgid "%s (virtual %d)" msgstr "%s(模擬競賽 %d)" -#: judge/admin/submission.py:96 +#: judge/admin/submission.py:95 #, python-format msgctxt "contest problem" msgid "%(problem)s in %(contest)s" msgstr "%(contest)s 中的 %(problem)s" -#: judge/admin/submission.py:161 +#: judge/admin/submission.py:164 msgid "Rejudge the selected submissions" -msgstr "重新評分提交" +msgstr "重新評測選取的提交紀錄" -#: judge/admin/submission.py:164 judge/admin/submission.py:186 +#: judge/admin/submission.py:167 judge/admin/submission.py:189 msgid "You do not have the permission to rejudge submissions." -msgstr "你沒有重新評分提交的權限。" +msgstr "你沒有重新評測提交紀錄的權限。" -#: judge/admin/submission.py:170 +#: judge/admin/submission.py:173 msgid "You do not have the permission to rejudge THAT many submissions." -msgstr "你沒有重新評分這麼多提交的權限。" +msgstr "你沒有重新評分這麼多提交紀錄的權限。" -#: judge/admin/submission.py:183 +#: judge/admin/submission.py:186 msgid "Rescore the selected submissions" -msgstr "重新計分提交" +msgstr "重新計分選取的提交紀錄" -#: judge/admin/submission.py:208 judge/views/problem_manage.py:129 +#: judge/admin/submission.py:211 judge/views/problem_manage.py:129 #, python-format msgid "%d submission was successfully rescored." msgid_plural "%d submissions were successfully rescored." -msgstr[0] "%d 筆提交已重新計分。" +msgstr[0] "已成功重新計分%d筆提交紀錄。" -#: judge/admin/submission.py:212 judge/models/problem.py:117 +#: judge/admin/submission.py:215 judge/models/problem.py:117 msgid "problem code" msgstr "題目代碼" -#: judge/admin/submission.py:216 judge/models/problem.py:120 +#: judge/admin/submission.py:219 judge/models/problem.py:120 msgid "problem name" msgstr "題目名稱" -#: judge/admin/submission.py:224 +#: judge/admin/submission.py:227 msgid "time" msgstr "時間" -#: judge/admin/submission.py:228 +#: judge/admin/submission.py:231 msgid "memory" msgstr "記憶體" -#: judge/admin/submission.py:234 +#: judge/admin/submission.py:237 #, python-format msgid "%d KB" msgstr "%d KB" -#: judge/admin/submission.py:236 +#: judge/admin/submission.py:239 #, python-format msgid "%.2f MB" msgstr "%.2f MB" -#: judge/admin/submission.py:238 judge/models/problem.py:511 -#: judge/models/problem.py:534 judge/models/runtime.py:111 +#: judge/admin/submission.py:241 judge/models/problem.py:512 +#: judge/models/problem.py:535 judge/models/runtime.py:111 msgid "language" msgstr "語言" -#: judge/admin/submission.py:245 +#: judge/admin/submission.py:248 msgid "Locked" msgstr "已鎖定" @@ -502,22 +502,22 @@ msgstr "這個類型中包含這些題目。" #: judge/apps.py:8 msgid "Online Judge" -msgstr "線上裁判" +msgstr "Online Judge" -#: judge/comments.py:41 +#: judge/comments.py:39 msgid "Comment body" msgstr "留言內文" -#: judge/comments.py:47 judge/views/comment.py:41 judge/views/ticket.py:46 +#: judge/comments.py:45 judge/views/comment.py:42 judge/views/ticket.py:44 #: judge/views/user.py:353 msgid "Your part is silent, little toad." -msgstr "" +msgstr "你已被禁言" -#: judge/comments.py:49 templates/comments/list.html:146 +#: judge/comments.py:47 templates/comments/list.html:146 msgid "You must solve at least one problem before your voice can be heard." msgstr "你必須要解決至少一道題目才能留言。" -#: judge/comments.py:96 +#: judge/comments.py:94 msgid "Posted comment" msgstr "已留下之留言" @@ -582,7 +582,7 @@ msgstr "ICPC" #: judge/contest_format/icpc.py:137 msgid "Ties will be broken by the sum of the last score altering submission time on problems with a non-zero score, followed by the time of the last score altering submission." -msgstr "" +msgstr "如果出現成績相同的情況,首先比較所有得分題目中最後一次改變分數的提交時間之總和,時間較短者排名靠前;若仍相同,則比較最後一次改變分數的提交時間,時間較早者排名靠前。" #: judge/contest_format/ioi.py:11 msgid "IOI" @@ -590,137 +590,137 @@ msgstr "IOI" #: judge/contest_format/ioi.py:96 msgid "The maximum score for each problem batch will be used." -msgstr "" +msgstr "採用各個子題取得最高分數的提交。" #: judge/contest_format/ioi.py:99 judge/contest_format/legacy_ioi.py:100 msgid "Ties will be broken by the sum of the last score altering submission time on problems with a non-zero score." -msgstr "" +msgstr "同分時的排名將會由最後一次改變分數的提交決定。" #: judge/contest_format/legacy_ioi.py:18 msgid "IOI (pre-2016)" msgstr "IOI(2016 年前賽制)" -#: judge/forms.py:31 +#: judge/forms.py:30 #, python-brace-format msgid "Two-factor authentication tokens must be {count} decimal digit." msgid_plural "Two-factor authentication tokens must be {count} decimal digits." -msgstr[0] "兩步驟驗證碼必須為 {count} 位數字" +msgstr[0] "兩步驟驗證碼必須為 {count} 位數字。" -#: judge/forms.py:36 +#: judge/forms.py:35 msgid "Invalid two-factor authentication token." -msgstr "無效的兩步驟驗證碼" +msgstr "無效的兩步驟驗證碼。" -#: judge/forms.py:39 +#: judge/forms.py:38 msgid "Scratch codes must be 16 Base32 characters." -msgstr "備用碼必須由 16 個 Base32 字元組成" +msgstr "備用碼必須由 16 個 Base32 字元組成。" -#: judge/forms.py:41 judge/forms.py:288 +#: judge/forms.py:40 judge/forms.py:282 msgid "Invalid scratch code." -msgstr "無效的備用碼" +msgstr "無效的備用碼。" -#: judge/forms.py:48 +#: judge/forms.py:47 msgid "Subscribe to contest updates" msgstr "接收有關競賽的更新通知" -#: judge/forms.py:49 +#: judge/forms.py:48 msgid "Enable experimental features" msgstr "啟用實驗性功能" -#: judge/forms.py:74 +#: judge/forms.py:69 msgid "You must solve at least one problem before you can update your profile." msgstr "您必須解開至少一道問題才可以更新您的個人檔案。" -#: judge/forms.py:82 judge/views/organization.py:176 judge/views/register.py:50 +#: judge/forms.py:77 judge/views/organization.py:176 judge/views/register.py:50 #, python-brace-format msgid "You may not be part of more than {count} public organization." msgid_plural "You may not be part of more than {count} public organizations." msgstr[0] "您不能同時加入多於{count}個公共組織。" -#: judge/forms.py:110 +#: judge/forms.py:105 msgid "This email address is already taken." -msgstr "此電子郵件已被使用" +msgstr "此電子郵件已被使用。" -#: judge/forms.py:116 +#: judge/forms.py:111 msgid "Invalid password" msgstr "密碼錯誤" -#: judge/forms.py:121 +#: judge/forms.py:116 msgid "Download comments?" msgstr "下載評論?" -#: judge/forms.py:122 +#: judge/forms.py:117 msgid "Download submissions?" msgstr "下載提交紀錄?" -#: judge/forms.py:123 +#: judge/forms.py:118 msgid "Filter by problem code glob:" -msgstr "依題目代碼篩選" +msgstr "依題目代碼篩選:" -#: judge/forms.py:127 +#: judge/forms.py:122 msgid "Leave empty to include all submissions" msgstr "留空以包含所有提交" -#: judge/forms.py:130 templates/problem/manage_submission.html:144 +#: judge/forms.py:125 templates/problem/manage_submission.html:144 msgid "Filter by result:" msgstr "依結果過濾:" -#: judge/forms.py:136 +#: judge/forms.py:131 msgid "Please select at least one thing to download." msgstr "請至少選擇一個項目下載。" -#: judge/forms.py:162 +#: judge/forms.py:157 msgid "Any judge" msgstr "任何評測伺服器" -#: judge/forms.py:183 judge/views/register.py:22 +#: judge/forms.py:177 judge/views/register.py:22 #: templates/problem/submission-diff.html:63 #: templates/registration/registration_form.html:139 #: templates/user/base-users-table.html:6 msgid "Username" msgstr "使用者名稱" -#: judge/forms.py:184 templates/registration/registration_form.html:151 +#: judge/forms.py:178 templates/registration/registration_form.html:151 #: templates/registration/registration_form.html:165 msgid "Password" msgstr "密碼" -#: judge/forms.py:216 +#: judge/forms.py:210 msgid "Invalid code length." msgstr "程式碼長度無效。" -#: judge/forms.py:247 +#: judge/forms.py:241 msgid "Invalid WebAuthn response." msgstr "WebAuthn 回應無效。" -#: judge/forms.py:250 +#: judge/forms.py:244 msgid "No WebAuthn challenge issued." msgstr "" -#: judge/forms.py:256 +#: judge/forms.py:250 msgid "Invalid WebAuthn credential ID." msgstr "" -#: judge/forms.py:286 +#: judge/forms.py:280 msgid "Invalid two-factor authentication token or scratch code." msgstr "兩步驟驗證碼或備用碼無效。" -#: judge/forms.py:290 +#: judge/forms.py:284 msgid "Must specify either totp_token or webauthn_response." msgstr "" -#: judge/forms.py:294 judge/models/problem.py:118 +#: judge/forms.py:288 judge/models/problem.py:118 msgid "Problem code must be ^[a-z0-9]+$" msgstr "題目代碼必須符合 ^[a-z0-9]+$。" -#: judge/forms.py:299 +#: judge/forms.py:293 msgid "Problem with code already exists." msgstr "此題目代號已經存在。" -#: judge/forms.py:304 judge/models/contest.py:68 +#: judge/forms.py:298 judge/models/contest.py:68 msgid "Contest id must be ^[a-z0-9]+$" msgstr "競賽 ID 必須符合 ^[a-z0-9]+$。" -#: judge/forms.py:309 +#: judge/forms.py:303 msgid "Contest with key already exists." msgstr "" @@ -729,6 +729,66 @@ msgstr "" msgid "N j, Y, g:i a" msgstr "Y年n月j日 G:i" +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s B" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s KB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s MB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s GB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s TB" +msgstr "" + +#: judge/jinja2/filesize.py:33 +#, python-format +msgid "%s PB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sB" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sK" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sM" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sG" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sT" +msgstr "" + +#: judge/jinja2/filesize.py:40 +#, python-format +msgid "%sP" +msgstr "" + #: judge/jinja2/rating.py:24 msgid "Unrated" msgstr "未評分" @@ -810,7 +870,7 @@ msgid "comments" msgstr "評論" #: judge/models/comment.py:75 judge/models/comment.py:127 -#: judge/models/problem.py:564 +#: judge/models/problem.py:565 #, python-format msgid "Editorial for %s" msgstr "%s的題解" @@ -864,7 +924,7 @@ msgstr "標籤描述" msgid "contest tag" msgstr "競賽標籤" -#: judge/models/contest.py:53 judge/models/contest.py:153 +#: judge/models/contest.py:53 judge/models/contest.py:155 msgid "contest tags" msgstr "競賽標籤" @@ -918,7 +978,7 @@ msgstr "測試人員可以看到記分板" #: judge/models/contest.py:81 msgid "If testers can see the scoreboard." -msgstr "測試人員是否可見記分板" +msgstr "測試人員是否可見記分板。" #: judge/models/contest.py:82 msgid "testers see submissions" @@ -940,12 +1000,12 @@ msgstr "這些用戶將能夠旁觀比賽,但無法提前看到題目。" msgid "description" msgstr "描述" -#: judge/models/contest.py:89 judge/models/problem.py:506 +#: judge/models/contest.py:89 judge/models/problem.py:507 #: judge/models/runtime.py:144 msgid "problems" msgstr "題目" -#: judge/models/contest.py:90 judge/models/contest.py:501 +#: judge/models/contest.py:90 judge/models/contest.py:503 msgid "start time" msgstr "開始時間" @@ -954,7 +1014,7 @@ msgid "end time" msgstr "結束時間" #: judge/models/contest.py:92 judge/models/problem.py:137 -#: judge/models/problem.py:535 +#: judge/models/problem.py:536 msgid "time limit" msgstr "時間限制" @@ -972,7 +1032,7 @@ msgstr "此次競賽會被計分" #: judge/models/contest.py:97 msgid "Whether this contest can be rated." -msgstr "此次競賽是否計入排行榜" +msgstr "此次競賽是否計入排行榜。" #: judge/models/contest.py:99 msgid "view contest scoreboard" @@ -984,7 +1044,7 @@ msgstr "這些使用者將可以查看排行榜。" #: judge/models/contest.py:102 msgid "can see contest submissions" -msgstr "查看競賽提交" +msgstr "查看競賽提交紀錄" #: judge/models/contest.py:104 msgid "These users will be able to see in-contest submissions." @@ -996,7 +1056,7 @@ msgstr "記分板可見性" #: judge/models/contest.py:107 msgid "Scoreboard visibility through the duration of the contest." -msgstr "比賽期間的記分板可見性" +msgstr "比賽期間的記分板可見性。" #: judge/models/contest.py:109 msgid "no comments" @@ -1004,7 +1064,7 @@ msgstr "禁止評論" #: judge/models/contest.py:110 msgid "Use clarification system instead of comments." -msgstr "僅限使用回報系統" +msgstr "僅限使用回報系統。" #: judge/models/contest.py:112 msgid "rating floor" @@ -1012,7 +1072,7 @@ msgstr "分數下限" #: judge/models/contest.py:113 msgid "Do not rate users who have a lower rating." -msgstr "不要給低於此分數的使用者計分" +msgstr "不要給低於此分數的使用者計分。" #: judge/models/contest.py:114 msgid "rating ceiling" @@ -1020,386 +1080,386 @@ msgstr "分數上限" #: judge/models/contest.py:115 msgid "Do not rate users who have a higher rating." -msgstr "不要給高於此分數的使用者計分" +msgstr "不要給高於此分數的使用者計分。" #: judge/models/contest.py:117 msgid "rate all" msgstr "一律計分" -#: judge/models/contest.py:117 -msgid "Rate all users who joined." -msgstr "為所有參賽者計分。" - #: judge/models/contest.py:118 +msgid "Rate users even if they make no submissions." +msgstr "" + +#: judge/models/contest.py:120 msgid "exclude from ratings" msgstr "排除計分" -#: judge/models/contest.py:120 +#: judge/models/contest.py:122 msgid "private to specific users" msgstr "僅對特定使用者可見" -#: judge/models/contest.py:121 +#: judge/models/contest.py:123 msgid "private contestants" msgstr "私密參賽者" -#: judge/models/contest.py:122 +#: judge/models/contest.py:124 msgid "If non-empty, only these users may see the contest." msgstr "如果非空白,只有被選的使用者可見此競賽。" -#: judge/models/contest.py:124 +#: judge/models/contest.py:126 msgid "hide problem tags" msgstr "隱藏題目標籤" -#: judge/models/contest.py:125 +#: judge/models/contest.py:127 msgid "Whether problem tags should be hidden by default." msgstr "是否預設隱藏題目標籤。" -#: judge/models/contest.py:127 +#: judge/models/contest.py:129 msgid "hide problem authors" msgstr "隱藏題目作者" -#: judge/models/contest.py:128 +#: judge/models/contest.py:130 msgid "Whether problem authors should be hidden by default." msgstr "是否預設隱藏題目做者。" -#: judge/models/contest.py:130 +#: judge/models/contest.py:132 msgid "run pretests only" msgstr "僅運行前測" -#: judge/models/contest.py:131 +#: judge/models/contest.py:133 msgid "Whether judges should grade pretests only, versus all testcases. Commonly set during a contest, then unset prior to rejudging user submissions when the contest ends." msgstr "設置裁判服務器是否只運行前測而不是所有測試。通常在競賽進行時啟用,然後在競賽結束後重新評分前關閉。" -#: judge/models/contest.py:135 +#: judge/models/contest.py:137 msgid "show short form settings display" msgstr "顯示簡易設定" -#: judge/models/contest.py:136 +#: judge/models/contest.py:138 msgid "Whether to show a section containing contest settings on the contest page or not." msgstr "是否在比賽頁面顯示設定選項。" -#: judge/models/contest.py:139 judge/models/problem.py:181 +#: judge/models/contest.py:141 judge/models/problem.py:181 msgid "private to organizations" msgstr "僅對組織可見" -#: judge/models/contest.py:140 judge/models/problem.py:179 +#: judge/models/contest.py:142 judge/models/problem.py:179 #: judge/models/profile.py:99 msgid "organizations" msgstr "組織" -#: judge/models/contest.py:141 +#: judge/models/contest.py:143 msgid "If non-empty, only these organizations may see the contest." msgstr "如果非空白,只有被選的組織成員可見此競賽。" -#: judge/models/contest.py:142 +#: judge/models/contest.py:144 msgid "limit organizations that can join" msgstr "限制可加入的組織" -#: judge/models/contest.py:143 +#: judge/models/contest.py:145 msgid "join organizations" msgstr "加入組織" -#: judge/models/contest.py:144 +#: judge/models/contest.py:146 msgid "If non-empty, only these organizations may join the contest." msgstr "如果非空白,只有被選的組織可加入此競賽。" -#: judge/models/contest.py:146 judge/models/profile.py:143 +#: judge/models/contest.py:148 judge/models/profile.py:143 msgid "classes" msgstr "班級" -#: judge/models/contest.py:147 +#: judge/models/contest.py:149 msgid "If organization private, only these classes may see the contest." msgstr "如果是私人組織,只有被選的班級可見此競賽。" -#: judge/models/contest.py:148 judge/models/interface.py:74 +#: judge/models/contest.py:150 judge/models/interface.py:74 #: judge/models/problem.py:165 msgid "OpenGraph image" msgstr "OpenGraph 圖片" -#: judge/models/contest.py:149 judge/models/profile.py:58 +#: judge/models/contest.py:151 judge/models/profile.py:58 msgid "logo override image" msgstr "覆寫網站圖示" -#: judge/models/contest.py:151 +#: judge/models/contest.py:153 msgid "This image will replace the default site logo for users inside the contest." -msgstr "此圖片將取代參賽者的預設網站圖示" +msgstr "此圖片將取代參賽者的預設網站圖示。" -#: judge/models/contest.py:154 +#: judge/models/contest.py:156 msgid "the amount of live participants" msgstr "實時參賽人數" -#: judge/models/contest.py:155 +#: judge/models/contest.py:157 msgid "contest summary" msgstr "競賽簡介" -#: judge/models/contest.py:156 judge/models/problem.py:167 +#: judge/models/contest.py:158 judge/models/problem.py:167 msgid "Plain-text, shown in meta description tag, e.g. for social media." msgstr "顯示在 meta 描述標籤中的純文字,例如社群媒體的連結描述。" -#: judge/models/contest.py:157 judge/models/profile.py:57 +#: judge/models/contest.py:159 judge/models/profile.py:57 #: judge/models/profile.py:110 msgid "access code" msgstr "加入代碼" -#: judge/models/contest.py:158 +#: judge/models/contest.py:160 msgid "An optional code to prompt contestants before they are allowed to join the contest. Leave it blank to disable." -msgstr "(可選) 加入比賽所需的代碼,留空以停用。" +msgstr "(可選)加入比賽所需的代碼,留空以停用。" -#: judge/models/contest.py:160 judge/models/problem.py:161 +#: judge/models/contest.py:162 judge/models/problem.py:161 msgid "personae non gratae" msgstr "黑名單" -#: judge/models/contest.py:161 +#: judge/models/contest.py:163 msgid "Bans the selected users from joining this contest." msgstr "禁止以上使用者參加此競賽。" -#: judge/models/contest.py:162 +#: judge/models/contest.py:164 msgid "contest format" msgstr "競賽格式" -#: judge/models/contest.py:163 +#: judge/models/contest.py:165 msgid "The contest format module to use." msgstr "競賽模式使用的模板。" -#: judge/models/contest.py:164 +#: judge/models/contest.py:166 msgid "contest format configuration" msgstr "競賽模式設置" -#: judge/models/contest.py:165 +#: judge/models/contest.py:167 msgid "A JSON object to serve as the configuration for the chosen contest format module. Leave empty to use None. Exact format depends on the contest format selected." msgstr "以 JSON 物件作為所選比賽模式的設定,留空以停用。具體格式將依據所選比賽格式而定。" -#: judge/models/contest.py:168 +#: judge/models/contest.py:170 msgid "contest problem label script" msgstr "競賽題目標籤腳本" -#: judge/models/contest.py:169 +#: judge/models/contest.py:171 msgid "A custom Lua function to generate problem labels. Requires a single function with an integer parameter, the zero-indexed contest problem index, and returns a string, the label." msgstr "自訂的 Lua 函數,用於生成題目標籤。該函數需要接受一個整數參數(從零開始的比賽題目索引),並回傳一個字串作為標籤。" -#: judge/models/contest.py:172 +#: judge/models/contest.py:174 msgid "contest lock" msgstr "競賽鎖定" -#: judge/models/contest.py:173 +#: judge/models/contest.py:175 msgid "Prevent submissions from this contest from being rejudged after this date." -msgstr "禁止此日期以後的提交" +msgstr "禁止此日期以後的提交。" -#: judge/models/contest.py:175 +#: judge/models/contest.py:177 msgid "precision points" msgstr "分數精度" -#: judge/models/contest.py:177 +#: judge/models/contest.py:179 msgid "Number of digits to round points to." msgstr "將分數四捨五入到的小數位數。" -#: judge/models/contest.py:479 +#: judge/models/contest.py:481 msgid "See private contests" msgstr "查看私人競賽" -#: judge/models/contest.py:480 +#: judge/models/contest.py:482 msgid "Edit own contests" msgstr "編輯我的競賽" -#: judge/models/contest.py:481 +#: judge/models/contest.py:483 msgid "Edit all contests" msgstr "編輯所有競賽" -#: judge/models/contest.py:482 +#: judge/models/contest.py:484 msgid "Clone contest" msgstr "複製競賽" -#: judge/models/contest.py:483 templates/contest/moss.html:76 +#: judge/models/contest.py:485 templates/contest/moss.html:76 msgid "MOSS contest" msgstr "MOSS競賽" -#: judge/models/contest.py:484 +#: judge/models/contest.py:486 msgid "Rate contests" msgstr "計分的競賽" -#: judge/models/contest.py:485 +#: judge/models/contest.py:487 msgid "Contest access codes" msgstr "競賽加入代碼" -#: judge/models/contest.py:486 +#: judge/models/contest.py:488 msgid "Create private contests" msgstr "創建私人競賽" -#: judge/models/contest.py:487 +#: judge/models/contest.py:489 msgid "Change contest visibility" msgstr "更改競賽可見性" -#: judge/models/contest.py:488 +#: judge/models/contest.py:490 msgid "Edit contest problem label script" msgstr "編輯競賽題目標籤腳本" -#: judge/models/contest.py:489 +#: judge/models/contest.py:491 msgid "Change lock status of contest" msgstr "更改競賽鎖定狀態" -#: judge/models/contest.py:491 judge/models/contest.py:593 -#: judge/models/contest.py:633 judge/models/contest.py:656 +#: judge/models/contest.py:493 judge/models/contest.py:595 +#: judge/models/contest.py:635 judge/models/contest.py:658 #: judge/models/submission.py:88 msgid "contest" msgstr "競賽" -#: judge/models/contest.py:492 +#: judge/models/contest.py:494 msgid "contests" msgstr "競賽" -#: judge/models/contest.py:499 +#: judge/models/contest.py:501 msgid "associated contest" msgstr "關聯的競賽" -#: judge/models/contest.py:502 +#: judge/models/contest.py:504 msgid "score" msgstr "得分" -#: judge/models/contest.py:503 +#: judge/models/contest.py:505 msgid "cumulative time" msgstr "累計時間" -#: judge/models/contest.py:504 +#: judge/models/contest.py:506 msgid "is disqualified" msgstr "已被取消資格" -#: judge/models/contest.py:505 +#: judge/models/contest.py:507 msgid "Whether this participation is disqualified." msgstr "此參與是否被取消資格。" -#: judge/models/contest.py:506 +#: judge/models/contest.py:508 msgid "tie-breaking field" msgstr "同分判定欄位" -#: judge/models/contest.py:507 +#: judge/models/contest.py:509 msgid "virtual participation id" msgstr "模擬競賽加入代碼" -#: judge/models/contest.py:508 +#: judge/models/contest.py:510 msgid "0 means non-virtual, otherwise the n-th virtual participation." msgstr "0 表示非模擬參與,否則為第 n 次模擬參與。" -#: judge/models/contest.py:509 +#: judge/models/contest.py:511 msgid "contest format specific data" msgstr "" -#: judge/models/contest.py:577 +#: judge/models/contest.py:579 #, python-format msgid "%(user)s spectating in %(contest)s" msgstr "%(user)s 正在觀賽 %(contest)s " -#: judge/models/contest.py:579 +#: judge/models/contest.py:581 #, python-format msgid "%(user)s in %(contest)s, v%(id)d" msgstr "%(user)s 第%(id)d 次模擬參與 %(contest)s " -#: judge/models/contest.py:582 +#: judge/models/contest.py:584 #, python-format msgid "%(user)s in %(contest)s" msgstr "%(contest)s 中的 %(user)s" -#: judge/models/contest.py:585 +#: judge/models/contest.py:587 msgid "contest participation" msgstr "競賽參與資訊" -#: judge/models/contest.py:586 +#: judge/models/contest.py:588 msgid "contest participations" msgstr "競賽參與資訊" -#: judge/models/contest.py:594 judge/models/contest.py:621 +#: judge/models/contest.py:596 judge/models/contest.py:623 #: judge/models/problem.py:148 msgid "points" msgstr "分" -#: judge/models/contest.py:595 +#: judge/models/contest.py:597 msgid "partial" msgstr "部分" -#: judge/models/contest.py:596 judge/models/contest.py:622 +#: judge/models/contest.py:598 judge/models/contest.py:624 msgid "is pretested" msgstr "僅通過預測試" -#: judge/models/contest.py:597 judge/models/interface.py:43 +#: judge/models/contest.py:599 judge/models/interface.py:43 msgid "order" msgstr "順序" -#: judge/models/contest.py:598 +#: judge/models/contest.py:600 msgid "output prefix length override" -msgstr "输出前綴替换" +msgstr "替換輸出前綴" -#: judge/models/contest.py:600 +#: judge/models/contest.py:602 msgid "max submissions" msgstr "提交次數上限" -#: judge/models/contest.py:601 +#: judge/models/contest.py:603 msgid "Maximum number of submissions for this problem, or leave blank for no limit." msgstr "本題最多可以提交的次數,留空表示無限制。" -#: judge/models/contest.py:604 +#: judge/models/contest.py:606 msgid "Why include a problem you can't submit to?" -msgstr "為甚麼包含一個你不能作答的題目?" +msgstr "為甚麼包含一個你不能作答的題目?" -#: judge/models/contest.py:609 +#: judge/models/contest.py:611 msgid "contest problem" msgstr "競賽題目" -#: judge/models/contest.py:610 +#: judge/models/contest.py:612 msgid "contest problems" msgstr "競賽題目" -#: judge/models/contest.py:615 judge/models/submission.py:231 +#: judge/models/contest.py:617 judge/models/submission.py:231 msgid "submission" -msgstr "提交" +msgstr "提交紀錄" -#: judge/models/contest.py:619 judge/models/contest.py:634 +#: judge/models/contest.py:621 judge/models/contest.py:636 msgid "participation" msgstr "參與" -#: judge/models/contest.py:623 +#: judge/models/contest.py:625 msgid "Whether this submission was ran only on pretests." -msgstr "該提交是否只通過了前測" +msgstr "該提交是否只通過了前測。" -#: judge/models/contest.py:627 +#: judge/models/contest.py:629 msgid "contest submission" msgstr "競賽提交" -#: judge/models/contest.py:628 +#: judge/models/contest.py:630 msgid "contest submissions" msgstr "競賽提交" -#: judge/models/contest.py:636 +#: judge/models/contest.py:638 msgid "rank" msgstr "排名" -#: judge/models/contest.py:637 +#: judge/models/contest.py:639 msgid "rating" msgstr "評分" -#: judge/models/contest.py:638 +#: judge/models/contest.py:640 msgid "raw rating" msgstr "原始分數" -#: judge/models/contest.py:639 +#: judge/models/contest.py:641 msgid "contest performance" msgstr "競賽表現" -#: judge/models/contest.py:640 +#: judge/models/contest.py:642 msgid "last rated" msgstr "上次評分" -#: judge/models/contest.py:644 +#: judge/models/contest.py:646 msgid "contest rating" msgstr "競賽評分" -#: judge/models/contest.py:645 +#: judge/models/contest.py:647 msgid "contest ratings" msgstr "競賽評分" -#: judge/models/contest.py:664 +#: judge/models/contest.py:666 msgid "contest moss result" msgstr "競賽 MOSS 評分" -#: judge/models/contest.py:665 +#: judge/models/contest.py:667 msgid "contest moss results" msgstr "競賽 MOSS 評分" @@ -1451,7 +1511,7 @@ msgstr "文章標題" msgid "slug" msgstr "網址標誌" -#: judge/models/interface.py:69 judge/models/problem.py:551 +#: judge/models/interface.py:69 judge/models/problem.py:552 msgid "public visibility" msgstr "公開" @@ -1547,7 +1607,7 @@ msgstr "圖示" #: judge/models/problem.py:66 msgid "URL to the icon." -msgstr "圖示的 URL" +msgstr "圖示的 URL。" #: judge/models/problem.py:67 msgid "license text" @@ -1615,9 +1675,9 @@ msgstr "在題目列表顯示的題目分類。" #: judge/models/problem.py:138 msgid "The time limit for this problem, in seconds. Fractional seconds (e.g. 1.5) are supported." -msgstr "這個題目的時間限制(以秒為單位)。支援小數秒計時方式( 例如1.5 )。" +msgstr "這個題目的時間限制(以秒為單位)。支援小數秒計時方式(例如1.5)。" -#: judge/models/problem.py:142 judge/models/problem.py:538 +#: judge/models/problem.py:142 judge/models/problem.py:539 msgid "memory limit" msgstr "記憶體限制" @@ -1643,7 +1703,7 @@ msgstr "允許的語言" #: judge/models/problem.py:154 msgid "List of allowed submission languages." -msgstr "可用的作答語言" +msgstr "可用的作答語言。" #: judge/models/problem.py:156 msgid "manually managed" @@ -1651,7 +1711,7 @@ msgstr "手動管理" #: judge/models/problem.py:157 msgid "Whether judges should be allowed to manage data or not." -msgstr "是否允許管理測資。( 勾選以停用測資編輯介面 )" +msgstr "是否允許管理測資。(勾選以停用測資編輯介面)" #: judge/models/problem.py:158 msgid "date of publishing" @@ -1679,7 +1739,7 @@ msgstr "使用者人數" #: judge/models/problem.py:169 msgid "The number of users who solved the problem." -msgstr "AC人數" +msgstr "AC人數。" #: judge/models/problem.py:170 msgid "solve rate" @@ -1733,111 +1793,115 @@ msgstr "" msgid "See organization-private problems" msgstr "查看組織私人題目" -#: judge/models/problem.py:512 +#: judge/models/problem.py:504 +msgid "Create private problems" +msgstr "創建私人題目" + +#: judge/models/problem.py:513 msgid "translated name" msgstr "翻譯題目標題" -#: judge/models/problem.py:513 +#: judge/models/problem.py:514 msgid "translated description" msgstr "翻譯題目正文" -#: judge/models/problem.py:518 +#: judge/models/problem.py:519 msgid "problem translation" msgstr "題目翻譯" -#: judge/models/problem.py:519 +#: judge/models/problem.py:520 msgid "problem translations" msgstr "題目翻譯" -#: judge/models/problem.py:523 +#: judge/models/problem.py:524 msgid "clarified problem" msgstr "" -#: judge/models/problem.py:524 +#: judge/models/problem.py:525 msgid "clarification body" msgstr "" -#: judge/models/problem.py:525 +#: judge/models/problem.py:526 msgid "clarification timestamp" msgstr "" -#: judge/models/problem.py:528 +#: judge/models/problem.py:529 msgid "problem clarification" msgstr "" -#: judge/models/problem.py:529 +#: judge/models/problem.py:530 msgid "problem clarifications" msgstr "" -#: judge/models/problem.py:544 +#: judge/models/problem.py:545 msgid "language-specific resource limit" msgstr "特定語言資源限制" -#: judge/models/problem.py:545 +#: judge/models/problem.py:546 msgid "language-specific resource limits" msgstr "特定語言資源限制" -#: judge/models/problem.py:549 +#: judge/models/problem.py:550 msgid "associated problem" msgstr "關聯的題目" -#: judge/models/problem.py:552 +#: judge/models/problem.py:553 msgid "publish date" msgstr "發布日期" -#: judge/models/problem.py:554 +#: judge/models/problem.py:555 msgid "editorial content" msgstr "題解內文" -#: judge/models/problem.py:577 +#: judge/models/problem.py:578 msgid "See hidden solutions" msgstr "查看隱藏的題解" -#: judge/models/problem.py:579 +#: judge/models/problem.py:580 msgid "solution" msgstr "題解" -#: judge/models/problem.py:580 +#: judge/models/problem.py:581 msgid "solutions" msgstr "題解" -#: judge/models/problem.py:585 +#: judge/models/problem.py:586 msgid "proposed points" msgstr "合適的分數" -#: judge/models/problem.py:586 +#: judge/models/problem.py:587 msgid "The amount of points the voter thinks this problem deserves." msgstr "投票者認為此題目應得的分數。" -#: judge/models/problem.py:592 +#: judge/models/problem.py:593 msgid "voter" msgstr "投票者" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "vote time" msgstr "投票時間" -#: judge/models/problem.py:595 +#: judge/models/problem.py:596 msgid "The time this vote was cast." -msgstr "投票發起的時間" +msgstr "投票發起的時間。" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "note" msgstr "備註" -#: judge/models/problem.py:597 +#: judge/models/problem.py:598 msgid "Justification for problem point value." -msgstr "題目給分的理由" +msgstr "題目給分的理由。" -#: judge/models/problem.py:601 +#: judge/models/problem.py:602 msgid "problem vote" msgstr "題目投票" -#: judge/models/problem.py:602 +#: judge/models/problem.py:603 msgid "problem votes" msgstr "題目投票" -#: judge/models/problem.py:605 +#: judge/models/problem.py:606 #, python-format msgid "Points vote by %(voter)s for %(problem)s" msgstr "" @@ -1864,35 +1928,35 @@ msgstr "" #: judge/models/problem_data.py:28 msgid "Sorted" -msgstr "" +msgstr "已排序" #: judge/models/problem_data.py:29 msgid "Byte identical" -msgstr "" +msgstr "嚴格比對" #: judge/models/problem_data.py:30 msgid "Line-by-line" -msgstr "" +msgstr "逐行比對" #: judge/models/problem_data.py:37 msgid "data zip file" -msgstr "" +msgstr "zip 文件" #: judge/models/problem_data.py:39 msgid "generator file" -msgstr "" +msgstr "生成器文件" #: judge/models/problem_data.py:41 judge/models/problem_data.py:92 msgid "output prefix length" -msgstr "" +msgstr "輸出前綴長度" #: judge/models/problem_data.py:42 judge/models/problem_data.py:93 msgid "output limit length" -msgstr "" +msgstr "輸出限制長度" #: judge/models/problem_data.py:43 msgid "init.yml generation feedback" -msgstr "" +msgstr "init.yml 生成回報" #: judge/models/problem_data.py:44 judge/models/problem_data.py:94 msgid "checker" @@ -1908,47 +1972,47 @@ msgstr "禁用 BigInteger / BigDecimal" #: judge/models/problem_data.py:47 judge/models/problem_data.py:95 msgid "checker arguments" -msgstr "" +msgstr "檢查器參數" #: judge/models/problem_data.py:48 msgid "Checker arguments as a JSON object." -msgstr "" +msgstr "檢查器 JSON 參數" #: judge/models/problem_data.py:79 msgid "problem data set" -msgstr "" +msgstr "題目資料集" #: judge/models/problem_data.py:81 msgid "case position" -msgstr "" +msgstr "測試編號" #: judge/models/problem_data.py:82 msgid "case type" -msgstr "" +msgstr "測試類型" #: judge/models/problem_data.py:83 msgid "Normal case" -msgstr "" +msgstr "一般測試" #: judge/models/problem_data.py:84 msgid "Batch start" -msgstr "" +msgstr "子題開始" #: judge/models/problem_data.py:85 msgid "Batch end" -msgstr "" +msgstr "子題結束" #: judge/models/problem_data.py:87 msgid "input file name" -msgstr "" +msgstr "輸入檔案名稱" #: judge/models/problem_data.py:88 msgid "output file name" -msgstr "" +msgstr "輸出檔案名稱" #: judge/models/problem_data.py:89 msgid "generator arguments" -msgstr "" +msgstr "生成器參數" #: judge/models/problem_data.py:90 msgid "point value" @@ -1956,15 +2020,15 @@ msgstr "分數" #: judge/models/problem_data.py:91 msgid "case is pretest?" -msgstr "" +msgstr "是否為前測?" #: judge/models/problem_data.py:96 msgid "checker arguments as a JSON object" -msgstr "" +msgstr "檢查器 JSON 參數" #: judge/models/problem_data.py:97 msgid "batch dependencies" -msgstr "" +msgstr "子題依賴" #: judge/models/problem_data.py:98 msgid "batch dependencies as a comma-separated list of integers" @@ -1972,23 +2036,23 @@ msgstr "" #: judge/models/profile.py:42 msgid "organization title" -msgstr "" +msgstr "組織名稱" #: judge/models/profile.py:43 msgid "organization slug" -msgstr "" +msgstr "組織短名" #: judge/models/profile.py:44 msgid "Organization name shown in URLs." -msgstr "" +msgstr "組織縮寫(顯示在網址)" #: judge/models/profile.py:46 msgid "Displayed beside user name during contests." -msgstr "" +msgstr "競賽時顯示在使用者名稱旁" #: judge/models/profile.py:47 msgid "organization description" -msgstr "" +msgstr "組織描述" #: judge/models/profile.py:48 judge/models/profile.py:112 msgid "administrators" @@ -1996,7 +2060,7 @@ msgstr "管理員" #: judge/models/profile.py:49 msgid "Those who can edit this organization." -msgstr "" +msgstr "這些人可以編輯組織" #: judge/models/profile.py:50 msgid "creation date" @@ -2008,7 +2072,7 @@ msgstr "" #: judge/models/profile.py:52 msgid "Allow joining organization." -msgstr "" +msgstr "允許加入組織" #: judge/models/profile.py:53 msgid "maximum size" @@ -2020,7 +2084,7 @@ msgstr "這個組織用戶最大數量,只適用於私人組織。" #: judge/models/profile.py:56 judge/models/profile.py:111 msgid "Student access code." -msgstr "" +msgstr "學生加入代碼" #: judge/models/profile.py:60 msgid "This image will replace the default site logo for users viewing the organization." @@ -2094,11 +2158,11 @@ msgstr "" #: judge/models/profile.py:148 msgid "user associated" -msgstr "" +msgstr "關聯的使用者" #: judge/models/profile.py:149 msgid "self-description" -msgstr "" +msgstr "自我介紹" #: judge/models/profile.py:150 msgid "time zone" @@ -2106,7 +2170,7 @@ msgstr "時區" #: judge/models/profile.py:152 msgid "preferred language" -msgstr "" +msgstr "偏好的語言" #: judge/models/profile.py:157 msgid "Ace theme" @@ -2114,11 +2178,11 @@ msgstr "" #: judge/models/profile.py:158 msgid "site theme" -msgstr "" +msgstr "網站主題" #: judge/models/profile.py:159 msgid "last access time" -msgstr "" +msgstr "上次上線" #: judge/models/profile.py:160 msgid "last IP" @@ -2130,11 +2194,11 @@ msgstr "顯示排名" #: judge/models/profile.py:165 msgid "Normal User" -msgstr "" +msgstr "普通使用者" #: judge/models/profile.py:166 msgid "Problem Setter" -msgstr "" +msgstr "出題者" #: judge/models/profile.py:167 templates/base.html:221 #: templates/comments/list.html:97 templates/contest/contest-list-tabs.html:25 @@ -2144,11 +2208,11 @@ msgstr "" #: templates/submission/submission-list-tabs.html:15 #: templates/ticket/message.html:18 msgid "Admin" -msgstr "管理員" +msgstr "管理" #: judge/models/profile.py:168 msgid "comment mute" -msgstr "" +msgstr "評論禁言" #: judge/models/profile.py:168 msgid "Some users are at their best when silent." @@ -2172,7 +2236,7 @@ msgstr "" #: judge/models/profile.py:178 msgid "user script" -msgstr "" +msgstr "使用者網頁腳本" #: judge/models/profile.py:179 msgid "User-defined JavaScript for site customization." @@ -2939,7 +3003,7 @@ msgstr "這個密碼太常見了。" #: judge/utils/pwned.py:112 msgid "Your password can't be a commonly used password." -msgstr "你的密碼不能太常見" +msgstr "你的密碼不能太常見。" #: judge/utils/timedelta.py:49 msgctxt "time format with day" @@ -2974,40 +3038,40 @@ msgstr "%h:%m" msgid "Page %d of Posts" msgstr "" -#: judge/views/comment.py:28 +#: judge/views/comment.py:29 msgid "Messing around, are we?" msgstr "" -#: judge/views/comment.py:37 +#: judge/views/comment.py:38 msgid "You must solve at least one problem before you can vote." msgstr "您必須解開至少一道問題才可以投票。" -#: judge/views/comment.py:51 +#: judge/views/comment.py:52 msgid "Comment not found." msgstr "" -#: judge/views/comment.py:54 +#: judge/views/comment.py:55 msgid "You cannot vote on your own comments." msgstr "" -#: judge/views/comment.py:72 +#: judge/views/comment.py:73 msgid "You already voted." msgstr "你已經投過票了。" -#: judge/views/comment.py:135 judge/views/organization.py:386 +#: judge/views/comment.py:142 judge/views/organization.py:386 msgid "Edited from site" msgstr "" -#: judge/views/comment.py:160 +#: judge/views/comment.py:167 msgid "Editing comment" msgstr "" -#: judge/views/contests.py:58 judge/views/contests.py:248 -#: judge/views/contests.py:251 judge/views/contests.py:458 +#: judge/views/contests.py:58 judge/views/contests.py:255 +#: judge/views/contests.py:258 judge/views/contests.py:473 msgid "No such contest" msgstr "" -#: judge/views/contests.py:59 judge/views/contests.py:249 +#: judge/views/contests.py:59 judge/views/contests.py:256 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "" @@ -3016,111 +3080,111 @@ msgstr "" msgid "Contests" msgstr "競賽" -#: judge/views/contests.py:252 +#: judge/views/contests.py:259 msgid "Could not find such contest." msgstr "" -#: judge/views/contests.py:255 +#: judge/views/contests.py:262 #, python-format msgid "Access to contest \"%s\" denied" msgstr "" -#: judge/views/contests.py:302 +#: judge/views/contests.py:317 msgid "Clone Contest" msgstr "複製競賽" -#: judge/views/contests.py:336 +#: judge/views/contests.py:351 #, python-format msgid "Cloned contest from %s" msgstr "" -#: judge/views/contests.py:372 +#: judge/views/contests.py:387 msgid "Contest not ongoing" msgstr "" -#: judge/views/contests.py:373 +#: judge/views/contests.py:388 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "" -#: judge/views/contests.py:378 +#: judge/views/contests.py:393 msgid "Banned from joining" msgstr "" -#: judge/views/contests.py:379 +#: judge/views/contests.py:394 msgid "You have been declared persona non grata for this contest. You are permanently barred from joining this contest." msgstr "您在該競賽不受歡迎。您被永久禁止參加該競賽。" -#: judge/views/contests.py:409 +#: judge/views/contests.py:424 msgid "Cannot enter" msgstr "" -#: judge/views/contests.py:410 +#: judge/views/contests.py:425 msgid "You are not able to join this contest." msgstr "" -#: judge/views/contests.py:448 +#: judge/views/contests.py:463 #, python-format msgid "Enter access code for \"%s\"" msgstr "" -#: judge/views/contests.py:459 +#: judge/views/contests.py:474 #, python-format msgid "You are not in contest \"%s\"." msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 #, python-format msgid "Contests in %(month)s" msgstr "" -#: judge/views/contests.py:517 +#: judge/views/contests.py:532 msgid "F Y" msgstr "Y年n月" -#: judge/views/contests.py:575 +#: judge/views/contests.py:590 #, python-format msgid "%s Statistics" msgstr "" -#: judge/views/contests.py:750 +#: judge/views/contests.py:765 #, python-format msgid "%s Rankings" msgstr "" -#: judge/views/contests.py:758 +#: judge/views/contests.py:773 msgid "???" msgstr "???" -#: judge/views/contests.py:774 +#: judge/views/contests.py:789 #, python-format msgid "Your participation in %(contest)s" msgstr "" -#: judge/views/contests.py:775 +#: judge/views/contests.py:790 #, python-format msgid "%(user)s's participation in %(contest)s" msgstr "" -#: judge/views/contests.py:784 +#: judge/views/contests.py:799 msgid "Live" msgstr "實時" -#: judge/views/contests.py:796 templates/contest/contest-tabs.html:13 +#: judge/views/contests.py:811 templates/contest/contest-tabs.html:13 msgid "Participation" msgstr "" -#: judge/views/contests.py:840 +#: judge/views/contests.py:855 #, python-format msgid "%s MOSS Results" msgstr "" -#: judge/views/contests.py:867 +#: judge/views/contests.py:882 #, python-format msgid "Running MOSS for %s..." msgstr "" -#: judge/views/contests.py:890 +#: judge/views/contests.py:905 #, python-format msgid "Contest tag: %s" msgstr "" @@ -3450,7 +3514,7 @@ msgstr "偏好的語言" #: judge/views/register.py:34 msgid "Subscribe to newsletter?" -msgstr "訂閱電子報?" +msgstr "訂閱電子報?" #: judge/views/register.py:41 #, python-format @@ -3552,52 +3616,52 @@ msgstr "{contest} 中 {user} 在 {problem} 的提交歷史" msgid "{user}'s submissions for problem {number} in {contest}" msgstr "{user} 對 {contest} 第 {number} 題提交的程序" -#: judge/views/ticket.py:33 judge/views/ticket.py:39 +#: judge/views/ticket.py:31 judge/views/ticket.py:37 msgid "Ticket title" msgstr "" -#: judge/views/ticket.py:40 +#: judge/views/ticket.py:38 msgid "Issue description" msgstr "" -#: judge/views/ticket.py:48 +#: judge/views/ticket.py:46 msgid "You must solve at least one problem before you can create a ticket." msgstr "您必須解開至少一道問題才可以新增工單。" -#: judge/views/ticket.py:91 judge/views/ticket.py:94 +#: judge/views/ticket.py:89 judge/views/ticket.py:92 #, python-format msgid "New ticket for %s" msgstr "" -#: judge/views/ticket.py:148 +#: judge/views/ticket.py:146 #, python-format msgid "%(title)s - Ticket %(id)d" msgstr "" -#: judge/views/ticket.py:255 +#: judge/views/ticket.py:253 #, python-format msgid "Tickets - Page %(number)d of %(total)d" msgstr "" -#: judge/views/ticket.py:307 +#: judge/views/ticket.py:305 #, python-format msgid "New Ticket: %s" msgstr "" -#: judge/views/ticket.py:308 +#: judge/views/ticket.py:306 #, python-format msgid "#%(id)d, assigned to: %(users)s" msgstr "" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid ", " msgstr "、" -#: judge/views/ticket.py:310 +#: judge/views/ticket.py:308 msgid "no one" msgstr "沒人" -#: judge/views/ticket.py:330 +#: judge/views/ticket.py:328 #, python-format msgid "New Ticket Message For: %s" msgstr "" @@ -3616,7 +3680,7 @@ msgstr "停用兩步驟驗證" #: judge/views/two_factor.py:167 msgid "Invalid WebAuthn response" -msgstr "WebAuthn 回應無效。" +msgstr "WebAuthn 回應無效" #: judge/views/two_factor.py:170 msgid "Invalid name" @@ -3632,12 +3696,12 @@ msgstr "使用兩步驟驗證" #: judge/views/user.py:83 msgid "No such user" -msgstr "此用戶不存在。" +msgstr "此用戶不存在" #: judge/views/user.py:83 #, python-format msgid "No user handle \"%s\"." -msgstr "無此用戶\"%s\"" +msgstr "無此用戶“%s”。" #: judge/views/user.py:87 msgid "My account" @@ -3660,7 +3724,7 @@ msgstr "" msgid "Preparing your data..." msgstr "正在準備中……" -#: judge/views/user.py:304 templates/user/edit-profile.html:349 +#: judge/views/user.py:304 templates/user/edit-profile.html:350 msgid "Download your data" msgstr "下載資料" @@ -3702,7 +3766,7 @@ msgstr "您已成功登出。" msgid "You have sent too many password reset requests. Please try again later." msgstr "您發送了太多密碼重設請求。請稍後再試。" -#: judge/views/user.py:521 templates/user/edit-profile.html:343 +#: judge/views/user.py:521 templates/user/edit-profile.html:344 msgid "Change your email" msgstr "更改你的電子信箱" @@ -3725,7 +3789,7 @@ msgstr "" #: judge/views/user.py:600 msgid "This request has expired. Please try again." -msgstr "該請求已過期,請重試" +msgstr "該請求已過期,請重試。" #: judge/views/user.py:603 msgid "Please try again while logged in to the account this email change was originally requested from." @@ -3738,7 +3802,7 @@ msgstr "您最初請求的電子郵件已被其他使用者註冊。請使用新 #: judge/views/user.py:616 #, python-format msgid "Changed email address from %s to %s" -msgstr "您的帳號電子郵件已從%s變更為 %s。" +msgstr "您的帳號電子郵件已從%s變更為%s" #: judge/views/user.py:623 msgid "Email change failed" @@ -3753,12 +3817,138 @@ msgstr "電子郵件修改成功" msgid "The email attached to your account has been changed to %s." msgstr "您帳戶綁定的電子郵件已變更為 %s。" +#: martor/templates/martor/editor.html:5 +msgid "Editor" +msgstr "" + +#: martor/templates/martor/editor.html:6 +msgid "Preview" +msgstr "" + +#: martor/templates/martor/editor.html:11 +msgid "Uploading... please wait..." +msgstr "" + +#: martor/templates/martor/editor.html:18 +msgid "Nothing to preview" +msgstr "" + +#: martor/templates/martor/guide.html:4 +msgid "Markdown Guide" +msgstr "" + +#: martor/templates/martor/guide.html:5 +#, python-format +msgid "This site is powered by Markdown. For full documentation, click here." +msgstr "" + +#: martor/templates/martor/guide.html:9 martor/templates/martor/toolbar.html:26 +msgid "Code" +msgstr "" + +#: martor/templates/martor/guide.html:10 +msgid "Or" +msgstr "" + +#: martor/templates/martor/guide.html:13 +msgid "... to Get" +msgstr "" + +#: martor/templates/martor/toolbar.html:4 +msgid "Bold" +msgstr "" + +#: martor/templates/martor/toolbar.html:7 +msgid "Italic" +msgstr "" + +#: martor/templates/martor/toolbar.html:10 +msgid "Horizontal Line" +msgstr "" + +#: martor/templates/martor/toolbar.html:13 +#: martor/templates/martor/toolbar.html:16 +#: martor/templates/martor/toolbar.html:17 +#: martor/templates/martor/toolbar.html:18 +msgid "Heading" +msgstr "" + +#: martor/templates/martor/toolbar.html:22 +msgid "Pre or Code" +msgstr "" + +#: martor/templates/martor/toolbar.html:25 +msgid "Pre" +msgstr "" + +#: martor/templates/martor/toolbar.html:30 +msgid "Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:33 +msgid "Inline Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:34 +msgid "Display Math" +msgstr "" + +#: martor/templates/martor/toolbar.html:35 +msgid "LaTeX" +msgstr "" + +#: martor/templates/martor/toolbar.html:39 +msgid "Quote" +msgstr "" + +#: martor/templates/martor/toolbar.html:42 +msgid "Unordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:45 +msgid "Ordered List" +msgstr "" + +#: martor/templates/martor/toolbar.html:49 +msgid "URL/Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:52 +msgid "Insert Image Link" +msgstr "" + +#: martor/templates/martor/toolbar.html:56 +#: martor/templates/martor/toolbar.html:58 +msgid "Upload an Image" +msgstr "" + +#: martor/templates/martor/toolbar.html:61 +msgid "Direct Mention a User" +msgstr "" + +#: martor/templates/martor/toolbar.html:65 +msgid "Full Screen" +msgstr "" + +#: martor/templates/martor/toolbar.html:68 +msgid "Markdown Guide (Help)" +msgstr "" + +#: martor/views.py:48 +#, python-format +msgid "No users registered as `%(username)s` or user is unactived." +msgstr "" + +#: martor/views.py:54 +msgid "Validation Failed for field `username`" +msgstr "" + #: templates/admin/judge/contest/change_form.html:9 msgid "Are you sure you want to rejudge ALL the submissions?" msgstr "您確定您要重新評分所有提交?" -#: templates/admin/judge/contest/change_form.html:17 -#: templates/admin/judge/contest/change_form.html:20 +#: templates/admin/judge/contest/change_form.html:21 +#: templates/admin/judge/contest/change_form.html:24 msgid "Rate" msgstr "評分" @@ -3778,13 +3968,13 @@ msgstr "終止" #: templates/admin/judge/judge/change_form.html:27 #: templates/admin/judge/judge/change_form.html:30 -#: templates/user/edit-profile.html:377 templates/user/edit-profile.html:380 +#: templates/user/edit-profile.html:378 templates/user/edit-profile.html:381 msgid "Disable" -msgstr "禁用" +msgstr "停用" #: templates/admin/judge/judge/change_form.html:33 #: templates/admin/judge/judge/change_form.html:36 -#: templates/user/edit-profile.html:408 +#: templates/user/edit-profile.html:409 msgid "Enable" msgstr "啟用" @@ -3792,7 +3982,7 @@ msgstr "啟用" #: templates/admin/judge/problem/change_form.html:18 #: templates/user/user-base.html:37 msgid "View submissions" -msgstr "檢視提交內容 " +msgstr "檢視提交內容" #: templates/admin/judge/problem/change_form.html:20 #: templates/admin/judge/problem/change_form.html:23 @@ -3807,7 +3997,7 @@ msgstr "編輯使用者" #: templates/base.html:216 #, python-format msgid "Hello, %(username)s." -msgstr "你好%(username)s" +msgstr "你好%(username)s。" #: templates/base.html:225 msgid "Stop impersonating" @@ -3847,7 +4037,7 @@ msgstr "" #: templates/contest/tag-title.html:9 templates/flatpages/admin_link.html:3 #: templates/license.html:10 templates/problem/data.html:434 #: templates/problem/data.html:440 templates/problem/editorial.html:14 -#: templates/user/edit-profile.html:382 +#: templates/user/edit-profile.html:383 msgid "Edit" msgstr "編輯" @@ -3906,7 +4096,7 @@ msgstr "即將到來的競賽" #: templates/blog/list.html:145 templates/contest/contest.html:41 #, python-format msgid "Starting in %(countdown)s." -msgstr "%(countdown)s後開始" +msgstr "%(countdown)s後開始。" #: templates/blog/list.html:154 msgid "Comment stream" @@ -3914,7 +4104,7 @@ msgstr "評論動態" #: templates/blog/list.html:174 msgid "New problems" -msgstr "我的題目" +msgstr "最新題目" #: templates/blog/list.html:191 msgid "My open tickets" @@ -3960,7 +4150,7 @@ msgstr "{time}評論" msgid "edit %(edits)s" msgstr "編輯%(edits)s" -#: templates/comments/list.html:73 templates/comments/media-js.html:77 +#: templates/comments/list.html:73 templates/comments/media-js.html:92 msgid "edited" msgstr "已編輯" @@ -3986,7 +4176,7 @@ msgstr "這則評論因為太多負評而被隱藏。" #: templates/comments/list.html:120 msgid "Show it anyway." -msgstr "點擊以查看" +msgstr "點擊以查看。" #: templates/comments/list.html:141 msgid "New comment" @@ -3994,47 +4184,63 @@ msgstr "新評論" #: templates/comments/list.html:155 msgid "Invalid comment body." -msgstr "無效的評論內文" +msgstr "無效的評論內文。" -#: templates/comments/media-js.html:12 +#: templates/comments/media-js.html:33 msgid "Replying to comment" msgstr "正在回復評論" -#: templates/comments/media-js.html:72 +#: templates/comments/media-js.html:87 #, python-brace-format msgid "edit {edits}" msgstr "編輯{edits}" -#: templates/comments/media-js.html:75 +#: templates/comments/media-js.html:90 msgid "original" msgstr "" -#: templates/comments/media-js.html:101 +#: templates/comments/media-js.html:116 #, python-brace-format msgid "Could not vote: {error}" msgstr "" -#: templates/comments/media-js.html:137 +#: templates/comments/media-js.html:152 msgid "Are you sure you want to hide this comment?" -msgstr "您確定要隱藏此評論嗎?" +msgstr "您確定要隱藏此評論嗎?" -#: templates/comments/media-js.html:145 +#: templates/comments/media-js.html:160 msgid "Could not hide comment." msgstr "無法隱藏評論。" -#: templates/comments/media-js.html:180 +#: templates/comments/media-js.html:184 msgid "updated" msgstr "已更新" -#: templates/comments/media-js.html:182 +#: templates/comments/media-js.html:186 msgid "Failed to update comment body." msgstr "更新評論失敗。" -#: templates/comments/media-js.html:185 +#: templates/comments/media-js.html:189 #, python-brace-format msgid "Could not edit comment: {error}" msgstr "無法編輯評論:{error}" +#: templates/comments/media-js.html:221 +msgid "Looks like you're trying to post some source code!\n\n" +"The comment section is not for posting source code.\n" +"If you want to submit your solution, please use the \"Submit solution\" button.\n\n" +"Are you sure you want to post this?" +msgstr "看起來你正在嘗試貼上程式碼!\n" +"\n" +"留言區並不是用來張貼程式碼的。\n" +"留言區並不是用來張貼程式碼的。\n" +"留言區並不是用來張貼程式碼的。\n" +"留言區並不是用來張貼程式碼的。\n" +"留言區並不是用來張貼程式碼的。\n" +"留言區並不是用來張貼程式碼的。\n" +"\n" +"如果你想提交你的解答,請按下「取消」,然後使用「提交答案」按鈕。" + #: templates/comments/votes.html:5 msgid "Voter" msgstr "投票者" @@ -4047,15 +4253,15 @@ msgstr "得分" msgid "No votes" msgstr "" -#: templates/common-content.html:32 templates/user/edit-profile.html:214 +#: templates/common-content.html:32 templates/user/edit-profile.html:215 msgid "Click to copy" msgstr "點擊以複製" -#: templates/common-content.html:33 templates/user/edit-profile.html:215 +#: templates/common-content.html:33 templates/user/edit-profile.html:216 msgid "Copy" msgstr "複製" -#: templates/common-content.html:44 templates/user/edit-profile.html:226 +#: templates/common-content.html:44 templates/user/edit-profile.html:227 msgid "Copied!" msgstr "複製成功!" @@ -4161,7 +4367,7 @@ msgstr "複製" msgid "Leave contest" msgstr "離開競賽" -#: templates/contest/contest-tabs.html:45 templates/contest/list.html:294 +#: templates/contest/contest-tabs.html:45 templates/contest/list.html:302 msgid "Virtual join" msgstr "參加模擬競賽" @@ -4207,7 +4413,7 @@ msgstr "競賽已結束。" #: templates/contest/contest.html:47 #, python-format msgid "Your time is up! Contest ends in %(countdown)s." -msgstr "時間到! 競賽將在%(countdown)s後結束。" +msgstr "時間到!競賽將在%(countdown)s後結束。" #: templates/contest/contest.html:49 #, python-format @@ -4231,7 +4437,7 @@ msgstr "%(start_time)s到%(end_time)s中的%(time_limit)s小時窗口" #: templates/contest/contest.html:65 #, python-format msgid "%(length)s long starting on %(start_time)s" -msgstr "" +msgstr "開賽時間 %(start_time)s,時長共計 %(length)s" #: templates/contest/contest.html:75 #, python-format @@ -4347,7 +4553,7 @@ msgid "AC Rate" msgstr "AC率" #: templates/contest/contest.html:198 templates/contest/list.html:152 -#: templates/contest/list.html:194 templates/contest/list.html:271 +#: templates/contest/list.html:194 templates/contest/list.html:279 #: templates/problem/list.html:194 templates/problem/list.html:226 msgid "Users" msgstr "使用者" @@ -4400,7 +4606,7 @@ msgid "Active contests" msgstr "正在進行的競賽" #: templates/contest/list.html:151 templates/contest/list.html:193 -#: templates/contest/list.html:231 templates/contest/list.html:268 +#: templates/contest/list.html:231 templates/contest/list.html:276 msgid "Contest" msgstr "競賽" @@ -4423,13 +4629,21 @@ msgstr "%(countdown)s後開始" msgid "There are no scheduled contests at this time." msgstr "目前沒有排定的競賽。" -#: templates/contest/list.html:260 +#: templates/contest/list.html:259 msgid "Past contests" msgstr "過去的競賽" +#: templates/contest/list.html:266 +msgid "Search contests..." +msgstr "搜尋競賽…" + +#: templates/contest/list.html:313 +msgid "There are no past contests." +msgstr "" + #: templates/contest/media-js.html:4 msgid "Are you sure you want to leave?" -msgstr "您確定要離開嗎?" +msgstr "您確定要離開嗎?" #: templates/contest/media-js.html:5 msgid "You cannot come back to a virtual participation. You will have to start a new one." @@ -4442,11 +4656,11 @@ msgstr "計時器將在您參加競賽時啟動,且競賽開始後就不會停 #: templates/contest/media-js.html:16 #, python-format msgid "Joining this contest will leave %(contest)s." -msgstr "加入這個競賽將會離開 %(contest)s" +msgstr "加入這個競賽將會離開 %(contest)s。" #: templates/contest/moss.html:28 msgid "Are you sure you want to MOSS the contest?" -msgstr "您確定要MOSS這場競賽?" +msgstr "您確定要MOSS這場競賽?" #: templates/contest/moss.html:31 msgid "Are you sure you want to delete the MOSS results?" @@ -4522,11 +4736,11 @@ msgstr "取消資格" #: templates/contest/ranking.html:46 msgid "Are you sure you want to disqualify this participation?" -msgstr "你確定要取消參加嗎?" +msgstr "你確定要取消參加嗎?" #: templates/contest/ranking.html:51 msgid "Are you sure you want to un-disqualify this participation?" -msgstr "你確定要取消參加嗎?" +msgstr "你確定要取消參加嗎?" #: templates/contest/ranking.html:124 msgid "View user participation" @@ -4689,7 +4903,7 @@ msgstr "創建" #: templates/organization/requests/detail.html:13 msgid "User:" -msgstr "使用者:" +msgstr "使用者:" #: templates/organization/requests/detail.html:17 msgid "Organization:" @@ -4744,7 +4958,7 @@ msgstr "你加入的理由:" #: templates/organization/requests/request.html:29 msgid "Request!" -msgstr "請求!" +msgstr "請求!" #: templates/organization/requests/tabs.html:7 msgid "Log" @@ -4756,11 +4970,7 @@ msgstr "踢出" #: templates/organization/users.html:29 msgid "Are you sure you want to kick this user?" -msgstr "您確定要踢除這位使用者嗎?" - -#: templates/pagedown.html:10 -msgid "Update preview" -msgstr "更新預覽" +msgstr "您確定要踢除這位使用者嗎?" #: templates/problem/clone.html:37 msgid "Enter a new code for the cloned problem:" @@ -4776,7 +4986,7 @@ msgstr "查看 YAML" #: templates/problem/data.html:361 msgid "Show columns:" -msgstr "顯示直欄 " +msgstr "顯示直欄:" #: templates/problem/data.html:364 templates/problem/data.html:392 msgid "Output prefix" @@ -4804,15 +5014,15 @@ msgstr "類型" #: templates/problem/data.html:388 msgid "Input file" -msgstr "輸入檔案 " +msgstr "輸入檔案" #: templates/problem/data.html:389 msgid "Output file" -msgstr "輸出檔案:" +msgstr "輸出檔案" #: templates/problem/data.html:391 msgid "Pretest?" -msgstr "前測?" +msgstr "前測?" #: templates/problem/data.html:396 msgid "Batch Dependencies" @@ -4836,7 +5046,7 @@ msgstr "記住 **只** 在沒有思路時使用題解,**不要複製貼上代 #: templates/problem/editorial.html:24 msgid "Submitting an official solution before solving the problem yourself is a bannable offence." -msgstr "在真正親自解開題目前提交官方題解的代碼是可以封禁的罪行。" +msgstr "如果在自己解決問題之前提交官方解答,可能會被視為惡意刷分,嚴重者封禁。" #: templates/problem/editorial.html:30 templates/problem/problem.html:230 msgid "Author:" @@ -4888,7 +5098,7 @@ msgstr "您將重新評分{count}筆提交紀錄,您確定要進行此操作 #: templates/problem/manage_submission.html:98 msgid "You are about to rejudge a few submissions. Are you sure you want to do this?" -msgstr "您將重新評分一些提交紀錄,您確定要進行此操作嗎?" +msgstr "您將重新評測一些提交紀錄,您確定要進行此操作嗎?" #: templates/problem/manage_submission.html:117 msgid "Rejudge Submissions" @@ -4896,15 +5106,15 @@ msgstr "重新評測提交紀錄" #: templates/problem/manage_submission.html:122 msgid "Filter by ID:" -msgstr "按 ID 篩選" +msgstr "按 ID 篩選:" #: templates/problem/manage_submission.html:125 msgid "Starting ID:" -msgstr "起始 ID:" +msgstr "起始 ID:" #: templates/problem/manage_submission.html:129 msgid "Ending ID:" -msgstr "結束 ID:" +msgstr "結束 ID:" #: templates/problem/manage_submission.html:133 msgid "This range includes both endpoints." @@ -4912,7 +5122,7 @@ msgstr "範圍包含兩個終點。" #: templates/problem/manage_submission.html:136 msgid "Filter by language:" -msgstr "依語言篩選" +msgstr "依語言篩選:" #: templates/problem/manage_submission.html:152 msgid "Rejudge selected submissions" @@ -4926,7 +5136,7 @@ msgstr "全部重新評分" #, python-format msgid "This will rescore %(count)s submission." msgid_plural "This will rescore %(count)s submissions." -msgstr[0] "這將重新評分%(count)s個提交。" +msgstr[0] "這將重新評分%(count)s筆提交紀錄。" #: templates/problem/manage_submission.html:168 #, python-format @@ -4936,7 +5146,7 @@ msgstr[0] "您確定您要重新評分%(count)s個提交?" #: templates/problem/manage_submission.html:173 msgid "Rescore all submissions" -msgstr "重新評分所有提交" +msgstr "重新評分所有提交紀錄" #: templates/problem/problem.html:96 msgid "View as PDF" @@ -5000,7 +5210,7 @@ msgstr "" #: templates/problem/problem.html:175 msgid "Manage submissions" -msgstr "管理提交" +msgstr "管理提交紀錄" #: templates/problem/problem.html:188 templates/problem/vote-ajax.html:20 msgid "Points:" @@ -5030,12 +5240,12 @@ msgstr "允許的語言" #: templates/problem/problem.html:267 #, python-format msgid "No %(lang)s judge online" -msgstr "沒有支援 %(lang)s 的裁判機。" +msgstr "沒有支援 %(lang)s 的裁判機" #: templates/problem/problem.html:278 msgid "Judge:" msgid_plural "Judges:" -msgstr[0] "評測伺服器:" +msgstr[0] "評測伺服器:" #: templates/problem/problem.html:295 msgid "none available" @@ -5216,7 +5426,7 @@ msgstr "或者,您可以回覆此訊息以啟動您的帳戶。您的回覆必 #: templates/registration/activation_email.html:22 #, python-format msgid "See you soon! If you have problems activating your account, feel free to send us an email at %(email)s." -msgstr "待會見!如果在啟動帳號時遇到問題,請email %(email)s 。" +msgstr "待會見!如果在啟動帳號時遇到問題,請email %(email)s。" #: templates/registration/activation_email.html:25 #: templates/registration/password_reset_email.html:17 @@ -5232,7 +5442,7 @@ msgstr[0] "請在 %(count)s 天內啟用你的 %(site_name)s 帳號。" #: templates/registration/activation_email_subject.txt:1 #, python-format msgid "Activate your %(site_name)s account" -msgstr "啟用你的 %(site_name)s 帳號。" +msgstr "啟用你的 %(site_name)s 帳號" #: templates/registration/email_change.html:20 msgid "Request email change" @@ -5254,7 +5464,7 @@ msgstr[0] "請按一下連結以確認此電子郵件變更。該連結將在 %( #: templates/registration/email_change_activate_email.txt:14 #, python-format msgid "If you have encountered any problems, feel free to shoot us an email at %(email)s." -msgstr "如果在啟動帳號時遇到問題,請email %(email)s 。" +msgstr "如果在啟動帳號時遇到問題,請email %(email)s。" #: templates/registration/email_change_activate_email.txt:5 #, python-format @@ -5265,13 +5475,13 @@ msgstr[0] "請前往此頁面以確認此電子郵件變更。該連結將在 %( #: templates/registration/email_change_activate_subject.txt:1 #, python-format msgid "Email change request on %(site_name)s" -msgstr "%(site_name)s 電子郵件更改請求 " +msgstr "%(site_name)s 電子郵件更改請求" #: templates/registration/email_change_notify_email.html:9 #: templates/registration/email_change_notify_email.txt:2 #, python-format msgid "Someone (hopefully you!) has requested to change the email address associated with your user account at %(site_name)s to %(new_email)s." -msgstr "有人(希望是你)要求將與您的 %(site_name)s 使用者帳戶關聯的電子郵件地址更改為 %(new_email)s" +msgstr "有人(希望是你)要求將與您的 %(site_name)s 使用者帳戶關聯的電子郵件地址更改為 %(new_email)s。" #: templates/registration/email_change_notify_email.html:11 #: templates/registration/email_change_notify_email.txt:4 @@ -5292,11 +5502,11 @@ msgstr "如果不是您,請更改您的密碼並立即回覆此郵件。" #: templates/registration/email_change_notify_subject.txt:1 #, python-format msgid "Alert: Email change request on %(site_name)s" -msgstr "Alert: %(site_name)s 電子郵件更改請求 " +msgstr "警報:%(site_name)s 電子郵件更改請求" #: templates/registration/login.html:35 msgid "Invalid username or password." -msgstr "無效的使用者名稱或密碼." +msgstr "無效的使用者名稱或密碼。" #: templates/registration/login.html:53 #: templates/registration/two_factor_auth.html:92 @@ -5313,7 +5523,7 @@ msgstr "或使用…" #: templates/registration/logout.html:3 msgid "See you later!" -msgstr "等會兒見!" +msgstr "等會兒見!" #: templates/registration/password_change_done.html:3 msgid "Your password was successfully changed." @@ -5321,7 +5531,7 @@ msgstr "您的密碼已成功變更。" #: templates/registration/password_change_form.html:7 msgid "We found your password in [a database of compromised passwords][0]." -msgstr "我們在 [一個密碼洩漏資料庫][0] 中找到您的密碼。" +msgstr "我們在[一個密碼洩漏資料庫][0]中找到您的密碼。" #: templates/registration/password_change_form.html:8 msgid "To protect your account, we are requiring you to change your password to a more secure password." @@ -5368,7 +5578,7 @@ msgstr "若要重設帳號「%(username)s」的密碼,請點選此連結。" #: templates/registration/password_reset_email.html:14 #, python-format msgid "See you soon! If you have problems resetting your password, feel free to shoot us an email at %(email)s." -msgstr "待會見!如果在重設帳號時遇到問題,請email %(email)s 。" +msgstr "待會見!如果在重設帳號時遇到問題,請email %(email)s。" #: templates/registration/password_reset_email.txt:1 #, python-format @@ -5377,11 +5587,11 @@ msgstr "您會收到此信件是因為您在%(site_name)s要求重置密碼。" #: templates/registration/password_reset_email.txt:3 msgid "Please go to the following page and choose a new password:" -msgstr "請到以下頁面選擇新的密碼" +msgstr "請到以下頁面選擇新的密碼:" #: templates/registration/password_reset_email.txt:7 msgid "Your username, in case you've forgotten:" -msgstr "您的使用者名稱,萬一您忘記" +msgstr "您的使用者名稱,萬一您忘記:" #: templates/registration/password_reset_email.txt:9 msgid "Thanks for using our site!" @@ -5435,7 +5645,7 @@ msgid "Affiliated organizations" msgstr "所屬組織" #: templates/registration/registration_form.html:195 -#: templates/user/edit-profile.html:321 +#: templates/user/edit-profile.html:322 msgid "Notify me about upcoming contests" msgstr "有比賽時通知我" @@ -5445,7 +5655,7 @@ msgstr "註冊即表示您同意我們的[服務條款][0]。" #: templates/registration/registration_form.html:212 msgid "Register!" -msgstr "註冊!" +msgstr "註冊!" #: templates/registration/totp_disable.html:31 msgid "To protect your account, you must first authenticate before you can disable Two Factor Authentication." @@ -5462,7 +5672,7 @@ msgstr "停用兩步驟驗證" #: templates/registration/totp_enable.html:72 msgid "Scan this code with your authenticator app:" -msgstr "在您的2FA應用程式中掃描此 QR Code" +msgstr "在您的2FA應用程式中掃描此 QR Code:" #: templates/registration/totp_enable.html:73 msgid "QR code" @@ -5470,11 +5680,11 @@ msgstr "二維碼" #: templates/registration/totp_enable.html:74 msgid "Or enter this code manually:" -msgstr "或手動輸入此代碼:" +msgstr "或手動輸入此代碼:" #: templates/registration/totp_enable.html:85 msgid "Enter the 6-digit code generated by your app:" -msgstr "輸入您2FA應用程式生成的6位數代碼:" +msgstr "輸入您2FA應用程式生成的6位數代碼:" #: templates/registration/totp_enable.html:90 msgid "Edit Two Factor Authentication" @@ -5485,17 +5695,17 @@ msgid "Enable Two Factor Authentication" msgstr "啟用兩步驟驗證" #: templates/registration/totp_enable.html:98 -#: templates/user/edit-profile.html:396 +#: templates/user/edit-profile.html:397 msgid "Below is a list of one-time use scratch codes." msgstr "以下是備用碼列表。" #: templates/registration/totp_enable.html:99 -#: templates/user/edit-profile.html:397 +#: templates/user/edit-profile.html:398 msgid "These codes can only be used once and are for emergency use." msgstr "這些代碼只能在緊急情況時使用一次。" #: templates/registration/totp_enable.html:100 -#: templates/user/edit-profile.html:398 +#: templates/user/edit-profile.html:399 msgid "You can use these codes to login to your account or disable two-factor authentication." msgstr "您可以使用這些代碼登入您的帳戶或停用兩步驟驗證。" @@ -5504,7 +5714,7 @@ msgid "If you ever need more scratch codes, you can regenerate them on the edit msgstr "如果你需要更多的備用碼,你可以在編輯個人資料頁面重新生成。" #: templates/registration/totp_enable.html:102 -#: templates/user/edit-profile.html:400 +#: templates/user/edit-profile.html:401 msgid "Please write these down and keep them in a secure location." msgstr "請將備用碼記下來並保存在安全的地方。" @@ -5519,21 +5729,21 @@ msgstr "重要事項:" #: templates/registration/totp_enable.html:109 #, python-format msgid "If you lose your authentication device and are unable to use your scratch codes, %(site_name)s admins will NOT be able to recover your account. Please keep your scratch codes safe!" -msgstr "如果您遺失的您的備用碼且無法使用兩步驟驗證,%(site_name)s 管理員將無法復原您的帳戶。請務必妥善保管備用碼!" +msgstr "如果您遺失的您的備用碼且無法使用兩步驟驗證,%(site_name)s 管理員將無法復原您的帳戶。請務必妥善保管備用碼!" #: templates/registration/two_factor_auth.html:33 -#: templates/user/edit-profile.html:159 +#: templates/user/edit-profile.html:160 msgid "WebAuthn is not supported by your browser." msgstr "你的瀏覽器不支援 WebAuthn。" #: templates/registration/two_factor_auth.html:54 -#: templates/user/edit-profile.html:183 +#: templates/user/edit-profile.html:184 msgid "Failed to contact server." msgstr "連接伺服器失敗。" #: templates/registration/two_factor_auth.html:81 msgid "Enter one of your 16-character scratch codes:" -msgstr "輸入你的16位備用碼之一:" +msgstr "輸入你的16位備用碼之一:" #: templates/registration/two_factor_auth.html:89 msgid "Use security key" @@ -5585,7 +5795,7 @@ msgstr "N/A" #: templates/status/judge-status-table.html:66 msgid "There are no judges available at this time." -msgstr "無可用的裁判機" +msgstr "無可用的裁判機。" #: templates/status/language-list.html:36 msgid "Runtime Info" @@ -5623,7 +5833,7 @@ msgstr "錯誤訊息" #: templates/submission/list.html:35 templates/submission/status.html:81 msgid "Are you sure you want to rejudge?" -msgstr "您確定要重新評測嗎?" +msgstr "您確定要重新評測嗎?" #: templates/submission/list.html:75 msgid "Filter by status..." @@ -5719,7 +5929,7 @@ msgstr "" #: templates/submission/status-testcases.html:66 #, python-format msgid "Pretest #%(id)d:" -msgstr "前測 #%(id)d" +msgstr "前測 #%(id)d:" #: templates/submission/status-testcases.html:68 #, python-format @@ -5736,7 +5946,7 @@ msgstr "判題反饋" #: templates/submission/status-testcases.html:129 msgid "Resources:" -msgstr "相關資源" +msgstr "相關資源:" #: templates/submission/status-testcases.html:138 msgid "Maximum single-case runtime:" @@ -5889,144 +6099,144 @@ msgstr "排名" msgid "Search by handle..." msgstr "使用者搜索…" -#: templates/user/edit-profile.html:102 +#: templates/user/edit-profile.html:103 msgid "The administrators for this site require all the staff to have Two-factor Authentication enabled, so it may not be disabled at this time." msgstr "此網站的管理員要求所有管理員啟用兩步驟驗證,所以可能無法停用。" -#: templates/user/edit-profile.html:107 +#: templates/user/edit-profile.html:108 msgid "Are you sure you want to generate or regenerate your API token?" msgstr "您確定要生成或重新生成您的API金鑰?" -#: templates/user/edit-profile.html:108 +#: templates/user/edit-profile.html:109 msgid "This will invalidate any previous API tokens." msgstr "之前的API金鑰都將失效。" -#: templates/user/edit-profile.html:109 +#: templates/user/edit-profile.html:110 msgid "It also allows access to your account without Two-factor Authentication." msgstr "這還會允許在不透過兩步驟驗證的情況下登入你的帳號。" -#: templates/user/edit-profile.html:110 +#: templates/user/edit-profile.html:111 msgid "You will not be able to view your API token after you leave this page!" msgstr "離開此頁面後,您將無法查看您的API金鑰!" -#: templates/user/edit-profile.html:111 templates/user/edit-profile.html:205 +#: templates/user/edit-profile.html:112 templates/user/edit-profile.html:206 msgid "Generating..." msgstr "正在生成…" -#: templates/user/edit-profile.html:125 templates/user/edit-profile.html:360 +#: templates/user/edit-profile.html:126 templates/user/edit-profile.html:361 msgid "Remove" msgstr "刪除" -#: templates/user/edit-profile.html:135 +#: templates/user/edit-profile.html:136 msgid "Are you sure you want to remove your API token?" msgstr "您確定要刪除您的API金鑰?" -#: templates/user/edit-profile.html:142 templates/user/edit-profile.html:364 -#: templates/user/edit-profile.html:392 +#: templates/user/edit-profile.html:143 templates/user/edit-profile.html:365 +#: templates/user/edit-profile.html:393 msgid "Generate" msgstr "生成" -#: templates/user/edit-profile.html:188 +#: templates/user/edit-profile.html:189 msgid "Are you sure you want to delete this security key?" msgstr "您確定要移除這把安全金鑰嗎?" -#: templates/user/edit-profile.html:202 +#: templates/user/edit-profile.html:203 msgid "Are you sure you want to generate or regenerate a new set of scratch codes?" msgstr "您确定要生成或重新生成一組新的備用碼?" -#: templates/user/edit-profile.html:203 +#: templates/user/edit-profile.html:204 msgid "This will invalidate any previous scratch codes you have." msgstr "之前的備用碼將會失效。" -#: templates/user/edit-profile.html:204 templates/user/edit-profile.html:401 +#: templates/user/edit-profile.html:205 templates/user/edit-profile.html:402 msgid "You will not be able to view your scratch codes after you leave this page!" msgstr "離開此頁面後,您將無法重新查看你的備用碼!" -#: templates/user/edit-profile.html:273 +#: templates/user/edit-profile.html:274 msgid "Self-description:" msgstr "自我介紹:" -#: templates/user/edit-profile.html:280 +#: templates/user/edit-profile.html:281 msgid "Select your closest major city" msgstr "選擇離您最近的主要城市" -#: templates/user/edit-profile.html:281 +#: templates/user/edit-profile.html:282 msgid "Time zone:" msgstr "時區:" -#: templates/user/edit-profile.html:285 +#: templates/user/edit-profile.html:286 msgid "Language:" msgstr "語言:" -#: templates/user/edit-profile.html:289 +#: templates/user/edit-profile.html:290 msgid "Site theme:" -msgstr "網站主題:" +msgstr "網站主題:" -#: templates/user/edit-profile.html:293 +#: templates/user/edit-profile.html:294 msgid "Editor theme:" msgstr "編輯器主題:" -#: templates/user/edit-profile.html:298 +#: templates/user/edit-profile.html:299 msgid "Math engine:" msgstr "" -#: templates/user/edit-profile.html:307 +#: templates/user/edit-profile.html:308 msgid "Affiliated organizations:" -msgstr "所屬組織:" +msgstr "所屬組織:" -#: templates/user/edit-profile.html:333 +#: templates/user/edit-profile.html:334 msgid "Change your avatar" msgstr "更改頭像" -#: templates/user/edit-profile.html:338 +#: templates/user/edit-profile.html:339 msgid "Change your password" msgstr "更改密碼" -#: templates/user/edit-profile.html:355 +#: templates/user/edit-profile.html:356 msgid "API token:" msgstr "API令牌:" -#: templates/user/edit-profile.html:361 templates/user/edit-profile.html:389 +#: templates/user/edit-profile.html:362 templates/user/edit-profile.html:390 msgid "Hidden" msgstr "隱藏" -#: templates/user/edit-profile.html:374 +#: templates/user/edit-profile.html:375 msgid "Two-factor authentication is enabled:" -msgstr "已啟用兩步驟驗證:" +msgstr "已啟用兩步驟驗證:" -#: templates/user/edit-profile.html:385 +#: templates/user/edit-profile.html:386 msgid "Scratch codes:" -msgstr "備用碼:" +msgstr "備用碼:" -#: templates/user/edit-profile.html:399 +#: templates/user/edit-profile.html:400 msgid "If you ever need more scratch codes, you can regenerate them here." msgstr "如果你需要更多備用碼,可以在這裡重新生成。" -#: templates/user/edit-profile.html:407 +#: templates/user/edit-profile.html:408 msgid "Two-factor Authentication is disabled:" -msgstr "已停用兩步驟驗證:" +msgstr "已停用兩步驟驗證:" -#: templates/user/edit-profile.html:415 +#: templates/user/edit-profile.html:416 msgid "Security keys:" -msgstr "安全性密鑰" +msgstr "安全性密鑰:" -#: templates/user/edit-profile.html:425 +#: templates/user/edit-profile.html:426 msgid "Delete" msgstr "刪除" -#: templates/user/edit-profile.html:432 +#: templates/user/edit-profile.html:433 msgid "Enter a name for this key" msgstr "為此金鑰命名" -#: templates/user/edit-profile.html:433 +#: templates/user/edit-profile.html:434 msgid "Add" msgstr "新增" -#: templates/user/edit-profile.html:441 +#: templates/user/edit-profile.html:442 msgid "User-script:" -msgstr "使用者網頁腳本" +msgstr "使用者網頁腳本:" -#: templates/user/edit-profile.html:445 +#: templates/user/edit-profile.html:446 msgid "Update profile" msgstr "更新個人檔案"