From ae731e1eb5726439544950484fbd5dc01f4df316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matev=C5=BE=20Jekovec?= Date: Tue, 8 Oct 2024 23:46:51 +0200 Subject: [PATCH] submission: Add TREBLE_BASS combination of clefs --- locale/sl/LC_MESSAGES/django.po | 580 +++++++++--------- .../migrations/0019_auto_20241008_2253.py | 28 + notecheck/models.py | 19 +- notecheck/static/notecheck/style.css | 14 +- notecheck/templates/notecheck/grid.html | 4 +- notecheck/templates/notecheck/scales.html | 4 +- notecheck/views.py | 13 +- 7 files changed, 363 insertions(+), 299 deletions(-) create mode 100644 notecheck/migrations/0019_auto_20241008_2253.py diff --git a/locale/sl/LC_MESSAGES/django.po b/locale/sl/LC_MESSAGES/django.po index 7b910d2..ad0cfae 100644 --- a/locale/sl/LC_MESSAGES/django.po +++ b/locale/sl/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-26 09:29+0000\n" +"POT-Creation-Date: 2024-10-08 22:56+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,170 +16,176 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" -#: notecheck/models.py:15 +#: notecheck/models.py:16 msgid "Treble" msgstr "Violinski" -#: notecheck/models.py:16 +#: notecheck/models.py:17 msgid "Bass" msgstr "Basovski" -#: notecheck/models.py:44 +#: notecheck/models.py:18 +msgid "Treble and bass" +msgstr "Violinski in basovski" + +#: notecheck/models.py:46 msgid "Note pitch and octave (e.g. fis2)" msgstr "Višina note z oktavo (npr. fis2)" -#: notecheck/models.py:45 +#: notecheck/models.py:47 msgid "Note pitch only (e.g. fis)" msgstr "Samo višina note (e.g. fis)" -#: notecheck/models.py:65 +#: notecheck/models.py:67 msgid "Interval quantity (e.g. 4)" msgstr "Kvantiteta (npr. 4)" -#: notecheck/models.py:66 +#: notecheck/models.py:68 msgid "Interval quality and quantity (e.g. p4)" msgstr "Kvaliteta in kvantiteta intervala (npr. č4)" -#: notecheck/models.py:67 +#: notecheck/models.py:69 msgid "Fulltones and remaining semitone (e.g. 2.5)" msgstr "Celi toni in poltoni (npr. 2,5)" -#: notecheck/models.py:68 +#: notecheck/models.py:70 msgid "Semitones (e.g. 5)" msgstr "Poltoni (npr. 5)" -#: notecheck/models.py:90 +#: notecheck/models.py:92 msgid "Major" msgstr "Dur" -#: notecheck/models.py:91 +#: notecheck/models.py:93 msgid "Minor" msgstr "Mol" -#: notecheck/models.py:94 +#: notecheck/models.py:96 msgid "Natural" msgstr "Naravni" -#: notecheck/models.py:95 +#: notecheck/models.py:97 msgid "Harmonic" msgstr "Harmonični" -#: notecheck/models.py:96 +#: notecheck/models.py:98 msgid "Melodic" msgstr "Melodični" #: notecheck/templates/notecheck/grid.html:4 +#: notecheck/templates/notecheck/playnotepitch.html:4 #: notecheck/templates/notecheck/scales.html:4 msgid "Submit" msgstr "Pošlji" #: notecheck/templates/notecheck/grid.html:5 +#: notecheck/templates/notecheck/playnotepitch.html:5 #: notecheck/templates/notecheck/scales.html:5 msgid "Try again" msgstr "Poskusi znova" -#: venv/lib/python3.8/site-packages/django/contrib/messages/apps.py:7 +#: venv/lib/python3.12/site-packages/django/contrib/messages/apps.py:7 msgid "Messages" msgstr "" -#: venv/lib/python3.8/site-packages/django/contrib/sitemaps/apps.py:8 +#: venv/lib/python3.12/site-packages/django/contrib/sitemaps/apps.py:8 msgid "Site Maps" msgstr "" -#: venv/lib/python3.8/site-packages/django/contrib/staticfiles/apps.py:9 +#: venv/lib/python3.12/site-packages/django/contrib/staticfiles/apps.py:9 msgid "Static Files" msgstr "" -#: venv/lib/python3.8/site-packages/django/contrib/syndication/apps.py:7 +#: venv/lib/python3.12/site-packages/django/contrib/syndication/apps.py:7 msgid "Syndication" msgstr "" #. Translators: String used to replace omitted page numbers in elided page #. range generated by paginators, e.g. [1, 2, '…', 5, 6, 7, '…', 9, 10]. -#: venv/lib/python3.8/site-packages/django/core/paginator.py:30 +#: venv/lib/python3.12/site-packages/django/core/paginator.py:30 msgid "…" msgstr "" -#: venv/lib/python3.8/site-packages/django/core/paginator.py:51 +#: venv/lib/python3.12/site-packages/django/core/paginator.py:51 msgid "That page number is not an integer" msgstr "" -#: venv/lib/python3.8/site-packages/django/core/paginator.py:53 +#: venv/lib/python3.12/site-packages/django/core/paginator.py:53 msgid "That page number is less than 1" msgstr "" -#: venv/lib/python3.8/site-packages/django/core/paginator.py:58 +#: venv/lib/python3.12/site-packages/django/core/paginator.py:58 msgid "That page contains no results" msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:22 +#: venv/lib/python3.12/site-packages/django/core/validators.py:22 msgid "Enter a valid value." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:93 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:675 +#: venv/lib/python3.12/site-packages/django/core/validators.py:93 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:675 msgid "Enter a valid URL." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:150 +#: venv/lib/python3.12/site-packages/django/core/validators.py:150 msgid "Enter a valid integer." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:161 +#: venv/lib/python3.12/site-packages/django/core/validators.py:161 msgid "Enter a valid email address." msgstr "" #. Translators: "letters" means latin letters: a-z and A-Z. -#: venv/lib/python3.8/site-packages/django/core/validators.py:262 +#: venv/lib/python3.12/site-packages/django/core/validators.py:262 msgid "" "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:269 +#: venv/lib/python3.12/site-packages/django/core/validators.py:269 msgid "" "Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " "hyphens." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:278 -#: venv/lib/python3.8/site-packages/django/core/validators.py:288 -#: venv/lib/python3.8/site-packages/django/core/validators.py:311 +#: venv/lib/python3.12/site-packages/django/core/validators.py:278 +#: venv/lib/python3.12/site-packages/django/core/validators.py:288 +#: venv/lib/python3.12/site-packages/django/core/validators.py:311 msgid "Enter a valid IPv4 address." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:296 -#: venv/lib/python3.8/site-packages/django/core/validators.py:312 +#: venv/lib/python3.12/site-packages/django/core/validators.py:296 +#: venv/lib/python3.12/site-packages/django/core/validators.py:312 msgid "Enter a valid IPv6 address." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:306 -#: venv/lib/python3.8/site-packages/django/core/validators.py:310 +#: venv/lib/python3.12/site-packages/django/core/validators.py:306 +#: venv/lib/python3.12/site-packages/django/core/validators.py:310 msgid "Enter a valid IPv4 or IPv6 address." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:340 +#: venv/lib/python3.12/site-packages/django/core/validators.py:340 msgid "Enter only digits separated by commas." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:346 +#: venv/lib/python3.12/site-packages/django/core/validators.py:346 #, python-format msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:379 +#: venv/lib/python3.12/site-packages/django/core/validators.py:379 #, python-format msgid "Ensure this value is less than or equal to %(limit_value)s." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:388 +#: venv/lib/python3.12/site-packages/django/core/validators.py:388 #, python-format msgid "Ensure this value is greater than or equal to %(limit_value)s." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:398 +#: venv/lib/python3.12/site-packages/django/core/validators.py:398 #, python-format msgid "" "Ensure this value has at least %(limit_value)d character (it has " @@ -190,7 +196,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:413 +#: venv/lib/python3.12/site-packages/django/core/validators.py:413 #, python-format msgid "" "Ensure this value has at most %(limit_value)d character (it has " @@ -201,27 +207,27 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:432 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:292 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:327 +#: venv/lib/python3.12/site-packages/django/core/validators.py:432 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:292 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:327 msgid "Enter a number." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:434 +#: venv/lib/python3.12/site-packages/django/core/validators.py:434 #, python-format msgid "Ensure that there are no more than %(max)s digit in total." msgid_plural "Ensure that there are no more than %(max)s digits in total." msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:439 +#: venv/lib/python3.12/site-packages/django/core/validators.py:439 #, python-format msgid "Ensure that there are no more than %(max)s decimal place." msgid_plural "Ensure that there are no more than %(max)s decimal places." msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:444 +#: venv/lib/python3.12/site-packages/django/core/validators.py:444 #, python-format msgid "" "Ensure that there are no more than %(max)s digit before the decimal point." @@ -230,339 +236,339 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:506 +#: venv/lib/python3.12/site-packages/django/core/validators.py:506 #, python-format msgid "" "File extension “%(extension)s” is not allowed. Allowed extensions are: " "%(allowed_extensions)s." msgstr "" -#: venv/lib/python3.8/site-packages/django/core/validators.py:559 +#: venv/lib/python3.12/site-packages/django/core/validators.py:559 msgid "Null characters are not allowed." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/base.py:1197 -#: venv/lib/python3.8/site-packages/django/forms/models.py:768 +#: venv/lib/python3.12/site-packages/django/db/models/base.py:1197 +#: venv/lib/python3.12/site-packages/django/forms/models.py:768 msgid "and" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/base.py:1199 +#: venv/lib/python3.12/site-packages/django/db/models/base.py:1199 #, python-format msgid "%(model_name)s with this %(field_labels)s already exists." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:100 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:100 #, python-format msgid "Value %(value)r is not a valid choice." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:101 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:101 msgid "This field cannot be null." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:102 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:102 msgid "This field cannot be blank." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:103 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:103 #, python-format msgid "%(model_name)s with this %(field_label)s already exists." msgstr "" #. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. #. Eg: "Title must be unique for pub_date year" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:107 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:107 #, python-format msgid "" "%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:126 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:126 #, python-format msgid "Field of type: %(field_type)s" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:958 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:958 #, python-format msgid "“%(value)s” value must be either True or False." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:959 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:959 #, python-format msgid "“%(value)s” value must be either True, False, or None." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:961 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:961 msgid "Boolean (Either True or False)" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1002 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1002 #, python-format msgid "String (up to %(max_length)s)" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1096 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1096 msgid "Comma-separated integers" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1145 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1145 #, python-format msgid "" "“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " "format." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1147 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1290 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1147 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1290 #, python-format msgid "" "“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " "date." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1150 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1150 msgid "Date (without time)" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1288 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1288 #, python-format msgid "" "“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." "uuuuuu]][TZ] format." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1292 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1292 #, python-format msgid "" "“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" "[TZ]) but it is an invalid date/time." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1296 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1296 msgid "Date (with time)" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1444 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1444 #, python-format msgid "“%(value)s” value must be a decimal number." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1446 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1446 msgid "Decimal number" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1585 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1585 #, python-format msgid "" "“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." "uuuuuu] format." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1588 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1588 msgid "Duration" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1638 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1638 msgid "Email address" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1661 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1661 msgid "File path" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1727 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1727 #, python-format msgid "“%(value)s” value must be a float." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1729 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1729 msgid "Floating point number" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1767 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1767 #, python-format msgid "“%(value)s” value must be an integer." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1769 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1769 msgid "Integer" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1852 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1852 msgid "Big (8 byte) integer" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1867 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1867 msgid "Small integer" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1875 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1875 msgid "IPv4 address" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1906 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1906 msgid "IP address" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1986 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1987 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1986 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1987 #, python-format msgid "“%(value)s” value must be either None, True or False." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1989 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1989 msgid "Boolean (Either True, False or None)" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2043 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2043 msgid "Positive big integer" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2056 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2056 msgid "Positive integer" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2069 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2069 msgid "Positive small integer" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2083 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2083 #, python-format msgid "Slug (up to %(max_length)s)" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2115 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2115 msgid "Text" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2181 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2181 #, python-format msgid "" "“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " "format." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2183 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2183 #, python-format msgid "" "“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " "invalid time." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2186 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2186 msgid "Time" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2312 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2312 msgid "URL" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2334 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2334 msgid "Raw binary data" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2399 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2399 #, python-format msgid "“%(value)s” is not a valid UUID." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2401 +#: venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:2401 msgid "Universally unique identifier" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/files.py:226 +#: venv/lib/python3.12/site-packages/django/db/models/fields/files.py:226 msgid "File" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/files.py:375 +#: venv/lib/python3.12/site-packages/django/db/models/fields/files.py:375 msgid "Image" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/json.py:18 +#: venv/lib/python3.12/site-packages/django/db/models/fields/json.py:18 msgid "A JSON object" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/json.py:20 +#: venv/lib/python3.12/site-packages/django/db/models/fields/json.py:20 msgid "Value must be valid JSON." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:790 +#: venv/lib/python3.12/site-packages/django/db/models/fields/related.py:790 #, python-format msgid "%(model)s instance with %(field)s %(value)r does not exist." msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:792 +#: venv/lib/python3.12/site-packages/django/db/models/fields/related.py:792 msgid "Foreign Key (type determined by related field)" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1045 +#: venv/lib/python3.12/site-packages/django/db/models/fields/related.py:1045 msgid "One-to-one relationship" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1099 +#: venv/lib/python3.12/site-packages/django/db/models/fields/related.py:1099 #, python-format msgid "%(from)s-%(to)s relationship" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1100 +#: venv/lib/python3.12/site-packages/django/db/models/fields/related.py:1100 #, python-format msgid "%(from)s-%(to)s relationships" msgstr "" -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1142 +#: venv/lib/python3.12/site-packages/django/db/models/fields/related.py:1142 msgid "Many-to-many relationship" msgstr "" #. Translators: If found as last label character, these punctuation #. characters will prevent the default label_suffix to be appended to the label -#: venv/lib/python3.8/site-packages/django/forms/boundfield.py:150 +#: venv/lib/python3.12/site-packages/django/forms/boundfield.py:150 msgid ":?.!" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:54 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:54 msgid "This field is required." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:247 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:247 msgid "Enter a whole number." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:402 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1143 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:402 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:1143 msgid "Enter a valid date." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:426 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1144 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:426 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:1144 msgid "Enter a valid time." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:454 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:454 msgid "Enter a valid date/time." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:488 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:488 msgid "Enter a valid duration." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:489 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:489 #, python-brace-format msgid "The number of days must be between {min_days} and {max_days}." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:549 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:549 msgid "No file was submitted. Check the encoding type on the form." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:550 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:550 msgid "No file was submitted." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:551 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:551 msgid "The submitted file is empty." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:553 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:553 #, python-format msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." msgid_plural "" @@ -570,551 +576,551 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:556 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:556 msgid "Please either submit a file or check the clear checkbox, not both." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:617 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:617 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:779 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:869 -#: venv/lib/python3.8/site-packages/django/forms/models.py:1309 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:779 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:869 +#: venv/lib/python3.12/site-packages/django/forms/models.py:1309 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:870 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:985 -#: venv/lib/python3.8/site-packages/django/forms/models.py:1308 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:870 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:985 +#: venv/lib/python3.12/site-packages/django/forms/models.py:1308 msgid "Enter a list of values." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:986 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:986 msgid "Enter a complete value." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1202 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:1202 msgid "Enter a valid UUID." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1232 +#: venv/lib/python3.12/site-packages/django/forms/fields.py:1232 msgid "Enter a valid JSON." msgstr "" #. Translators: This is the default suffix added to form field labels -#: venv/lib/python3.8/site-packages/django/forms/forms.py:76 +#: venv/lib/python3.12/site-packages/django/forms/forms.py:76 msgid ":" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/forms.py:203 +#: venv/lib/python3.12/site-packages/django/forms/forms.py:203 #, python-format msgid "(Hidden field %(name)s) %(error)s" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:61 +#: venv/lib/python3.12/site-packages/django/forms/formsets.py:61 #, python-format msgid "" "ManagementForm data is missing or has been tampered with. Missing fields: " "%(field_names)s. You may need to file a bug report if the issue persists." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:370 +#: venv/lib/python3.12/site-packages/django/forms/formsets.py:370 #, python-format msgid "Please submit at most %d form." msgid_plural "Please submit at most %d forms." msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:377 +#: venv/lib/python3.12/site-packages/django/forms/formsets.py:377 #, python-format msgid "Please submit at least %d form." msgid_plural "Please submit at least %d forms." msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:405 -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:412 +#: venv/lib/python3.12/site-packages/django/forms/formsets.py:405 +#: venv/lib/python3.12/site-packages/django/forms/formsets.py:412 msgid "Order" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:417 +#: venv/lib/python3.12/site-packages/django/forms/formsets.py:417 msgid "Delete" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/models.py:763 +#: venv/lib/python3.12/site-packages/django/forms/models.py:763 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/models.py:767 +#: venv/lib/python3.12/site-packages/django/forms/models.py:767 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/models.py:773 +#: venv/lib/python3.12/site-packages/django/forms/models.py:773 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/models.py:782 +#: venv/lib/python3.12/site-packages/django/forms/models.py:782 msgid "Please correct the duplicate values below." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/models.py:1109 +#: venv/lib/python3.12/site-packages/django/forms/models.py:1109 msgid "The inline value did not match the parent instance." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/models.py:1193 +#: venv/lib/python3.12/site-packages/django/forms/models.py:1193 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/models.py:1311 +#: venv/lib/python3.12/site-packages/django/forms/models.py:1311 #, python-format msgid "“%(pk)s” is not a valid value." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/utils.py:172 +#: venv/lib/python3.12/site-packages/django/forms/utils.py:172 #, python-format msgid "" "%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " "may be ambiguous or it may not exist." msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:403 +#: venv/lib/python3.12/site-packages/django/forms/widgets.py:403 msgid "Clear" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:404 +#: venv/lib/python3.12/site-packages/django/forms/widgets.py:404 msgid "Currently" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:405 +#: venv/lib/python3.12/site-packages/django/forms/widgets.py:405 msgid "Change" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:714 +#: venv/lib/python3.12/site-packages/django/forms/widgets.py:714 msgid "Unknown" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:715 +#: venv/lib/python3.12/site-packages/django/forms/widgets.py:715 msgid "Yes" msgstr "" -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:716 +#: venv/lib/python3.12/site-packages/django/forms/widgets.py:716 msgid "No" msgstr "" #. Translators: Please do not add spaces around commas. -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:805 +#: venv/lib/python3.12/site-packages/django/template/defaultfilters.py:805 msgid "yes,no,maybe" msgstr "" -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:834 -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:851 +#: venv/lib/python3.12/site-packages/django/template/defaultfilters.py:834 +#: venv/lib/python3.12/site-packages/django/template/defaultfilters.py:851 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:853 +#: venv/lib/python3.12/site-packages/django/template/defaultfilters.py:853 #, python-format msgid "%s KB" msgstr "" -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:855 +#: venv/lib/python3.12/site-packages/django/template/defaultfilters.py:855 #, python-format msgid "%s MB" msgstr "" -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:857 +#: venv/lib/python3.12/site-packages/django/template/defaultfilters.py:857 #, python-format msgid "%s GB" msgstr "" -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:859 +#: venv/lib/python3.12/site-packages/django/template/defaultfilters.py:859 #, python-format msgid "%s TB" msgstr "" -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:861 +#: venv/lib/python3.12/site-packages/django/template/defaultfilters.py:861 #, python-format msgid "%s PB" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:66 +#: venv/lib/python3.12/site-packages/django/utils/dateformat.py:66 msgid "p.m." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:67 +#: venv/lib/python3.12/site-packages/django/utils/dateformat.py:67 msgid "a.m." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:72 +#: venv/lib/python3.12/site-packages/django/utils/dateformat.py:72 msgid "PM" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:73 +#: venv/lib/python3.12/site-packages/django/utils/dateformat.py:73 msgid "AM" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:146 +#: venv/lib/python3.12/site-packages/django/utils/dateformat.py:146 msgid "midnight" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:148 +#: venv/lib/python3.12/site-packages/django/utils/dateformat.py:148 msgid "noon" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:6 msgid "Monday" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:6 msgid "Tuesday" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:6 msgid "Wednesday" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:6 msgid "Thursday" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:6 msgid "Friday" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:7 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:7 msgid "Saturday" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:7 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:7 msgid "Sunday" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:10 msgid "Mon" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:10 msgid "Tue" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:10 msgid "Wed" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:10 msgid "Thu" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:10 msgid "Fri" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:11 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:11 msgid "Sat" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:11 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:11 msgid "Sun" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:14 msgid "January" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:14 msgid "February" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:14 msgid "March" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:14 msgid "April" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:14 msgid "May" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:14 msgid "June" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:15 msgid "July" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:15 msgid "August" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:15 msgid "September" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:15 msgid "October" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:15 msgid "November" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:16 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:16 msgid "December" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:19 msgid "jan" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:19 msgid "feb" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:19 msgid "mar" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:19 msgid "apr" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:19 msgid "may" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:19 msgid "jun" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:20 msgid "jul" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:20 msgid "aug" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:20 msgid "sep" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:20 msgid "oct" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:20 msgid "nov" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:20 msgid "dec" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:23 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:23 msgctxt "abbrev. month" msgid "Jan." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:24 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:24 msgctxt "abbrev. month" msgid "Feb." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:25 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:25 msgctxt "abbrev. month" msgid "March" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:26 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:26 msgctxt "abbrev. month" msgid "April" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:27 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:27 msgctxt "abbrev. month" msgid "May" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:28 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:28 msgctxt "abbrev. month" msgid "June" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:29 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:29 msgctxt "abbrev. month" msgid "July" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:30 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:30 msgctxt "abbrev. month" msgid "Aug." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:31 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:31 msgctxt "abbrev. month" msgid "Sept." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:32 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:32 msgctxt "abbrev. month" msgid "Oct." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:33 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:33 msgctxt "abbrev. month" msgid "Nov." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:34 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:34 msgctxt "abbrev. month" msgid "Dec." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:37 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:37 msgctxt "alt. month" msgid "January" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:38 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:38 msgctxt "alt. month" msgid "February" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:39 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:39 msgctxt "alt. month" msgid "March" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:40 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:40 msgctxt "alt. month" msgid "April" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:41 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:41 msgctxt "alt. month" msgid "May" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:42 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:42 msgctxt "alt. month" msgid "June" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:43 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:43 msgctxt "alt. month" msgid "July" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:44 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:44 msgctxt "alt. month" msgid "August" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:45 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:45 msgctxt "alt. month" msgid "September" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:46 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:46 msgctxt "alt. month" msgid "October" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:47 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:47 msgctxt "alt. month" msgid "November" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/dates.py:48 +#: venv/lib/python3.12/site-packages/django/utils/dates.py:48 msgctxt "alt. month" msgid "December" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/ipv6.py:8 +#: venv/lib/python3.12/site-packages/django/utils/ipv6.py:8 msgid "This is not a valid IPv6 address." msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/text.py:71 +#: venv/lib/python3.12/site-packages/django/utils/text.py:71 #, python-format msgctxt "String to return when truncating text" msgid "%(truncated_text)s…" msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/text.py:240 +#: venv/lib/python3.12/site-packages/django/utils/text.py:240 msgid "or" msgstr "" #. Translators: This string is used as a separator between list elements -#: venv/lib/python3.8/site-packages/django/utils/text.py:259 -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:94 +#: venv/lib/python3.12/site-packages/django/utils/text.py:259 +#: venv/lib/python3.12/site-packages/django/utils/timesince.py:94 msgid ", " msgstr "" -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:9 +#: venv/lib/python3.12/site-packages/django/utils/timesince.py:9 #, python-format msgid "%d year" msgid_plural "%d years" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:10 +#: venv/lib/python3.12/site-packages/django/utils/timesince.py:10 #, python-format msgid "%d month" msgid_plural "%d months" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:11 +#: venv/lib/python3.12/site-packages/django/utils/timesince.py:11 #, python-format msgid "%d week" msgid_plural "%d weeks" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:12 +#: venv/lib/python3.12/site-packages/django/utils/timesince.py:12 #, python-format msgid "%d day" msgid_plural "%d days" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:13 +#: venv/lib/python3.12/site-packages/django/utils/timesince.py:13 #, python-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:14 +#: venv/lib/python3.12/site-packages/django/utils/timesince.py:14 #, python-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "" msgstr[1] "" -#: venv/lib/python3.8/site-packages/django/views/csrf.py:110 +#: venv/lib/python3.12/site-packages/django/views/csrf.py:110 msgid "Forbidden" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/csrf.py:111 +#: venv/lib/python3.12/site-packages/django/views/csrf.py:111 msgid "CSRF verification failed. Request aborted." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/csrf.py:115 +#: venv/lib/python3.12/site-packages/django/views/csrf.py:115 msgid "" "You are seeing this message because this HTTPS site requires a “Referer " "header” to be sent by your Web browser, but none was sent. This header is " @@ -1122,154 +1128,154 @@ msgid "" "hijacked by third parties." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/csrf.py:120 +#: venv/lib/python3.12/site-packages/django/views/csrf.py:120 msgid "" "If you have configured your browser to disable “Referer” headers, please re-" "enable them, at least for this site, or for HTTPS connections, or for “same-" "origin” requests." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/csrf.py:124 +#: venv/lib/python3.12/site-packages/django/views/csrf.py:124 msgid "" "If you are using the tag or " "including the “Referrer-Policy: no-referrer” header, please remove them. The " "CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." +"If you’re concerned about privacy, use alternatives like for links to third-party sites." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/csrf.py:132 +#: venv/lib/python3.12/site-packages/django/views/csrf.py:132 msgid "" "You are seeing this message because this site requires a CSRF cookie when " "submitting forms. This cookie is required for security reasons, to ensure " "that your browser is not being hijacked by third parties." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/csrf.py:137 +#: venv/lib/python3.12/site-packages/django/views/csrf.py:137 msgid "" "If you have configured your browser to disable cookies, please re-enable " "them, at least for this site, or for “same-origin” requests." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/csrf.py:142 +#: venv/lib/python3.12/site-packages/django/views/csrf.py:142 msgid "More information is available with DEBUG=True." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:41 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:41 msgid "No year specified" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:61 -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:111 -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:208 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:61 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:111 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:208 msgid "Date out of range" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:90 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:90 msgid "No month specified" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:142 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:142 msgid "No day specified" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:188 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:188 msgid "No week specified" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:338 -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:367 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:338 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:367 #, python-format msgid "No %(verbose_name_plural)s available" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:594 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:594 #, python-format msgid "" "Future %(verbose_name_plural)s not available because %(class_name)s." "allow_future is False." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:628 +#: venv/lib/python3.12/site-packages/django/views/generic/dates.py:628 #, python-format msgid "Invalid date string “%(datestr)s” given format “%(format)s”" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/detail.py:54 +#: venv/lib/python3.12/site-packages/django/views/generic/detail.py:54 #, python-format msgid "No %(verbose_name)s found matching the query" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/list.py:67 +#: venv/lib/python3.12/site-packages/django/views/generic/list.py:67 msgid "Page is not “last”, nor can it be converted to an int." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/list.py:72 +#: venv/lib/python3.12/site-packages/django/views/generic/list.py:72 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/generic/list.py:154 +#: venv/lib/python3.12/site-packages/django/views/generic/list.py:154 #, python-format msgid "Empty list and “%(class_name)s.allow_empty” is False." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/static.py:40 +#: venv/lib/python3.12/site-packages/django/views/static.py:40 msgid "Directory indexes are not allowed here." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/static.py:42 +#: venv/lib/python3.12/site-packages/django/views/static.py:42 #, python-format msgid "“%(path)s” does not exist" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/static.py:80 +#: venv/lib/python3.12/site-packages/django/views/static.py:80 #, python-format msgid "Index of %(directory)s" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:7 -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:221 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:7 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:221 msgid "The install worked successfully! Congratulations!" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:207 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:207 #, python-format msgid "" "View release notes for Django %(version)s" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:222 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:222 #, python-format msgid "" "You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." +"%(version)s/ref/settings/#debug\" target=\"_blank\" " +"rel=\"noopener\">DEBUG=True is in your settings file and you have not " +"configured any URLs." msgstr "" -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:230 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:230 msgid "Django Documentation" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:231 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:231 msgid "Topics, references, & how-to’s" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:239 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:239 msgid "Tutorial: A Polling App" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:240 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:240 msgid "Get started with Django" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:248 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:248 msgid "Django Community" msgstr "" -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:249 +#: venv/lib/python3.12/site-packages/django/views/templates/default_urlconf.html:249 msgid "Connect, get help, or contribute" msgstr "" diff --git a/notecheck/migrations/0019_auto_20241008_2253.py b/notecheck/migrations/0019_auto_20241008_2253.py new file mode 100644 index 0000000..094ff70 --- /dev/null +++ b/notecheck/migrations/0019_auto_20241008_2253.py @@ -0,0 +1,28 @@ +# Generated by Django 3.2.6 on 2024-10-08 20:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('notecheck', '0018_auto_20211125_1141'), + ] + + operations = [ + migrations.AlterField( + model_name='intervalexercise', + name='clef', + field=models.CharField(choices=[('treble', 'Treble'), ('bass', 'Bass'), ('treblebass', 'Treble and bass')], default='treble', max_length=10), + ), + migrations.AlterField( + model_name='notepitchexercise', + name='clef', + field=models.CharField(choices=[('treble', 'Treble'), ('bass', 'Bass'), ('treblebass', 'Treble and bass')], default='treble', max_length=10), + ), + migrations.AlterField( + model_name='scaleexercise', + name='clef', + field=models.CharField(choices=[('treble', 'Treble'), ('bass', 'Bass'), ('treblebass', 'Treble and bass')], default='treble', max_length=10), + ), + ] diff --git a/notecheck/models.py b/notecheck/models.py index cba6f4b..3f452a3 100644 --- a/notecheck/models.py +++ b/notecheck/models.py @@ -15,6 +15,7 @@ class Clefs(models.TextChoices): TREBLE = 'treble', _('Treble') BASS = 'bass', _('Bass') + TREBLE_BASS = 'treblebass', _('Treble and bass') class Exercise(models.Model): token = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) @@ -132,6 +133,13 @@ def get_instance(self): return ScaleSubmission.objects.get(pk=self.pk) raise TypeError() + def get_clef(self, ex: NotePitchExercise, i: int) -> Clefs: + """return randomized clef, if Treble and Bass is selected""" + clef = ex.clef + if clef == Clefs.TREBLE_BASS: + clef = Clefs.TREBLE if random.Random(self.seed+i).randrange(0,2) else Clefs.BASS + return clef + def get_expected_answers(self, lang: str) -> []: """return expected answers used as a helper in admin pages""" return self.get_instance().get_expected_answers(lang=lang) @@ -185,13 +193,15 @@ class Meta: def get_pitches(self) -> []: """return pitch instances generated from the seed""" ex = NotePitchExercise.objects.get(token=self.token.token) - ambitus = NotePitchExercise.AMBITUS[ex.clef] rnd = random.Random(self.seed) notes = [] pitch: DiatonicPitch = None oldPitch: DiatonicPitch = None for i in range(ex.num_questions): + clef = self.get_clef(ex, i) + ambitus = NotePitchExercise.AMBITUS[clef] + # Avoid the same pitch one right after another. while oldPitch == pitch: accs = 0 @@ -239,12 +249,14 @@ def get_pitch_pairs(self) -> []: """return pitch pairs generated from the seed""" ex = self.token.get_instance() rnd = random.Random(self.seed) - ambitus = IntervalExercise.AMBITUS[ex.clef] pitch_pairs = [] pitch_pair: (DiatonicPitch, DiatonicPitch) = None old_pitch_pair: (DiatonicPitch, DiatonicPitch) = None for i in range(ex.num_questions): + clef = self.get_clef(ex, i) + ambitus = IntervalExercise.AMBITUS[clef] + # Avoid the same note pairs one after another. while old_pitch_pair == pitch_pair: pitch1 = DiatonicPitch(rnd.randrange(ambitus[0],ambitus[1]), 0) @@ -310,12 +322,13 @@ def get_scales(self) -> [ ['DiatonicPitch'] ]: """return scales generated from the seed""" ex = self.token.get_instance() rnd = random.Random(self.seed) - ambitus = ScaleExercise.AMBITUS[ex.clef] scales: [ [DiatonicPitch] ] = [] scale: [DiatonicPitch] = None old_scale: [DiatonicPitch] = None for i in range(ex.num_questions): + clef = self.get_clef(ex, i) + ambitus = ScaleExercise.AMBITUS[clef] # Avoid the same note pairs one after another. while old_scale == scale: scale = [] diff --git a/notecheck/static/notecheck/style.css b/notecheck/static/notecheck/style.css index 915fe01..0ffd811 100644 --- a/notecheck/static/notecheck/style.css +++ b/notecheck/static/notecheck/style.css @@ -54,15 +54,21 @@ body { height:180px; } -.question.grid svg { - width:200px; - height:70px; +.note-image-holder { + width: auto; + display: inline-block; +} + +.note-image svg { + width:140%; + height:auto; } .question.grid input { display:block; width:50px; - margin-left:90px; + margin-top:5px; + margin-left:110px; } .question.row { diff --git a/notecheck/templates/notecheck/grid.html b/notecheck/templates/notecheck/grid.html index be8f74a..b91d04d 100644 --- a/notecheck/templates/notecheck/grid.html +++ b/notecheck/templates/notecheck/grid.html @@ -45,7 +45,9 @@

{{ exercise.get_title }}

{% for q in questions %}
- {{ q.svg |safe }} +
+ {{ q.svg |safe }} +
{{ exercise.get_title }} {% for q in questions %}
- {{ q.svg |safe }} +
+ {{ q.svg |safe }} +
{% for a in q.answers %} ([], [] if isinstance(submission, NotePitchSubmission): for i, p in enumerate(submission.get_pitches()): - lilysrc = "{{ \\omit Score.TimeSignature \\clef {clefname} {pitch}1 }}".format(clefname=ex.clef.lower(), pitch=p.to_lilypond()) + lilysrc = "{{ \\omit Score.TimeSignature \\clef {clefname} {pitch}1 }}".format( + clefname=submission.get_clef(ex, i).lower(), + pitch=p.to_lilypond() + ) s = generate_svg(lilysrc) questions.append( { "svg": s, "answers": [answers[i]] } ) elif isinstance(submission, IntervalSubmission): for i, p in enumerate(submission.get_pitch_pairs()): - lilysrc = "{{ \\omit Score.TimeSignature \\clef {clefname} {pitch1}1 \\omit Score.BarLine {pitch2}1 }}".format(clefname=ex.clef.lower(), pitch1=p[0].to_lilypond(), pitch2=p[1].to_lilypond()) + lilysrc = "{{ \\omit Score.TimeSignature \\clef {clefname} {pitch1}1 \\omit Score.BarLine {pitch2}1 }}".format( + clefname=submission.get_clef(ex, i).lower(), + pitch1=p[0].to_lilypond(), + pitch2=p[1].to_lilypond() + ) s = generate_svg(lilysrc) questions.append( { "svg": s, "answers": [answers[i]] } ) elif isinstance(submission, ScaleSubmission): for i, s in enumerate(submission.get_scales()): lilysrc = "{{ \\omit Score.TimeSignature \\clef {clefname} {pitch1}1 \\omit Score.BarLine s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 {pitch2}1 }}".format( - clefname=ex.clef.lower(), + clefname=submission.get_clef(ex, i).lower(), pitch1=s[0].to_lilypond(), pitch2=s[-1].to_lilypond() )