From e38546c61dabad33bd64cfdb863f34ba5a64d115 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Mon, 21 Mar 2022 19:48:38 +0100 Subject: [PATCH] Update translation files --- .../chronos/locale/ar/LC_MESSAGES/django.po | 340 ++++++++++++------ .../locale/de_DE/LC_MESSAGES/django.po | 338 +++++++++++------ .../chronos/locale/fr/LC_MESSAGES/django.po | 337 +++++++++++------ .../chronos/locale/la/LC_MESSAGES/django.po | 336 +++++++++++------ .../locale/nb_NO/LC_MESSAGES/django.po | 336 +++++++++++------ .../locale/tr_TR/LC_MESSAGES/django.po | 336 +++++++++++------ 6 files changed, 1333 insertions(+), 690 deletions(-) diff --git a/aleksis/apps/chronos/locale/ar/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/ar/LC_MESSAGES/django.po index 593061dc..c3cf80d3 100644 --- a/aleksis/apps/chronos/locale/ar/LC_MESSAGES/django.po +++ b/aleksis/apps/chronos/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-13 11:34+0000\n" +"POT-Creation-Date: 2022-03-21 19:47+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -26,7 +26,7 @@ msgstr "" msgid "Optional data for timetables" msgstr "" -#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:8 +#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:10 msgid "Timetables" msgstr "" @@ -57,431 +57,448 @@ msgstr "" msgid "Linked validity range" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:137 +#: aleksis/apps/chronos/model_extensions.py:142 msgid "Show announcement in timetable views?" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:146 +#: aleksis/apps/chronos/model_extensions.py:151 msgid "Can view group timetable" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:150 +#: aleksis/apps/chronos/model_extensions.py:155 msgid "Can view person timetable" msgstr "" -#: aleksis/apps/chronos/models.py:85 +#: aleksis/apps/chronos/models.py:86 msgid "School term" msgstr "" -#: aleksis/apps/chronos/models.py:88 aleksis/apps/chronos/models.py:686 +#: aleksis/apps/chronos/models.py:89 aleksis/apps/chronos/models.py:699 msgid "Name" msgstr "" -#: aleksis/apps/chronos/models.py:90 aleksis/apps/chronos/models.py:741 -#: aleksis/apps/chronos/models.py:816 aleksis/apps/chronos/models.py:1035 +#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754 +#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063 msgid "Start date" msgstr "" -#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:742 -#: aleksis/apps/chronos/models.py:817 aleksis/apps/chronos/models.py:1036 +#: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755 +#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064 msgid "End date" msgstr "" -#: aleksis/apps/chronos/models.py:110 +#: aleksis/apps/chronos/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/apps/chronos/models.py:117 +#: aleksis/apps/chronos/models.py:118 msgid "The validity range must be within the school term." msgstr "" -#: aleksis/apps/chronos/models.py:124 +#: aleksis/apps/chronos/models.py:125 msgid "There is already a validity range for this time or a part of this time." msgstr "" -#: aleksis/apps/chronos/models.py:131 +#: aleksis/apps/chronos/models.py:132 msgid "Validity range" msgstr "" -#: aleksis/apps/chronos/models.py:132 +#: aleksis/apps/chronos/models.py:133 msgid "Validity ranges" msgstr "" -#: aleksis/apps/chronos/models.py:149 +#: aleksis/apps/chronos/models.py:150 msgid "Week day" msgstr "" -#: aleksis/apps/chronos/models.py:151 +#: aleksis/apps/chronos/models.py:152 msgid "Number of period" msgstr "" -#: aleksis/apps/chronos/models.py:153 +#: aleksis/apps/chronos/models.py:154 msgid "Start time" msgstr "" -#: aleksis/apps/chronos/models.py:154 +#: aleksis/apps/chronos/models.py:155 msgid "End time" msgstr "" -#: aleksis/apps/chronos/models.py:337 aleksis/apps/chronos/models.py:512 -#: aleksis/apps/chronos/models.py:1156 +#: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525 +#: aleksis/apps/chronos/models.py:1193 msgid "Time period" msgstr "" -#: aleksis/apps/chronos/models.py:338 +#: aleksis/apps/chronos/models.py:339 msgid "Time periods" msgstr "" -#: aleksis/apps/chronos/models.py:342 aleksis/apps/chronos/models.py:363 -#: aleksis/apps/chronos/models.py:685 aleksis/apps/chronos/models.py:862 -#: aleksis/apps/chronos/models.py:884 +#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 +#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875 +#: aleksis/apps/chronos/models.py:897 msgid "Short name" msgstr "" -#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 -#: aleksis/apps/chronos/models.py:863 aleksis/apps/chronos/models.py:885 +#: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365 +#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898 msgid "Long name" msgstr "" -#: aleksis/apps/chronos/models.py:345 +#: aleksis/apps/chronos/models.py:346 msgid "Foreground colour" msgstr "" -#: aleksis/apps/chronos/models.py:346 +#: aleksis/apps/chronos/models.py:347 msgid "Background colour" msgstr "" -#: aleksis/apps/chronos/models.py:353 aleksis/apps/chronos/models.py:389 -#: aleksis/apps/chronos/models.py:443 aleksis/apps/chronos/models.py:1163 +#: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390 +#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29 msgid "Subject" msgstr "" -#: aleksis/apps/chronos/models.py:354 +#: aleksis/apps/chronos/models.py:355 msgid "Subjects" msgstr "" -#: aleksis/apps/chronos/models.py:373 +#: aleksis/apps/chronos/models.py:374 msgid "Can view room timetable" msgstr "" -#: aleksis/apps/chronos/models.py:375 aleksis/apps/chronos/models.py:451 -#: aleksis/apps/chronos/models.py:520 aleksis/apps/chronos/models.py:738 -#: aleksis/apps/chronos/models.py:1178 +#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454 +#: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751 +#: aleksis/apps/chronos/models.py:1215 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30 msgid "Room" msgstr "" -#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:1052 +#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080 #: aleksis/apps/chronos/templates/chronos/all.html:45 msgid "Rooms" msgstr "" -#: aleksis/apps/chronos/models.py:392 aleksis/apps/chronos/models.py:449 -#: aleksis/apps/chronos/models.py:1054 aleksis/apps/chronos/models.py:1171 +#: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452 +#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208 #: aleksis/apps/chronos/tables.py:35 #: aleksis/apps/chronos/templates/chronos/all.html:17 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28 msgid "Teachers" msgstr "" -#: aleksis/apps/chronos/models.py:398 +#: aleksis/apps/chronos/models.py:399 msgid "Periods" msgstr "" -#: aleksis/apps/chronos/models.py:400 aleksis/apps/chronos/models.py:1051 -#: aleksis/apps/chronos/models.py:1166 aleksis/apps/chronos/tables.py:34 +#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079 +#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34 #: aleksis/apps/chronos/templates/chronos/all.html:31 msgid "Groups" msgstr "" -#: aleksis/apps/chronos/models.py:423 aleksis/apps/chronos/models.py:506 -#: aleksis/apps/chronos/models.py:782 +#: aleksis/apps/chronos/models.py:424 aleksis/apps/chronos/models.py:519 +#: aleksis/apps/chronos/models.py:795 msgid "Lesson" msgstr "" -#: aleksis/apps/chronos/models.py:424 +#: aleksis/apps/chronos/models.py:425 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:9 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:19 msgid "Lessons" msgstr "" -#: aleksis/apps/chronos/models.py:430 aleksis/apps/chronos/models.py:1150 +#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187 msgid "Week" msgstr "" -#: aleksis/apps/chronos/models.py:431 aleksis/apps/chronos/models.py:1151 +#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188 msgid "Year" msgstr "" -#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:641 +#: aleksis/apps/chronos/models.py:437 aleksis/apps/chronos/models.py:654 msgid "Lesson period" msgstr "" -#: aleksis/apps/chronos/models.py:453 +#: aleksis/apps/chronos/models.py:456 msgid "Cancelled?" msgstr "" -#: aleksis/apps/chronos/models.py:455 +#: aleksis/apps/chronos/models.py:458 msgid "Cancelled for teachers?" msgstr "" -#: aleksis/apps/chronos/models.py:458 aleksis/apps/chronos/models.py:757 -#: aleksis/apps/chronos/models.py:802 aleksis/apps/chronos/models.py:1181 +#: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770 +#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218 msgid "Comment" msgstr "" -#: aleksis/apps/chronos/models.py:462 +#: aleksis/apps/chronos/models.py:465 msgid "Lessons can only be either substituted or cancelled." msgstr "" -#: aleksis/apps/chronos/models.py:493 +#: aleksis/apps/chronos/models.py:506 msgid "Lesson substitution" msgstr "" -#: aleksis/apps/chronos/models.py:494 +#: aleksis/apps/chronos/models.py:507 msgid "Lesson substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:642 +#: aleksis/apps/chronos/models.py:655 msgid "Lesson periods" msgstr "" -#: aleksis/apps/chronos/models.py:680 +#: aleksis/apps/chronos/models.py:693 msgid "Timetable widget" msgstr "" -#: aleksis/apps/chronos/models.py:681 +#: aleksis/apps/chronos/models.py:694 msgid "Timetable widgets" msgstr "" -#: aleksis/apps/chronos/models.py:695 aleksis/apps/chronos/models.py:713 +#: aleksis/apps/chronos/models.py:708 aleksis/apps/chronos/models.py:726 msgid "Absence reason" msgstr "" -#: aleksis/apps/chronos/models.py:696 +#: aleksis/apps/chronos/models.py:709 msgid "Absence reasons" msgstr "" -#: aleksis/apps/chronos/models.py:722 aleksis/apps/chronos/models.py:963 -#: aleksis/apps/chronos/models.py:1012 +#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976 +#: aleksis/apps/chronos/models.py:1027 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46 msgid "Teacher" msgstr "" -#: aleksis/apps/chronos/models.py:730 +#: aleksis/apps/chronos/models.py:743 msgid "Group" msgstr "" -#: aleksis/apps/chronos/models.py:746 aleksis/apps/chronos/models.py:789 +#: aleksis/apps/chronos/models.py:759 aleksis/apps/chronos/models.py:802 msgid "Start period" msgstr "" -#: aleksis/apps/chronos/models.py:753 aleksis/apps/chronos/models.py:796 +#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809 msgid "End period" msgstr "" -#: aleksis/apps/chronos/models.py:767 +#: aleksis/apps/chronos/models.py:780 msgid "Unknown absence" msgstr "" -#: aleksis/apps/chronos/models.py:773 +#: aleksis/apps/chronos/models.py:786 msgid "Absence" msgstr "" -#: aleksis/apps/chronos/models.py:774 +#: aleksis/apps/chronos/models.py:787 msgid "Absences" msgstr "" -#: aleksis/apps/chronos/models.py:785 +#: aleksis/apps/chronos/models.py:798 msgid "Date of exam" msgstr "" -#: aleksis/apps/chronos/models.py:801 aleksis/apps/chronos/models.py:815 -#: aleksis/apps/chronos/models.py:1033 +#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828 +#: aleksis/apps/chronos/models.py:1061 msgid "Title" msgstr "" -#: aleksis/apps/chronos/models.py:808 +#: aleksis/apps/chronos/models.py:821 msgid "Exam" msgstr "" -#: aleksis/apps/chronos/models.py:809 +#: aleksis/apps/chronos/models.py:822 msgid "Exams" msgstr "" -#: aleksis/apps/chronos/models.py:818 +#: aleksis/apps/chronos/models.py:831 msgid "Comments" msgstr "" -#: aleksis/apps/chronos/models.py:857 +#: aleksis/apps/chronos/models.py:870 msgid "Holiday" msgstr "" -#: aleksis/apps/chronos/models.py:858 +#: aleksis/apps/chronos/models.py:871 msgid "Holidays" msgstr "" -#: aleksis/apps/chronos/models.py:872 aleksis/apps/chronos/models.py:953 +#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966 msgid "Supervision area" msgstr "" -#: aleksis/apps/chronos/models.py:873 +#: aleksis/apps/chronos/models.py:886 msgid "Supervision areas" msgstr "" -#: aleksis/apps/chronos/models.py:890 +#: aleksis/apps/chronos/models.py:903 msgid "Time period after break starts" msgstr "" -#: aleksis/apps/chronos/models.py:898 +#: aleksis/apps/chronos/models.py:911 msgid "Time period before break ends" msgstr "" -#: aleksis/apps/chronos/models.py:938 aleksis/apps/chronos/models.py:957 +#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970 msgid "Break" msgstr "" -#: aleksis/apps/chronos/models.py:939 +#: aleksis/apps/chronos/models.py:952 msgid "Breaks" msgstr "" -#: aleksis/apps/chronos/models.py:994 aleksis/apps/chronos/models.py:1005 +#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15 msgid "Supervision" msgstr "" -#: aleksis/apps/chronos/models.py:995 +#: aleksis/apps/chronos/models.py:1008 msgid "Supervisions" msgstr "" -#: aleksis/apps/chronos/models.py:1001 +#: aleksis/apps/chronos/models.py:1016 msgid "Date" msgstr "" -#: aleksis/apps/chronos/models.py:1024 +#: aleksis/apps/chronos/models.py:1050 msgid "Supervision substitution" msgstr "" -#: aleksis/apps/chronos/models.py:1025 +#: aleksis/apps/chronos/models.py:1051 msgid "Supervision substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:1041 +#: aleksis/apps/chronos/models.py:1069 msgid "Start time period" msgstr "" -#: aleksis/apps/chronos/models.py:1047 +#: aleksis/apps/chronos/models.py:1075 msgid "End time period" msgstr "" -#: aleksis/apps/chronos/models.py:1061 +#: aleksis/apps/chronos/models.py:1089 #, python-brace-format msgid "Event {pk}" msgstr "" -#: aleksis/apps/chronos/models.py:1139 +#: aleksis/apps/chronos/models.py:1174 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27 msgid "Event" msgstr "" -#: aleksis/apps/chronos/models.py:1140 +#: aleksis/apps/chronos/models.py:1175 msgid "Events" msgstr "" -#: aleksis/apps/chronos/models.py:1200 +#: aleksis/apps/chronos/models.py:1244 msgid "Extra lesson" msgstr "" -#: aleksis/apps/chronos/models.py:1201 +#: aleksis/apps/chronos/models.py:1245 msgid "Extra lessons" msgstr "" -#: aleksis/apps/chronos/models.py:1211 +#: aleksis/apps/chronos/models.py:1255 msgid "Number of days shown in the plan" msgstr "" -#: aleksis/apps/chronos/models.py:1215 +#: aleksis/apps/chronos/models.py:1259 msgid "Show header box" msgstr "" -#: aleksis/apps/chronos/models.py:1216 aleksis/apps/chronos/preferences.py:59 +#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61 msgid "The header box shows affected teachers/groups." msgstr "" -#: aleksis/apps/chronos/models.py:1223 +#: aleksis/apps/chronos/models.py:1267 msgid "Revision which triggered the last update" msgstr "" -#: aleksis/apps/chronos/models.py:1297 +#: aleksis/apps/chronos/models.py:1341 msgid "Automatic plan" msgstr "" -#: aleksis/apps/chronos/models.py:1298 +#: aleksis/apps/chronos/models.py:1342 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9 msgid "Automatic plans" msgstr "" -#: aleksis/apps/chronos/models.py:1312 +#: aleksis/apps/chronos/models.py:1356 msgid "Can view all room timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1313 +#: aleksis/apps/chronos/models.py:1357 msgid "Can view all group timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1314 +#: aleksis/apps/chronos/models.py:1358 msgid "Can view all person timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1315 +#: aleksis/apps/chronos/models.py:1359 msgid "Can view timetable overview" msgstr "" -#: aleksis/apps/chronos/models.py:1316 +#: aleksis/apps/chronos/models.py:1360 msgid "Can view all lessons per day" msgstr "" -#: aleksis/apps/chronos/preferences.py:16 +#: aleksis/apps/chronos/preferences.py:18 msgid "Use parent groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:18 +#: aleksis/apps/chronos/preferences.py:20 msgid "If an lesson or substitution has only one group and this group has parent groups, show the parent groups instead of the original group." msgstr "" -#: aleksis/apps/chronos/preferences.py:29 +#: aleksis/apps/chronos/preferences.py:31 msgid "Shorten groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:30 +#: aleksis/apps/chronos/preferences.py:32 msgid "If there are more groups than the set limit, they will be collapsed." msgstr "" -#: aleksis/apps/chronos/preferences.py:38 +#: aleksis/apps/chronos/preferences.py:40 msgid "Limit of groups for shortening of groups" msgstr "" -#: aleksis/apps/chronos/preferences.py:40 +#: aleksis/apps/chronos/preferences.py:42 msgid "If an user activates shortening of groups,they will be collapsed if there are more groups than this limit." msgstr "" -#: aleksis/apps/chronos/preferences.py:50 +#: aleksis/apps/chronos/preferences.py:52 msgid "Number of days shown on substitutions print view" msgstr "" -#: aleksis/apps/chronos/preferences.py:58 +#: aleksis/apps/chronos/preferences.py:60 msgid "Show header box in substitution views" msgstr "" -#: aleksis/apps/chronos/preferences.py:68 +#: aleksis/apps/chronos/preferences.py:70 msgid "Show parent groups in header box in substitution views instead of original groups" msgstr "" +#: aleksis/apps/chronos/preferences.py:79 +msgid "How many days in advance users should be notified about timetable changes?" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:87 +msgid "Time for sending notifications about timetable changes" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:90 +msgid "This is only used for scheduling notifications which doesn't affect the time period configured above. All other notifications affecting the next days are sent immediately." +msgstr "" + +#: aleksis/apps/chronos/preferences.py:101 +#: aleksis/apps/chronos/preferences.py:109 +msgid "Send notifications for current timetable changes" +msgstr "" + #: aleksis/apps/chronos/tables.py:41 msgid "Substitution" msgstr "" @@ -585,6 +602,7 @@ msgstr "" #: aleksis/apps/chronos/templates/chronos/timetable.html:11 #: aleksis/apps/chronos/templates/chronos/timetable.html:24 #: aleksis/apps/chronos/templates/chronos/timetable_print.html:11 +#: aleksis/apps/chronos/util/notifications.py:206 msgid "Timetable" msgstr "" @@ -627,6 +645,98 @@ msgstr "" msgid "Go to smart plan" msgstr "" +#: aleksis/apps/chronos/util/notifications.py:50 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has been cancelled." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:57 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has some current changes." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:66 +#, python-brace-format +msgid "The teacher {old} is substituted by {new}." +msgid_plural "The teachers {old} are substituted by {new}." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: aleksis/apps/chronos/util/notifications.py:78 +#, python-brace-format +msgid "The subject is changed to {subject}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:84 +#, python-brace-format +msgid "The lesson is moved from {old} to {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:93 +#, python-brace-format +msgid "There is an additional comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:101 +#, python-brace-format +msgid "There is an event that starts on {date_start}, {period_from}. period and ends on {date_end}, {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:114 +#, python-brace-format +msgid "There is an event on {date} from the {period_from}. period to the {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:125 +#: aleksis/apps/chronos/util/notifications.py:145 +#, python-brace-format +msgid "Groups: {groups}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:127 +#: aleksis/apps/chronos/util/notifications.py:149 +#, python-brace-format +msgid "Teachers: {teachers}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:130 +#, python-brace-format +msgid "Rooms: {rooms}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:137 +#, python-brace-format +msgid "There is an extra lesson on {date} in the {period}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:147 +#, python-brace-format +msgid "Subject: {subject}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:151 +#, python-brace-format +msgid "Room: {room}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:153 +#, python-brace-format +msgid "Comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:156 +#, python-brace-format +msgid "The supervision of {old} on {date} between the {period_from}. period and the {period_to}. period in the area {area} is substituted by {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:207 +msgid "There are current changes to your timetable." +msgstr "" + #: aleksis/apps/chronos/views.py:270 msgid "The substitution has been saved." msgstr "" diff --git a/aleksis/apps/chronos/locale/de_DE/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/de_DE/LC_MESSAGES/django.po index 14f0f7e8..ee5854f2 100644 --- a/aleksis/apps/chronos/locale/de_DE/LC_MESSAGES/django.po +++ b/aleksis/apps/chronos/locale/de_DE/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-13 11:34+0000\n" +"POT-Creation-Date: 2022-03-21 19:47+0100\n" "PO-Revision-Date: 2022-01-12 16:35+0000\n" "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n" "Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-app-chronos/de/>\n" @@ -26,7 +26,7 @@ msgstr "Einstellungen für Stundenpläne" msgid "Optional data for timetables" msgstr "Optionale Daten für Stundenpläne" -#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:8 +#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:10 msgid "Timetables" msgstr "Stundenpläne" @@ -57,431 +57,448 @@ msgstr "Vertretungen" msgid "Linked validity range" msgstr "Zugeordneter Gültigkeitsbereich" -#: aleksis/apps/chronos/model_extensions.py:137 +#: aleksis/apps/chronos/model_extensions.py:142 msgid "Show announcement in timetable views?" msgstr "Ankündigungen in Stundenplanansichten anzeigen?" -#: aleksis/apps/chronos/model_extensions.py:146 +#: aleksis/apps/chronos/model_extensions.py:151 msgid "Can view group timetable" msgstr "Kann Gruppenstundenpläne sehen" -#: aleksis/apps/chronos/model_extensions.py:150 +#: aleksis/apps/chronos/model_extensions.py:155 msgid "Can view person timetable" msgstr "Kann Personenstundenpläne sehen" -#: aleksis/apps/chronos/models.py:85 +#: aleksis/apps/chronos/models.py:86 msgid "School term" msgstr "Schuljahr" -#: aleksis/apps/chronos/models.py:88 aleksis/apps/chronos/models.py:686 +#: aleksis/apps/chronos/models.py:89 aleksis/apps/chronos/models.py:699 msgid "Name" msgstr "Name" -#: aleksis/apps/chronos/models.py:90 aleksis/apps/chronos/models.py:741 -#: aleksis/apps/chronos/models.py:816 aleksis/apps/chronos/models.py:1035 +#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754 +#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063 msgid "Start date" msgstr "Startdatum" -#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:742 -#: aleksis/apps/chronos/models.py:817 aleksis/apps/chronos/models.py:1036 +#: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755 +#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064 msgid "End date" msgstr "Enddatum" -#: aleksis/apps/chronos/models.py:110 +#: aleksis/apps/chronos/models.py:111 msgid "The start date must be earlier than the end date." msgstr "Das Startdatum muss vor dem Enddatum liegen." -#: aleksis/apps/chronos/models.py:117 +#: aleksis/apps/chronos/models.py:118 msgid "The validity range must be within the school term." msgstr "Der Gültigkeitsbereich muss innerhalb des Schuljahres liegen." -#: aleksis/apps/chronos/models.py:124 +#: aleksis/apps/chronos/models.py:125 msgid "There is already a validity range for this time or a part of this time." msgstr "Es gibt bereits einen Gültigkeitsbereich für diesen Zeitraum oder einen Teil diesen Zeitraumes." -#: aleksis/apps/chronos/models.py:131 +#: aleksis/apps/chronos/models.py:132 msgid "Validity range" msgstr "Gültigkeitsbereich" -#: aleksis/apps/chronos/models.py:132 +#: aleksis/apps/chronos/models.py:133 msgid "Validity ranges" msgstr "Gültigkeitsbereiche" -#: aleksis/apps/chronos/models.py:149 +#: aleksis/apps/chronos/models.py:150 msgid "Week day" msgstr "Wochentag" -#: aleksis/apps/chronos/models.py:151 +#: aleksis/apps/chronos/models.py:152 msgid "Number of period" msgstr "Nummer der Stunde" -#: aleksis/apps/chronos/models.py:153 +#: aleksis/apps/chronos/models.py:154 msgid "Start time" msgstr "Startzeit" -#: aleksis/apps/chronos/models.py:154 +#: aleksis/apps/chronos/models.py:155 msgid "End time" msgstr "Endzeit" -#: aleksis/apps/chronos/models.py:337 aleksis/apps/chronos/models.py:512 -#: aleksis/apps/chronos/models.py:1156 +#: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525 +#: aleksis/apps/chronos/models.py:1193 msgid "Time period" msgstr "Stunde" -#: aleksis/apps/chronos/models.py:338 +#: aleksis/apps/chronos/models.py:339 msgid "Time periods" msgstr "Stunden" -#: aleksis/apps/chronos/models.py:342 aleksis/apps/chronos/models.py:363 -#: aleksis/apps/chronos/models.py:685 aleksis/apps/chronos/models.py:862 -#: aleksis/apps/chronos/models.py:884 +#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 +#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875 +#: aleksis/apps/chronos/models.py:897 msgid "Short name" msgstr "Kurzname" -#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 -#: aleksis/apps/chronos/models.py:863 aleksis/apps/chronos/models.py:885 +#: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365 +#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898 msgid "Long name" msgstr "Langname" -#: aleksis/apps/chronos/models.py:345 +#: aleksis/apps/chronos/models.py:346 msgid "Foreground colour" msgstr "Vordergrundfarbe" -#: aleksis/apps/chronos/models.py:346 +#: aleksis/apps/chronos/models.py:347 msgid "Background colour" msgstr "Hintergrundfarbe" -#: aleksis/apps/chronos/models.py:353 aleksis/apps/chronos/models.py:389 -#: aleksis/apps/chronos/models.py:443 aleksis/apps/chronos/models.py:1163 +#: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390 +#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29 msgid "Subject" msgstr "Fach" -#: aleksis/apps/chronos/models.py:354 +#: aleksis/apps/chronos/models.py:355 msgid "Subjects" msgstr "Fächer" -#: aleksis/apps/chronos/models.py:373 +#: aleksis/apps/chronos/models.py:374 msgid "Can view room timetable" msgstr "Kann Raumstundenpläne sehen" -#: aleksis/apps/chronos/models.py:375 aleksis/apps/chronos/models.py:451 -#: aleksis/apps/chronos/models.py:520 aleksis/apps/chronos/models.py:738 -#: aleksis/apps/chronos/models.py:1178 +#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454 +#: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751 +#: aleksis/apps/chronos/models.py:1215 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30 msgid "Room" msgstr "Raum" -#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:1052 +#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080 #: aleksis/apps/chronos/templates/chronos/all.html:45 msgid "Rooms" msgstr "Räume" -#: aleksis/apps/chronos/models.py:392 aleksis/apps/chronos/models.py:449 -#: aleksis/apps/chronos/models.py:1054 aleksis/apps/chronos/models.py:1171 +#: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452 +#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208 #: aleksis/apps/chronos/tables.py:35 #: aleksis/apps/chronos/templates/chronos/all.html:17 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28 msgid "Teachers" msgstr "Lehrkräfte" -#: aleksis/apps/chronos/models.py:398 +#: aleksis/apps/chronos/models.py:399 msgid "Periods" msgstr "Stunden" -#: aleksis/apps/chronos/models.py:400 aleksis/apps/chronos/models.py:1051 -#: aleksis/apps/chronos/models.py:1166 aleksis/apps/chronos/tables.py:34 +#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079 +#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34 #: aleksis/apps/chronos/templates/chronos/all.html:31 msgid "Groups" msgstr "Gruppen" -#: aleksis/apps/chronos/models.py:423 aleksis/apps/chronos/models.py:506 -#: aleksis/apps/chronos/models.py:782 +#: aleksis/apps/chronos/models.py:424 aleksis/apps/chronos/models.py:519 +#: aleksis/apps/chronos/models.py:795 msgid "Lesson" msgstr "Unterrichtsstunde" -#: aleksis/apps/chronos/models.py:424 +#: aleksis/apps/chronos/models.py:425 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:9 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:19 msgid "Lessons" msgstr "Unterrichtsstunden" -#: aleksis/apps/chronos/models.py:430 aleksis/apps/chronos/models.py:1150 +#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187 msgid "Week" msgstr "KW" -#: aleksis/apps/chronos/models.py:431 aleksis/apps/chronos/models.py:1151 +#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188 msgid "Year" msgstr "Jahr" -#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:641 +#: aleksis/apps/chronos/models.py:437 aleksis/apps/chronos/models.py:654 msgid "Lesson period" msgstr "Unterrichtsstunde" -#: aleksis/apps/chronos/models.py:453 +#: aleksis/apps/chronos/models.py:456 msgid "Cancelled?" msgstr "Entfällt?" -#: aleksis/apps/chronos/models.py:455 +#: aleksis/apps/chronos/models.py:458 msgid "Cancelled for teachers?" msgstr "Entfällt für Lehrkräfte?" -#: aleksis/apps/chronos/models.py:458 aleksis/apps/chronos/models.py:757 -#: aleksis/apps/chronos/models.py:802 aleksis/apps/chronos/models.py:1181 +#: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770 +#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218 msgid "Comment" msgstr "Kommentar" -#: aleksis/apps/chronos/models.py:462 +#: aleksis/apps/chronos/models.py:465 msgid "Lessons can only be either substituted or cancelled." msgstr "Unterrichtsstunden können nur entweder vertreten werden oder ausfallen." -#: aleksis/apps/chronos/models.py:493 +#: aleksis/apps/chronos/models.py:506 msgid "Lesson substitution" msgstr "Vertretung" -#: aleksis/apps/chronos/models.py:494 +#: aleksis/apps/chronos/models.py:507 msgid "Lesson substitutions" msgstr "Vertretungen" -#: aleksis/apps/chronos/models.py:642 +#: aleksis/apps/chronos/models.py:655 msgid "Lesson periods" msgstr "Unterrichtsstunden" -#: aleksis/apps/chronos/models.py:680 +#: aleksis/apps/chronos/models.py:693 msgid "Timetable widget" msgstr "Stundenplanwidget" -#: aleksis/apps/chronos/models.py:681 +#: aleksis/apps/chronos/models.py:694 msgid "Timetable widgets" msgstr "Stundenplanwidgets" -#: aleksis/apps/chronos/models.py:695 aleksis/apps/chronos/models.py:713 +#: aleksis/apps/chronos/models.py:708 aleksis/apps/chronos/models.py:726 msgid "Absence reason" msgstr "Absenzgrund" -#: aleksis/apps/chronos/models.py:696 +#: aleksis/apps/chronos/models.py:709 msgid "Absence reasons" msgstr "Absenzgründe" -#: aleksis/apps/chronos/models.py:722 aleksis/apps/chronos/models.py:963 -#: aleksis/apps/chronos/models.py:1012 +#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976 +#: aleksis/apps/chronos/models.py:1027 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46 msgid "Teacher" msgstr "Lehrkraft" -#: aleksis/apps/chronos/models.py:730 +#: aleksis/apps/chronos/models.py:743 msgid "Group" msgstr "Gruppe" -#: aleksis/apps/chronos/models.py:746 aleksis/apps/chronos/models.py:789 +#: aleksis/apps/chronos/models.py:759 aleksis/apps/chronos/models.py:802 msgid "Start period" msgstr "Startstunde" -#: aleksis/apps/chronos/models.py:753 aleksis/apps/chronos/models.py:796 +#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809 msgid "End period" msgstr "Endstunde" -#: aleksis/apps/chronos/models.py:767 +#: aleksis/apps/chronos/models.py:780 msgid "Unknown absence" msgstr "Unbekannte Absenz" -#: aleksis/apps/chronos/models.py:773 +#: aleksis/apps/chronos/models.py:786 msgid "Absence" msgstr "Absenz" -#: aleksis/apps/chronos/models.py:774 +#: aleksis/apps/chronos/models.py:787 msgid "Absences" msgstr "Fehlstunden" -#: aleksis/apps/chronos/models.py:785 +#: aleksis/apps/chronos/models.py:798 msgid "Date of exam" msgstr "Datum der Klausur" -#: aleksis/apps/chronos/models.py:801 aleksis/apps/chronos/models.py:815 -#: aleksis/apps/chronos/models.py:1033 +#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828 +#: aleksis/apps/chronos/models.py:1061 msgid "Title" msgstr "Titel" -#: aleksis/apps/chronos/models.py:808 +#: aleksis/apps/chronos/models.py:821 msgid "Exam" msgstr "Klausur" -#: aleksis/apps/chronos/models.py:809 +#: aleksis/apps/chronos/models.py:822 msgid "Exams" msgstr "Klausuren" -#: aleksis/apps/chronos/models.py:818 +#: aleksis/apps/chronos/models.py:831 msgid "Comments" msgstr "Kommentare" -#: aleksis/apps/chronos/models.py:857 +#: aleksis/apps/chronos/models.py:870 msgid "Holiday" msgstr "Ferien" -#: aleksis/apps/chronos/models.py:858 +#: aleksis/apps/chronos/models.py:871 msgid "Holidays" msgstr "Ferien" -#: aleksis/apps/chronos/models.py:872 aleksis/apps/chronos/models.py:953 +#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966 msgid "Supervision area" msgstr "Aufsichtsgebiet" -#: aleksis/apps/chronos/models.py:873 +#: aleksis/apps/chronos/models.py:886 msgid "Supervision areas" msgstr "Aufsichtsgebiete" -#: aleksis/apps/chronos/models.py:890 +#: aleksis/apps/chronos/models.py:903 msgid "Time period after break starts" msgstr "Stunde, nach der die Pause startet" -#: aleksis/apps/chronos/models.py:898 +#: aleksis/apps/chronos/models.py:911 msgid "Time period before break ends" msgstr "Stunde nach der Pause" -#: aleksis/apps/chronos/models.py:938 aleksis/apps/chronos/models.py:957 +#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970 msgid "Break" msgstr "Pause" -#: aleksis/apps/chronos/models.py:939 +#: aleksis/apps/chronos/models.py:952 msgid "Breaks" msgstr "Pausen" -#: aleksis/apps/chronos/models.py:994 aleksis/apps/chronos/models.py:1005 +#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15 msgid "Supervision" msgstr "Aufsicht" -#: aleksis/apps/chronos/models.py:995 +#: aleksis/apps/chronos/models.py:1008 msgid "Supervisions" msgstr "Aufsichten" -#: aleksis/apps/chronos/models.py:1001 +#: aleksis/apps/chronos/models.py:1016 msgid "Date" msgstr "Datum" -#: aleksis/apps/chronos/models.py:1024 +#: aleksis/apps/chronos/models.py:1050 msgid "Supervision substitution" msgstr "Aufsichtsvertretung" -#: aleksis/apps/chronos/models.py:1025 +#: aleksis/apps/chronos/models.py:1051 msgid "Supervision substitutions" msgstr "Aufsichtsvertretungen" -#: aleksis/apps/chronos/models.py:1041 +#: aleksis/apps/chronos/models.py:1069 msgid "Start time period" msgstr "Startstunde" -#: aleksis/apps/chronos/models.py:1047 +#: aleksis/apps/chronos/models.py:1075 msgid "End time period" msgstr "Endstunde" -#: aleksis/apps/chronos/models.py:1061 +#: aleksis/apps/chronos/models.py:1089 #, python-brace-format msgid "Event {pk}" msgstr "Veranstaltung {pk}" -#: aleksis/apps/chronos/models.py:1139 +#: aleksis/apps/chronos/models.py:1174 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27 msgid "Event" msgstr "Veranstaltung" -#: aleksis/apps/chronos/models.py:1140 +#: aleksis/apps/chronos/models.py:1175 msgid "Events" msgstr "Veranstaltungen" -#: aleksis/apps/chronos/models.py:1200 +#: aleksis/apps/chronos/models.py:1244 msgid "Extra lesson" msgstr "Sonderstunde" -#: aleksis/apps/chronos/models.py:1201 +#: aleksis/apps/chronos/models.py:1245 msgid "Extra lessons" msgstr "Sonderstunden" -#: aleksis/apps/chronos/models.py:1211 +#: aleksis/apps/chronos/models.py:1255 msgid "Number of days shown in the plan" msgstr "Anzahl der Tage, die im Plan angezeigt werden" -#: aleksis/apps/chronos/models.py:1215 +#: aleksis/apps/chronos/models.py:1259 msgid "Show header box" msgstr "Kopfbox anzeigen" -#: aleksis/apps/chronos/models.py:1216 aleksis/apps/chronos/preferences.py:59 +#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61 msgid "The header box shows affected teachers/groups." msgstr "Die Kopfbox zeigt betroffene Lehrkräfte/Gruppen." -#: aleksis/apps/chronos/models.py:1223 +#: aleksis/apps/chronos/models.py:1267 msgid "Revision which triggered the last update" msgstr "Revision, die die letzte Aktualisierung ausgelöst hat" -#: aleksis/apps/chronos/models.py:1297 +#: aleksis/apps/chronos/models.py:1341 msgid "Automatic plan" msgstr "Automatischer Plan" -#: aleksis/apps/chronos/models.py:1298 +#: aleksis/apps/chronos/models.py:1342 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9 msgid "Automatic plans" msgstr "Automatische Pläne" -#: aleksis/apps/chronos/models.py:1312 +#: aleksis/apps/chronos/models.py:1356 msgid "Can view all room timetables" msgstr "Kann alle Raumstundenpläne sehen" -#: aleksis/apps/chronos/models.py:1313 +#: aleksis/apps/chronos/models.py:1357 msgid "Can view all group timetables" msgstr "Kann alle Gruppenstundenpläne sehen" -#: aleksis/apps/chronos/models.py:1314 +#: aleksis/apps/chronos/models.py:1358 msgid "Can view all person timetables" msgstr "Kann alle Personenstundenpläne sehen" -#: aleksis/apps/chronos/models.py:1315 +#: aleksis/apps/chronos/models.py:1359 msgid "Can view timetable overview" msgstr "Kann Stundenplanübersicht sehen" -#: aleksis/apps/chronos/models.py:1316 +#: aleksis/apps/chronos/models.py:1360 msgid "Can view all lessons per day" msgstr "Kann alle Tagesstunden sehen" -#: aleksis/apps/chronos/preferences.py:16 +#: aleksis/apps/chronos/preferences.py:18 msgid "Use parent groups in timetable views" msgstr "Elterngruppen in Stundenplanansichten benutzen" -#: aleksis/apps/chronos/preferences.py:18 +#: aleksis/apps/chronos/preferences.py:20 msgid "If an lesson or substitution has only one group and this group has parent groups, show the parent groups instead of the original group." msgstr "Wenn eine Stunde oder Vertretung nur eine Gruppe hat und diese Gruppe Elterngruppen hat, zeige die Elterngruppen anstelle der eigentlichen Gruppe." -#: aleksis/apps/chronos/preferences.py:29 +#: aleksis/apps/chronos/preferences.py:31 msgid "Shorten groups in timetable views" msgstr "Gruppen in Stundenplanansichten kürzen" -#: aleksis/apps/chronos/preferences.py:30 +#: aleksis/apps/chronos/preferences.py:32 msgid "If there are more groups than the set limit, they will be collapsed." msgstr "Wenn es mehr Gruppen als das gesetzte Limit gibt, werden die Gruppenangaben gekürzt." -#: aleksis/apps/chronos/preferences.py:38 +#: aleksis/apps/chronos/preferences.py:40 msgid "Limit of groups for shortening of groups" msgstr "Anzahl der Gruppen, ab der gekürzt wird" -#: aleksis/apps/chronos/preferences.py:40 +#: aleksis/apps/chronos/preferences.py:42 msgid "If an user activates shortening of groups,they will be collapsed if there are more groups than this limit." msgstr "Wenn ein Benutzer die Kürzung von Gruppen aktiviert hat, werden sie ab diesem Limit gekürzt." -#: aleksis/apps/chronos/preferences.py:50 +#: aleksis/apps/chronos/preferences.py:52 msgid "Number of days shown on substitutions print view" msgstr "Anzahl der Tage, die in der Druckansicht des Vertretungsplanes angezeigt werden soll" -#: aleksis/apps/chronos/preferences.py:58 +#: aleksis/apps/chronos/preferences.py:60 msgid "Show header box in substitution views" msgstr "Kopfbox in Vertretungsplänen anzeigen" -#: aleksis/apps/chronos/preferences.py:68 +#: aleksis/apps/chronos/preferences.py:70 msgid "Show parent groups in header box in substitution views instead of original groups" msgstr "Elterngruppen in der Kopfbox in Vertretungsplänen an Stelle der eigentlichen Gruppen anzeigen" +#: aleksis/apps/chronos/preferences.py:79 +msgid "How many days in advance users should be notified about timetable changes?" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:87 +msgid "Time for sending notifications about timetable changes" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:90 +msgid "This is only used for scheduling notifications which doesn't affect the time period configured above. All other notifications affecting the next days are sent immediately." +msgstr "" + +#: aleksis/apps/chronos/preferences.py:101 +#: aleksis/apps/chronos/preferences.py:109 +msgid "Send notifications for current timetable changes" +msgstr "" + #: aleksis/apps/chronos/tables.py:41 msgid "Substitution" msgstr "Vertretung" @@ -585,6 +602,7 @@ msgstr "Druckansicht: Vertretungen" #: aleksis/apps/chronos/templates/chronos/timetable.html:11 #: aleksis/apps/chronos/templates/chronos/timetable.html:24 #: aleksis/apps/chronos/templates/chronos/timetable_print.html:11 +#: aleksis/apps/chronos/util/notifications.py:206 msgid "Timetable" msgstr "Stundenplan" @@ -633,6 +651,96 @@ msgstr "" msgid "Go to smart plan" msgstr "SMART PLAN anzeigen" +#: aleksis/apps/chronos/util/notifications.py:50 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has been cancelled." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:57 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has some current changes." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:66 +#, python-brace-format +msgid "The teacher {old} is substituted by {new}." +msgid_plural "The teachers {old} are substituted by {new}." +msgstr[0] "" +msgstr[1] "" + +#: aleksis/apps/chronos/util/notifications.py:78 +#, python-brace-format +msgid "The subject is changed to {subject}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:84 +#, python-brace-format +msgid "The lesson is moved from {old} to {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:93 +#, python-brace-format +msgid "There is an additional comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:101 +#, python-brace-format +msgid "There is an event that starts on {date_start}, {period_from}. period and ends on {date_end}, {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:114 +#, python-brace-format +msgid "There is an event on {date} from the {period_from}. period to the {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:125 +#: aleksis/apps/chronos/util/notifications.py:145 +#, python-brace-format +msgid "Groups: {groups}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:127 +#: aleksis/apps/chronos/util/notifications.py:149 +#, fuzzy, python-brace-format +#| msgid "Affected teachers" +msgid "Teachers: {teachers}" +msgstr "Betroffene Lehrkräfte" + +#: aleksis/apps/chronos/util/notifications.py:130 +#, python-brace-format +msgid "Rooms: {rooms}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:137 +#, python-brace-format +msgid "There is an extra lesson on {date} in the {period}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:147 +#, fuzzy, python-brace-format +#| msgid "Subjects" +msgid "Subject: {subject}" +msgstr "Fächer" + +#: aleksis/apps/chronos/util/notifications.py:151 +#, python-brace-format +msgid "Room: {room}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:153 +#, python-brace-format +msgid "Comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:156 +#, python-brace-format +msgid "The supervision of {old} on {date} between the {period_from}. period and the {period_to}. period in the area {area} is substituted by {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:207 +msgid "There are current changes to your timetable." +msgstr "" + #: aleksis/apps/chronos/views.py:270 msgid "The substitution has been saved." msgstr "Die Vertretung wurde gespeichert." diff --git a/aleksis/apps/chronos/locale/fr/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/fr/LC_MESSAGES/django.po index e690d8be..b346e333 100644 --- a/aleksis/apps/chronos/locale/fr/LC_MESSAGES/django.po +++ b/aleksis/apps/chronos/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-13 11:34+0000\n" +"POT-Creation-Date: 2022-03-21 19:47+0100\n" "PO-Revision-Date: 2021-06-16 11:59+0000\n" "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n" "Language-Team: French <https://translate.edugit.org/projects/aleksis/aleksis-app-chronos/fr/>\n" @@ -26,7 +26,7 @@ msgstr "" msgid "Optional data for timetables" msgstr "" -#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:8 +#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:10 msgid "Timetables" msgstr "" @@ -57,433 +57,450 @@ msgstr "" msgid "Linked validity range" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:137 +#: aleksis/apps/chronos/model_extensions.py:142 msgid "Show announcement in timetable views?" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:146 +#: aleksis/apps/chronos/model_extensions.py:151 msgid "Can view group timetable" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:150 +#: aleksis/apps/chronos/model_extensions.py:155 msgid "Can view person timetable" msgstr "" -#: aleksis/apps/chronos/models.py:85 +#: aleksis/apps/chronos/models.py:86 msgid "School term" msgstr "" -#: aleksis/apps/chronos/models.py:88 aleksis/apps/chronos/models.py:686 +#: aleksis/apps/chronos/models.py:89 aleksis/apps/chronos/models.py:699 msgid "Name" msgstr "" -#: aleksis/apps/chronos/models.py:90 aleksis/apps/chronos/models.py:741 -#: aleksis/apps/chronos/models.py:816 aleksis/apps/chronos/models.py:1035 +#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754 +#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063 msgid "Start date" msgstr "" -#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:742 -#: aleksis/apps/chronos/models.py:817 aleksis/apps/chronos/models.py:1036 +#: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755 +#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064 msgid "End date" msgstr "" -#: aleksis/apps/chronos/models.py:110 +#: aleksis/apps/chronos/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/apps/chronos/models.py:117 +#: aleksis/apps/chronos/models.py:118 msgid "The validity range must be within the school term." msgstr "" -#: aleksis/apps/chronos/models.py:124 +#: aleksis/apps/chronos/models.py:125 msgid "There is already a validity range for this time or a part of this time." msgstr "" -#: aleksis/apps/chronos/models.py:131 +#: aleksis/apps/chronos/models.py:132 msgid "Validity range" msgstr "" -#: aleksis/apps/chronos/models.py:132 +#: aleksis/apps/chronos/models.py:133 msgid "Validity ranges" msgstr "" -#: aleksis/apps/chronos/models.py:149 +#: aleksis/apps/chronos/models.py:150 msgid "Week day" msgstr "" -#: aleksis/apps/chronos/models.py:151 +#: aleksis/apps/chronos/models.py:152 msgid "Number of period" msgstr "" -#: aleksis/apps/chronos/models.py:153 +#: aleksis/apps/chronos/models.py:154 msgid "Start time" msgstr "" -#: aleksis/apps/chronos/models.py:154 +#: aleksis/apps/chronos/models.py:155 msgid "End time" msgstr "" -#: aleksis/apps/chronos/models.py:337 aleksis/apps/chronos/models.py:512 -#: aleksis/apps/chronos/models.py:1156 +#: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525 +#: aleksis/apps/chronos/models.py:1193 msgid "Time period" msgstr "" -#: aleksis/apps/chronos/models.py:338 +#: aleksis/apps/chronos/models.py:339 msgid "Time periods" msgstr "" -#: aleksis/apps/chronos/models.py:342 aleksis/apps/chronos/models.py:363 -#: aleksis/apps/chronos/models.py:685 aleksis/apps/chronos/models.py:862 -#: aleksis/apps/chronos/models.py:884 +#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 +#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875 +#: aleksis/apps/chronos/models.py:897 msgid "Short name" msgstr "" -#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 -#: aleksis/apps/chronos/models.py:863 aleksis/apps/chronos/models.py:885 +#: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365 +#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898 msgid "Long name" msgstr "" -#: aleksis/apps/chronos/models.py:345 +#: aleksis/apps/chronos/models.py:346 msgid "Foreground colour" msgstr "" -#: aleksis/apps/chronos/models.py:346 +#: aleksis/apps/chronos/models.py:347 msgid "Background colour" msgstr "" -#: aleksis/apps/chronos/models.py:353 aleksis/apps/chronos/models.py:389 -#: aleksis/apps/chronos/models.py:443 aleksis/apps/chronos/models.py:1163 +#: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390 +#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29 msgid "Subject" msgstr "Sujet" -#: aleksis/apps/chronos/models.py:354 +#: aleksis/apps/chronos/models.py:355 #, fuzzy #| msgid "Subject" msgid "Subjects" msgstr "Sujet" -#: aleksis/apps/chronos/models.py:373 +#: aleksis/apps/chronos/models.py:374 msgid "Can view room timetable" msgstr "" -#: aleksis/apps/chronos/models.py:375 aleksis/apps/chronos/models.py:451 -#: aleksis/apps/chronos/models.py:520 aleksis/apps/chronos/models.py:738 -#: aleksis/apps/chronos/models.py:1178 +#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454 +#: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751 +#: aleksis/apps/chronos/models.py:1215 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30 msgid "Room" msgstr "Salle" -#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:1052 +#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080 #: aleksis/apps/chronos/templates/chronos/all.html:45 msgid "Rooms" msgstr "" -#: aleksis/apps/chronos/models.py:392 aleksis/apps/chronos/models.py:449 -#: aleksis/apps/chronos/models.py:1054 aleksis/apps/chronos/models.py:1171 +#: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452 +#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208 #: aleksis/apps/chronos/tables.py:35 #: aleksis/apps/chronos/templates/chronos/all.html:17 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28 msgid "Teachers" msgstr "Profs" -#: aleksis/apps/chronos/models.py:398 +#: aleksis/apps/chronos/models.py:399 msgid "Periods" msgstr "" -#: aleksis/apps/chronos/models.py:400 aleksis/apps/chronos/models.py:1051 -#: aleksis/apps/chronos/models.py:1166 aleksis/apps/chronos/tables.py:34 +#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079 +#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34 #: aleksis/apps/chronos/templates/chronos/all.html:31 msgid "Groups" msgstr "" -#: aleksis/apps/chronos/models.py:423 aleksis/apps/chronos/models.py:506 -#: aleksis/apps/chronos/models.py:782 +#: aleksis/apps/chronos/models.py:424 aleksis/apps/chronos/models.py:519 +#: aleksis/apps/chronos/models.py:795 msgid "Lesson" msgstr "Cours" -#: aleksis/apps/chronos/models.py:424 +#: aleksis/apps/chronos/models.py:425 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:9 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:19 msgid "Lessons" msgstr "" -#: aleksis/apps/chronos/models.py:430 aleksis/apps/chronos/models.py:1150 +#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187 msgid "Week" msgstr "" -#: aleksis/apps/chronos/models.py:431 aleksis/apps/chronos/models.py:1151 +#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188 msgid "Year" msgstr "" -#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:641 +#: aleksis/apps/chronos/models.py:437 aleksis/apps/chronos/models.py:654 msgid "Lesson period" msgstr "" -#: aleksis/apps/chronos/models.py:453 +#: aleksis/apps/chronos/models.py:456 msgid "Cancelled?" msgstr "" -#: aleksis/apps/chronos/models.py:455 +#: aleksis/apps/chronos/models.py:458 msgid "Cancelled for teachers?" msgstr "" -#: aleksis/apps/chronos/models.py:458 aleksis/apps/chronos/models.py:757 -#: aleksis/apps/chronos/models.py:802 aleksis/apps/chronos/models.py:1181 +#: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770 +#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218 msgid "Comment" msgstr "" -#: aleksis/apps/chronos/models.py:462 +#: aleksis/apps/chronos/models.py:465 msgid "Lessons can only be either substituted or cancelled." msgstr "" -#: aleksis/apps/chronos/models.py:493 +#: aleksis/apps/chronos/models.py:506 msgid "Lesson substitution" msgstr "" -#: aleksis/apps/chronos/models.py:494 +#: aleksis/apps/chronos/models.py:507 msgid "Lesson substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:642 +#: aleksis/apps/chronos/models.py:655 msgid "Lesson periods" msgstr "" -#: aleksis/apps/chronos/models.py:680 +#: aleksis/apps/chronos/models.py:693 msgid "Timetable widget" msgstr "" -#: aleksis/apps/chronos/models.py:681 +#: aleksis/apps/chronos/models.py:694 msgid "Timetable widgets" msgstr "" -#: aleksis/apps/chronos/models.py:695 aleksis/apps/chronos/models.py:713 +#: aleksis/apps/chronos/models.py:708 aleksis/apps/chronos/models.py:726 msgid "Absence reason" msgstr "" -#: aleksis/apps/chronos/models.py:696 +#: aleksis/apps/chronos/models.py:709 msgid "Absence reasons" msgstr "" -#: aleksis/apps/chronos/models.py:722 aleksis/apps/chronos/models.py:963 -#: aleksis/apps/chronos/models.py:1012 +#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976 +#: aleksis/apps/chronos/models.py:1027 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46 msgid "Teacher" msgstr "prof" -#: aleksis/apps/chronos/models.py:730 +#: aleksis/apps/chronos/models.py:743 msgid "Group" msgstr "groupe" -#: aleksis/apps/chronos/models.py:746 aleksis/apps/chronos/models.py:789 +#: aleksis/apps/chronos/models.py:759 aleksis/apps/chronos/models.py:802 msgid "Start period" msgstr "" -#: aleksis/apps/chronos/models.py:753 aleksis/apps/chronos/models.py:796 +#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809 msgid "End period" msgstr "" -#: aleksis/apps/chronos/models.py:767 +#: aleksis/apps/chronos/models.py:780 msgid "Unknown absence" msgstr "" -#: aleksis/apps/chronos/models.py:773 +#: aleksis/apps/chronos/models.py:786 msgid "Absence" msgstr "" -#: aleksis/apps/chronos/models.py:774 +#: aleksis/apps/chronos/models.py:787 msgid "Absences" msgstr "Absences" -#: aleksis/apps/chronos/models.py:785 +#: aleksis/apps/chronos/models.py:798 msgid "Date of exam" msgstr "" -#: aleksis/apps/chronos/models.py:801 aleksis/apps/chronos/models.py:815 -#: aleksis/apps/chronos/models.py:1033 +#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828 +#: aleksis/apps/chronos/models.py:1061 msgid "Title" msgstr "" -#: aleksis/apps/chronos/models.py:808 +#: aleksis/apps/chronos/models.py:821 msgid "Exam" msgstr "" -#: aleksis/apps/chronos/models.py:809 +#: aleksis/apps/chronos/models.py:822 msgid "Exams" msgstr "" -#: aleksis/apps/chronos/models.py:818 +#: aleksis/apps/chronos/models.py:831 msgid "Comments" msgstr "" -#: aleksis/apps/chronos/models.py:857 +#: aleksis/apps/chronos/models.py:870 msgid "Holiday" msgstr "" -#: aleksis/apps/chronos/models.py:858 +#: aleksis/apps/chronos/models.py:871 msgid "Holidays" msgstr "" -#: aleksis/apps/chronos/models.py:872 aleksis/apps/chronos/models.py:953 +#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966 msgid "Supervision area" msgstr "" -#: aleksis/apps/chronos/models.py:873 +#: aleksis/apps/chronos/models.py:886 msgid "Supervision areas" msgstr "" -#: aleksis/apps/chronos/models.py:890 +#: aleksis/apps/chronos/models.py:903 msgid "Time period after break starts" msgstr "" -#: aleksis/apps/chronos/models.py:898 +#: aleksis/apps/chronos/models.py:911 msgid "Time period before break ends" msgstr "" -#: aleksis/apps/chronos/models.py:938 aleksis/apps/chronos/models.py:957 +#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970 msgid "Break" msgstr "" -#: aleksis/apps/chronos/models.py:939 +#: aleksis/apps/chronos/models.py:952 msgid "Breaks" msgstr "" -#: aleksis/apps/chronos/models.py:994 aleksis/apps/chronos/models.py:1005 +#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15 msgid "Supervision" msgstr "" -#: aleksis/apps/chronos/models.py:995 +#: aleksis/apps/chronos/models.py:1008 msgid "Supervisions" msgstr "" -#: aleksis/apps/chronos/models.py:1001 +#: aleksis/apps/chronos/models.py:1016 msgid "Date" msgstr "Date" -#: aleksis/apps/chronos/models.py:1024 +#: aleksis/apps/chronos/models.py:1050 msgid "Supervision substitution" msgstr "" -#: aleksis/apps/chronos/models.py:1025 +#: aleksis/apps/chronos/models.py:1051 msgid "Supervision substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:1041 +#: aleksis/apps/chronos/models.py:1069 msgid "Start time period" msgstr "" -#: aleksis/apps/chronos/models.py:1047 +#: aleksis/apps/chronos/models.py:1075 msgid "End time period" msgstr "" -#: aleksis/apps/chronos/models.py:1061 +#: aleksis/apps/chronos/models.py:1089 #, python-brace-format msgid "Event {pk}" msgstr "" -#: aleksis/apps/chronos/models.py:1139 +#: aleksis/apps/chronos/models.py:1174 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27 msgid "Event" msgstr "" -#: aleksis/apps/chronos/models.py:1140 +#: aleksis/apps/chronos/models.py:1175 msgid "Events" msgstr "" -#: aleksis/apps/chronos/models.py:1200 +#: aleksis/apps/chronos/models.py:1244 msgid "Extra lesson" msgstr "" -#: aleksis/apps/chronos/models.py:1201 +#: aleksis/apps/chronos/models.py:1245 msgid "Extra lessons" msgstr "" -#: aleksis/apps/chronos/models.py:1211 +#: aleksis/apps/chronos/models.py:1255 msgid "Number of days shown in the plan" msgstr "" -#: aleksis/apps/chronos/models.py:1215 +#: aleksis/apps/chronos/models.py:1259 msgid "Show header box" msgstr "" -#: aleksis/apps/chronos/models.py:1216 aleksis/apps/chronos/preferences.py:59 +#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61 msgid "The header box shows affected teachers/groups." msgstr "" -#: aleksis/apps/chronos/models.py:1223 +#: aleksis/apps/chronos/models.py:1267 msgid "Revision which triggered the last update" msgstr "" -#: aleksis/apps/chronos/models.py:1297 +#: aleksis/apps/chronos/models.py:1341 msgid "Automatic plan" msgstr "" -#: aleksis/apps/chronos/models.py:1298 +#: aleksis/apps/chronos/models.py:1342 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9 msgid "Automatic plans" msgstr "" -#: aleksis/apps/chronos/models.py:1312 +#: aleksis/apps/chronos/models.py:1356 msgid "Can view all room timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1313 +#: aleksis/apps/chronos/models.py:1357 msgid "Can view all group timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1314 +#: aleksis/apps/chronos/models.py:1358 msgid "Can view all person timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1315 +#: aleksis/apps/chronos/models.py:1359 msgid "Can view timetable overview" msgstr "" -#: aleksis/apps/chronos/models.py:1316 +#: aleksis/apps/chronos/models.py:1360 msgid "Can view all lessons per day" msgstr "" -#: aleksis/apps/chronos/preferences.py:16 +#: aleksis/apps/chronos/preferences.py:18 msgid "Use parent groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:18 +#: aleksis/apps/chronos/preferences.py:20 msgid "If an lesson or substitution has only one group and this group has parent groups, show the parent groups instead of the original group." msgstr "" -#: aleksis/apps/chronos/preferences.py:29 +#: aleksis/apps/chronos/preferences.py:31 msgid "Shorten groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:30 +#: aleksis/apps/chronos/preferences.py:32 msgid "If there are more groups than the set limit, they will be collapsed." msgstr "" -#: aleksis/apps/chronos/preferences.py:38 +#: aleksis/apps/chronos/preferences.py:40 msgid "Limit of groups for shortening of groups" msgstr "" -#: aleksis/apps/chronos/preferences.py:40 +#: aleksis/apps/chronos/preferences.py:42 msgid "If an user activates shortening of groups,they will be collapsed if there are more groups than this limit." msgstr "" -#: aleksis/apps/chronos/preferences.py:50 +#: aleksis/apps/chronos/preferences.py:52 msgid "Number of days shown on substitutions print view" msgstr "" -#: aleksis/apps/chronos/preferences.py:58 +#: aleksis/apps/chronos/preferences.py:60 msgid "Show header box in substitution views" msgstr "" -#: aleksis/apps/chronos/preferences.py:68 +#: aleksis/apps/chronos/preferences.py:70 msgid "Show parent groups in header box in substitution views instead of original groups" msgstr "" +#: aleksis/apps/chronos/preferences.py:79 +msgid "How many days in advance users should be notified about timetable changes?" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:87 +msgid "Time for sending notifications about timetable changes" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:90 +msgid "This is only used for scheduling notifications which doesn't affect the time period configured above. All other notifications affecting the next days are sent immediately." +msgstr "" + +#: aleksis/apps/chronos/preferences.py:101 +#: aleksis/apps/chronos/preferences.py:109 +msgid "Send notifications for current timetable changes" +msgstr "" + #: aleksis/apps/chronos/tables.py:41 msgid "Substitution" msgstr "" @@ -587,6 +604,7 @@ msgstr "" #: aleksis/apps/chronos/templates/chronos/timetable.html:11 #: aleksis/apps/chronos/templates/chronos/timetable.html:24 #: aleksis/apps/chronos/templates/chronos/timetable_print.html:11 +#: aleksis/apps/chronos/util/notifications.py:206 msgid "Timetable" msgstr "" @@ -629,6 +647,95 @@ msgstr "" msgid "Go to smart plan" msgstr "" +#: aleksis/apps/chronos/util/notifications.py:50 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has been cancelled." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:57 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has some current changes." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:66 +#, python-brace-format +msgid "The teacher {old} is substituted by {new}." +msgid_plural "The teachers {old} are substituted by {new}." +msgstr[0] "" +msgstr[1] "" + +#: aleksis/apps/chronos/util/notifications.py:78 +#, python-brace-format +msgid "The subject is changed to {subject}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:84 +#, python-brace-format +msgid "The lesson is moved from {old} to {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:93 +#, python-brace-format +msgid "There is an additional comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:101 +#, python-brace-format +msgid "There is an event that starts on {date_start}, {period_from}. period and ends on {date_end}, {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:114 +#, python-brace-format +msgid "There is an event on {date} from the {period_from}. period to the {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:125 +#: aleksis/apps/chronos/util/notifications.py:145 +#, python-brace-format +msgid "Groups: {groups}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:127 +#: aleksis/apps/chronos/util/notifications.py:149 +#, python-brace-format +msgid "Teachers: {teachers}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:130 +#, python-brace-format +msgid "Rooms: {rooms}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:137 +#, python-brace-format +msgid "There is an extra lesson on {date} in the {period}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:147 +#, fuzzy, python-brace-format +#| msgid "Subject" +msgid "Subject: {subject}" +msgstr "Sujet" + +#: aleksis/apps/chronos/util/notifications.py:151 +#, python-brace-format +msgid "Room: {room}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:153 +#, python-brace-format +msgid "Comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:156 +#, python-brace-format +msgid "The supervision of {old} on {date} between the {period_from}. period and the {period_to}. period in the area {area} is substituted by {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:207 +msgid "There are current changes to your timetable." +msgstr "" + #: aleksis/apps/chronos/views.py:270 msgid "The substitution has been saved." msgstr "" diff --git a/aleksis/apps/chronos/locale/la/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/la/LC_MESSAGES/django.po index a5e7d42c..a1d9bb53 100644 --- a/aleksis/apps/chronos/locale/la/LC_MESSAGES/django.po +++ b/aleksis/apps/chronos/locale/la/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-13 11:34+0000\n" +"POT-Creation-Date: 2022-03-21 19:47+0100\n" "PO-Revision-Date: 2020-08-23 13:49+0000\n" "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n" "Language-Team: Latin <https://translate.edugit.org/projects/aleksis/aleksis-app-chronos/la/>\n" @@ -26,7 +26,7 @@ msgstr "" msgid "Optional data for timetables" msgstr "" -#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:8 +#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:10 msgid "Timetables" msgstr "" @@ -57,431 +57,448 @@ msgstr "" msgid "Linked validity range" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:137 +#: aleksis/apps/chronos/model_extensions.py:142 msgid "Show announcement in timetable views?" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:146 +#: aleksis/apps/chronos/model_extensions.py:151 msgid "Can view group timetable" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:150 +#: aleksis/apps/chronos/model_extensions.py:155 msgid "Can view person timetable" msgstr "" -#: aleksis/apps/chronos/models.py:85 +#: aleksis/apps/chronos/models.py:86 msgid "School term" msgstr "" -#: aleksis/apps/chronos/models.py:88 aleksis/apps/chronos/models.py:686 +#: aleksis/apps/chronos/models.py:89 aleksis/apps/chronos/models.py:699 msgid "Name" msgstr "" -#: aleksis/apps/chronos/models.py:90 aleksis/apps/chronos/models.py:741 -#: aleksis/apps/chronos/models.py:816 aleksis/apps/chronos/models.py:1035 +#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754 +#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063 msgid "Start date" msgstr "" -#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:742 -#: aleksis/apps/chronos/models.py:817 aleksis/apps/chronos/models.py:1036 +#: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755 +#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064 msgid "End date" msgstr "" -#: aleksis/apps/chronos/models.py:110 +#: aleksis/apps/chronos/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/apps/chronos/models.py:117 +#: aleksis/apps/chronos/models.py:118 msgid "The validity range must be within the school term." msgstr "" -#: aleksis/apps/chronos/models.py:124 +#: aleksis/apps/chronos/models.py:125 msgid "There is already a validity range for this time or a part of this time." msgstr "" -#: aleksis/apps/chronos/models.py:131 +#: aleksis/apps/chronos/models.py:132 msgid "Validity range" msgstr "" -#: aleksis/apps/chronos/models.py:132 +#: aleksis/apps/chronos/models.py:133 msgid "Validity ranges" msgstr "" -#: aleksis/apps/chronos/models.py:149 +#: aleksis/apps/chronos/models.py:150 msgid "Week day" msgstr "" -#: aleksis/apps/chronos/models.py:151 +#: aleksis/apps/chronos/models.py:152 msgid "Number of period" msgstr "" -#: aleksis/apps/chronos/models.py:153 +#: aleksis/apps/chronos/models.py:154 msgid "Start time" msgstr "" -#: aleksis/apps/chronos/models.py:154 +#: aleksis/apps/chronos/models.py:155 msgid "End time" msgstr "" -#: aleksis/apps/chronos/models.py:337 aleksis/apps/chronos/models.py:512 -#: aleksis/apps/chronos/models.py:1156 +#: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525 +#: aleksis/apps/chronos/models.py:1193 msgid "Time period" msgstr "" -#: aleksis/apps/chronos/models.py:338 +#: aleksis/apps/chronos/models.py:339 msgid "Time periods" msgstr "" -#: aleksis/apps/chronos/models.py:342 aleksis/apps/chronos/models.py:363 -#: aleksis/apps/chronos/models.py:685 aleksis/apps/chronos/models.py:862 -#: aleksis/apps/chronos/models.py:884 +#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 +#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875 +#: aleksis/apps/chronos/models.py:897 msgid "Short name" msgstr "" -#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 -#: aleksis/apps/chronos/models.py:863 aleksis/apps/chronos/models.py:885 +#: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365 +#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898 msgid "Long name" msgstr "" -#: aleksis/apps/chronos/models.py:345 +#: aleksis/apps/chronos/models.py:346 msgid "Foreground colour" msgstr "" -#: aleksis/apps/chronos/models.py:346 +#: aleksis/apps/chronos/models.py:347 msgid "Background colour" msgstr "" -#: aleksis/apps/chronos/models.py:353 aleksis/apps/chronos/models.py:389 -#: aleksis/apps/chronos/models.py:443 aleksis/apps/chronos/models.py:1163 +#: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390 +#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29 msgid "Subject" msgstr "" -#: aleksis/apps/chronos/models.py:354 +#: aleksis/apps/chronos/models.py:355 msgid "Subjects" msgstr "" -#: aleksis/apps/chronos/models.py:373 +#: aleksis/apps/chronos/models.py:374 msgid "Can view room timetable" msgstr "" -#: aleksis/apps/chronos/models.py:375 aleksis/apps/chronos/models.py:451 -#: aleksis/apps/chronos/models.py:520 aleksis/apps/chronos/models.py:738 -#: aleksis/apps/chronos/models.py:1178 +#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454 +#: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751 +#: aleksis/apps/chronos/models.py:1215 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30 msgid "Room" msgstr "" -#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:1052 +#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080 #: aleksis/apps/chronos/templates/chronos/all.html:45 msgid "Rooms" msgstr "" -#: aleksis/apps/chronos/models.py:392 aleksis/apps/chronos/models.py:449 -#: aleksis/apps/chronos/models.py:1054 aleksis/apps/chronos/models.py:1171 +#: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452 +#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208 #: aleksis/apps/chronos/tables.py:35 #: aleksis/apps/chronos/templates/chronos/all.html:17 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28 msgid "Teachers" msgstr "" -#: aleksis/apps/chronos/models.py:398 +#: aleksis/apps/chronos/models.py:399 msgid "Periods" msgstr "" -#: aleksis/apps/chronos/models.py:400 aleksis/apps/chronos/models.py:1051 -#: aleksis/apps/chronos/models.py:1166 aleksis/apps/chronos/tables.py:34 +#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079 +#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34 #: aleksis/apps/chronos/templates/chronos/all.html:31 msgid "Groups" msgstr "" -#: aleksis/apps/chronos/models.py:423 aleksis/apps/chronos/models.py:506 -#: aleksis/apps/chronos/models.py:782 +#: aleksis/apps/chronos/models.py:424 aleksis/apps/chronos/models.py:519 +#: aleksis/apps/chronos/models.py:795 msgid "Lesson" msgstr "" -#: aleksis/apps/chronos/models.py:424 +#: aleksis/apps/chronos/models.py:425 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:9 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:19 msgid "Lessons" msgstr "" -#: aleksis/apps/chronos/models.py:430 aleksis/apps/chronos/models.py:1150 +#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187 msgid "Week" msgstr "" -#: aleksis/apps/chronos/models.py:431 aleksis/apps/chronos/models.py:1151 +#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188 msgid "Year" msgstr "" -#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:641 +#: aleksis/apps/chronos/models.py:437 aleksis/apps/chronos/models.py:654 msgid "Lesson period" msgstr "" -#: aleksis/apps/chronos/models.py:453 +#: aleksis/apps/chronos/models.py:456 msgid "Cancelled?" msgstr "" -#: aleksis/apps/chronos/models.py:455 +#: aleksis/apps/chronos/models.py:458 msgid "Cancelled for teachers?" msgstr "" -#: aleksis/apps/chronos/models.py:458 aleksis/apps/chronos/models.py:757 -#: aleksis/apps/chronos/models.py:802 aleksis/apps/chronos/models.py:1181 +#: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770 +#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218 msgid "Comment" msgstr "" -#: aleksis/apps/chronos/models.py:462 +#: aleksis/apps/chronos/models.py:465 msgid "Lessons can only be either substituted or cancelled." msgstr "" -#: aleksis/apps/chronos/models.py:493 +#: aleksis/apps/chronos/models.py:506 msgid "Lesson substitution" msgstr "" -#: aleksis/apps/chronos/models.py:494 +#: aleksis/apps/chronos/models.py:507 msgid "Lesson substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:642 +#: aleksis/apps/chronos/models.py:655 msgid "Lesson periods" msgstr "" -#: aleksis/apps/chronos/models.py:680 +#: aleksis/apps/chronos/models.py:693 msgid "Timetable widget" msgstr "" -#: aleksis/apps/chronos/models.py:681 +#: aleksis/apps/chronos/models.py:694 msgid "Timetable widgets" msgstr "" -#: aleksis/apps/chronos/models.py:695 aleksis/apps/chronos/models.py:713 +#: aleksis/apps/chronos/models.py:708 aleksis/apps/chronos/models.py:726 msgid "Absence reason" msgstr "" -#: aleksis/apps/chronos/models.py:696 +#: aleksis/apps/chronos/models.py:709 msgid "Absence reasons" msgstr "" -#: aleksis/apps/chronos/models.py:722 aleksis/apps/chronos/models.py:963 -#: aleksis/apps/chronos/models.py:1012 +#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976 +#: aleksis/apps/chronos/models.py:1027 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46 msgid "Teacher" msgstr "" -#: aleksis/apps/chronos/models.py:730 +#: aleksis/apps/chronos/models.py:743 msgid "Group" msgstr "Grex" -#: aleksis/apps/chronos/models.py:746 aleksis/apps/chronos/models.py:789 +#: aleksis/apps/chronos/models.py:759 aleksis/apps/chronos/models.py:802 msgid "Start period" msgstr "" -#: aleksis/apps/chronos/models.py:753 aleksis/apps/chronos/models.py:796 +#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809 msgid "End period" msgstr "" -#: aleksis/apps/chronos/models.py:767 +#: aleksis/apps/chronos/models.py:780 msgid "Unknown absence" msgstr "" -#: aleksis/apps/chronos/models.py:773 +#: aleksis/apps/chronos/models.py:786 msgid "Absence" msgstr "" -#: aleksis/apps/chronos/models.py:774 +#: aleksis/apps/chronos/models.py:787 msgid "Absences" msgstr "" -#: aleksis/apps/chronos/models.py:785 +#: aleksis/apps/chronos/models.py:798 msgid "Date of exam" msgstr "" -#: aleksis/apps/chronos/models.py:801 aleksis/apps/chronos/models.py:815 -#: aleksis/apps/chronos/models.py:1033 +#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828 +#: aleksis/apps/chronos/models.py:1061 msgid "Title" msgstr "" -#: aleksis/apps/chronos/models.py:808 +#: aleksis/apps/chronos/models.py:821 msgid "Exam" msgstr "" -#: aleksis/apps/chronos/models.py:809 +#: aleksis/apps/chronos/models.py:822 msgid "Exams" msgstr "" -#: aleksis/apps/chronos/models.py:818 +#: aleksis/apps/chronos/models.py:831 msgid "Comments" msgstr "" -#: aleksis/apps/chronos/models.py:857 +#: aleksis/apps/chronos/models.py:870 msgid "Holiday" msgstr "" -#: aleksis/apps/chronos/models.py:858 +#: aleksis/apps/chronos/models.py:871 msgid "Holidays" msgstr "" -#: aleksis/apps/chronos/models.py:872 aleksis/apps/chronos/models.py:953 +#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966 msgid "Supervision area" msgstr "" -#: aleksis/apps/chronos/models.py:873 +#: aleksis/apps/chronos/models.py:886 msgid "Supervision areas" msgstr "" -#: aleksis/apps/chronos/models.py:890 +#: aleksis/apps/chronos/models.py:903 msgid "Time period after break starts" msgstr "" -#: aleksis/apps/chronos/models.py:898 +#: aleksis/apps/chronos/models.py:911 msgid "Time period before break ends" msgstr "" -#: aleksis/apps/chronos/models.py:938 aleksis/apps/chronos/models.py:957 +#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970 msgid "Break" msgstr "" -#: aleksis/apps/chronos/models.py:939 +#: aleksis/apps/chronos/models.py:952 msgid "Breaks" msgstr "" -#: aleksis/apps/chronos/models.py:994 aleksis/apps/chronos/models.py:1005 +#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15 msgid "Supervision" msgstr "" -#: aleksis/apps/chronos/models.py:995 +#: aleksis/apps/chronos/models.py:1008 msgid "Supervisions" msgstr "" -#: aleksis/apps/chronos/models.py:1001 +#: aleksis/apps/chronos/models.py:1016 msgid "Date" msgstr "" -#: aleksis/apps/chronos/models.py:1024 +#: aleksis/apps/chronos/models.py:1050 msgid "Supervision substitution" msgstr "" -#: aleksis/apps/chronos/models.py:1025 +#: aleksis/apps/chronos/models.py:1051 msgid "Supervision substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:1041 +#: aleksis/apps/chronos/models.py:1069 msgid "Start time period" msgstr "" -#: aleksis/apps/chronos/models.py:1047 +#: aleksis/apps/chronos/models.py:1075 msgid "End time period" msgstr "" -#: aleksis/apps/chronos/models.py:1061 +#: aleksis/apps/chronos/models.py:1089 #, python-brace-format msgid "Event {pk}" msgstr "" -#: aleksis/apps/chronos/models.py:1139 +#: aleksis/apps/chronos/models.py:1174 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27 msgid "Event" msgstr "" -#: aleksis/apps/chronos/models.py:1140 +#: aleksis/apps/chronos/models.py:1175 msgid "Events" msgstr "" -#: aleksis/apps/chronos/models.py:1200 +#: aleksis/apps/chronos/models.py:1244 msgid "Extra lesson" msgstr "" -#: aleksis/apps/chronos/models.py:1201 +#: aleksis/apps/chronos/models.py:1245 msgid "Extra lessons" msgstr "" -#: aleksis/apps/chronos/models.py:1211 +#: aleksis/apps/chronos/models.py:1255 msgid "Number of days shown in the plan" msgstr "" -#: aleksis/apps/chronos/models.py:1215 +#: aleksis/apps/chronos/models.py:1259 msgid "Show header box" msgstr "" -#: aleksis/apps/chronos/models.py:1216 aleksis/apps/chronos/preferences.py:59 +#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61 msgid "The header box shows affected teachers/groups." msgstr "" -#: aleksis/apps/chronos/models.py:1223 +#: aleksis/apps/chronos/models.py:1267 msgid "Revision which triggered the last update" msgstr "" -#: aleksis/apps/chronos/models.py:1297 +#: aleksis/apps/chronos/models.py:1341 msgid "Automatic plan" msgstr "" -#: aleksis/apps/chronos/models.py:1298 +#: aleksis/apps/chronos/models.py:1342 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9 msgid "Automatic plans" msgstr "" -#: aleksis/apps/chronos/models.py:1312 +#: aleksis/apps/chronos/models.py:1356 msgid "Can view all room timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1313 +#: aleksis/apps/chronos/models.py:1357 msgid "Can view all group timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1314 +#: aleksis/apps/chronos/models.py:1358 msgid "Can view all person timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1315 +#: aleksis/apps/chronos/models.py:1359 msgid "Can view timetable overview" msgstr "" -#: aleksis/apps/chronos/models.py:1316 +#: aleksis/apps/chronos/models.py:1360 msgid "Can view all lessons per day" msgstr "" -#: aleksis/apps/chronos/preferences.py:16 +#: aleksis/apps/chronos/preferences.py:18 msgid "Use parent groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:18 +#: aleksis/apps/chronos/preferences.py:20 msgid "If an lesson or substitution has only one group and this group has parent groups, show the parent groups instead of the original group." msgstr "" -#: aleksis/apps/chronos/preferences.py:29 +#: aleksis/apps/chronos/preferences.py:31 msgid "Shorten groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:30 +#: aleksis/apps/chronos/preferences.py:32 msgid "If there are more groups than the set limit, they will be collapsed." msgstr "" -#: aleksis/apps/chronos/preferences.py:38 +#: aleksis/apps/chronos/preferences.py:40 msgid "Limit of groups for shortening of groups" msgstr "" -#: aleksis/apps/chronos/preferences.py:40 +#: aleksis/apps/chronos/preferences.py:42 msgid "If an user activates shortening of groups,they will be collapsed if there are more groups than this limit." msgstr "" -#: aleksis/apps/chronos/preferences.py:50 +#: aleksis/apps/chronos/preferences.py:52 msgid "Number of days shown on substitutions print view" msgstr "" -#: aleksis/apps/chronos/preferences.py:58 +#: aleksis/apps/chronos/preferences.py:60 msgid "Show header box in substitution views" msgstr "" -#: aleksis/apps/chronos/preferences.py:68 +#: aleksis/apps/chronos/preferences.py:70 msgid "Show parent groups in header box in substitution views instead of original groups" msgstr "" +#: aleksis/apps/chronos/preferences.py:79 +msgid "How many days in advance users should be notified about timetable changes?" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:87 +msgid "Time for sending notifications about timetable changes" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:90 +msgid "This is only used for scheduling notifications which doesn't affect the time period configured above. All other notifications affecting the next days are sent immediately." +msgstr "" + +#: aleksis/apps/chronos/preferences.py:101 +#: aleksis/apps/chronos/preferences.py:109 +msgid "Send notifications for current timetable changes" +msgstr "" + #: aleksis/apps/chronos/tables.py:41 msgid "Substitution" msgstr "" @@ -585,6 +602,7 @@ msgstr "" #: aleksis/apps/chronos/templates/chronos/timetable.html:11 #: aleksis/apps/chronos/templates/chronos/timetable.html:24 #: aleksis/apps/chronos/templates/chronos/timetable_print.html:11 +#: aleksis/apps/chronos/util/notifications.py:206 msgid "Timetable" msgstr "" @@ -627,6 +645,94 @@ msgstr "" msgid "Go to smart plan" msgstr "" +#: aleksis/apps/chronos/util/notifications.py:50 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has been cancelled." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:57 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has some current changes." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:66 +#, python-brace-format +msgid "The teacher {old} is substituted by {new}." +msgid_plural "The teachers {old} are substituted by {new}." +msgstr[0] "" +msgstr[1] "" + +#: aleksis/apps/chronos/util/notifications.py:78 +#, python-brace-format +msgid "The subject is changed to {subject}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:84 +#, python-brace-format +msgid "The lesson is moved from {old} to {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:93 +#, python-brace-format +msgid "There is an additional comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:101 +#, python-brace-format +msgid "There is an event that starts on {date_start}, {period_from}. period and ends on {date_end}, {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:114 +#, python-brace-format +msgid "There is an event on {date} from the {period_from}. period to the {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:125 +#: aleksis/apps/chronos/util/notifications.py:145 +#, python-brace-format +msgid "Groups: {groups}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:127 +#: aleksis/apps/chronos/util/notifications.py:149 +#, python-brace-format +msgid "Teachers: {teachers}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:130 +#, python-brace-format +msgid "Rooms: {rooms}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:137 +#, python-brace-format +msgid "There is an extra lesson on {date} in the {period}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:147 +#, python-brace-format +msgid "Subject: {subject}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:151 +#, python-brace-format +msgid "Room: {room}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:153 +#, python-brace-format +msgid "Comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:156 +#, python-brace-format +msgid "The supervision of {old} on {date} between the {period_from}. period and the {period_to}. period in the area {area} is substituted by {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:207 +msgid "There are current changes to your timetable." +msgstr "" + #: aleksis/apps/chronos/views.py:270 msgid "The substitution has been saved." msgstr "" diff --git a/aleksis/apps/chronos/locale/nb_NO/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/nb_NO/LC_MESSAGES/django.po index 347adedd..69ad4cf7 100644 --- a/aleksis/apps/chronos/locale/nb_NO/LC_MESSAGES/django.po +++ b/aleksis/apps/chronos/locale/nb_NO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-13 11:34+0000\n" +"POT-Creation-Date: 2022-03-21 19:47+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -25,7 +25,7 @@ msgstr "" msgid "Optional data for timetables" msgstr "" -#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:8 +#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:10 msgid "Timetables" msgstr "" @@ -56,431 +56,448 @@ msgstr "" msgid "Linked validity range" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:137 +#: aleksis/apps/chronos/model_extensions.py:142 msgid "Show announcement in timetable views?" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:146 +#: aleksis/apps/chronos/model_extensions.py:151 msgid "Can view group timetable" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:150 +#: aleksis/apps/chronos/model_extensions.py:155 msgid "Can view person timetable" msgstr "" -#: aleksis/apps/chronos/models.py:85 +#: aleksis/apps/chronos/models.py:86 msgid "School term" msgstr "" -#: aleksis/apps/chronos/models.py:88 aleksis/apps/chronos/models.py:686 +#: aleksis/apps/chronos/models.py:89 aleksis/apps/chronos/models.py:699 msgid "Name" msgstr "" -#: aleksis/apps/chronos/models.py:90 aleksis/apps/chronos/models.py:741 -#: aleksis/apps/chronos/models.py:816 aleksis/apps/chronos/models.py:1035 +#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754 +#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063 msgid "Start date" msgstr "" -#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:742 -#: aleksis/apps/chronos/models.py:817 aleksis/apps/chronos/models.py:1036 +#: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755 +#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064 msgid "End date" msgstr "" -#: aleksis/apps/chronos/models.py:110 +#: aleksis/apps/chronos/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/apps/chronos/models.py:117 +#: aleksis/apps/chronos/models.py:118 msgid "The validity range must be within the school term." msgstr "" -#: aleksis/apps/chronos/models.py:124 +#: aleksis/apps/chronos/models.py:125 msgid "There is already a validity range for this time or a part of this time." msgstr "" -#: aleksis/apps/chronos/models.py:131 +#: aleksis/apps/chronos/models.py:132 msgid "Validity range" msgstr "" -#: aleksis/apps/chronos/models.py:132 +#: aleksis/apps/chronos/models.py:133 msgid "Validity ranges" msgstr "" -#: aleksis/apps/chronos/models.py:149 +#: aleksis/apps/chronos/models.py:150 msgid "Week day" msgstr "" -#: aleksis/apps/chronos/models.py:151 +#: aleksis/apps/chronos/models.py:152 msgid "Number of period" msgstr "" -#: aleksis/apps/chronos/models.py:153 +#: aleksis/apps/chronos/models.py:154 msgid "Start time" msgstr "" -#: aleksis/apps/chronos/models.py:154 +#: aleksis/apps/chronos/models.py:155 msgid "End time" msgstr "" -#: aleksis/apps/chronos/models.py:337 aleksis/apps/chronos/models.py:512 -#: aleksis/apps/chronos/models.py:1156 +#: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525 +#: aleksis/apps/chronos/models.py:1193 msgid "Time period" msgstr "" -#: aleksis/apps/chronos/models.py:338 +#: aleksis/apps/chronos/models.py:339 msgid "Time periods" msgstr "" -#: aleksis/apps/chronos/models.py:342 aleksis/apps/chronos/models.py:363 -#: aleksis/apps/chronos/models.py:685 aleksis/apps/chronos/models.py:862 -#: aleksis/apps/chronos/models.py:884 +#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 +#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875 +#: aleksis/apps/chronos/models.py:897 msgid "Short name" msgstr "" -#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 -#: aleksis/apps/chronos/models.py:863 aleksis/apps/chronos/models.py:885 +#: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365 +#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898 msgid "Long name" msgstr "" -#: aleksis/apps/chronos/models.py:345 +#: aleksis/apps/chronos/models.py:346 msgid "Foreground colour" msgstr "" -#: aleksis/apps/chronos/models.py:346 +#: aleksis/apps/chronos/models.py:347 msgid "Background colour" msgstr "" -#: aleksis/apps/chronos/models.py:353 aleksis/apps/chronos/models.py:389 -#: aleksis/apps/chronos/models.py:443 aleksis/apps/chronos/models.py:1163 +#: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390 +#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29 msgid "Subject" msgstr "" -#: aleksis/apps/chronos/models.py:354 +#: aleksis/apps/chronos/models.py:355 msgid "Subjects" msgstr "" -#: aleksis/apps/chronos/models.py:373 +#: aleksis/apps/chronos/models.py:374 msgid "Can view room timetable" msgstr "" -#: aleksis/apps/chronos/models.py:375 aleksis/apps/chronos/models.py:451 -#: aleksis/apps/chronos/models.py:520 aleksis/apps/chronos/models.py:738 -#: aleksis/apps/chronos/models.py:1178 +#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454 +#: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751 +#: aleksis/apps/chronos/models.py:1215 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30 msgid "Room" msgstr "" -#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:1052 +#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080 #: aleksis/apps/chronos/templates/chronos/all.html:45 msgid "Rooms" msgstr "" -#: aleksis/apps/chronos/models.py:392 aleksis/apps/chronos/models.py:449 -#: aleksis/apps/chronos/models.py:1054 aleksis/apps/chronos/models.py:1171 +#: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452 +#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208 #: aleksis/apps/chronos/tables.py:35 #: aleksis/apps/chronos/templates/chronos/all.html:17 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28 msgid "Teachers" msgstr "" -#: aleksis/apps/chronos/models.py:398 +#: aleksis/apps/chronos/models.py:399 msgid "Periods" msgstr "" -#: aleksis/apps/chronos/models.py:400 aleksis/apps/chronos/models.py:1051 -#: aleksis/apps/chronos/models.py:1166 aleksis/apps/chronos/tables.py:34 +#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079 +#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34 #: aleksis/apps/chronos/templates/chronos/all.html:31 msgid "Groups" msgstr "" -#: aleksis/apps/chronos/models.py:423 aleksis/apps/chronos/models.py:506 -#: aleksis/apps/chronos/models.py:782 +#: aleksis/apps/chronos/models.py:424 aleksis/apps/chronos/models.py:519 +#: aleksis/apps/chronos/models.py:795 msgid "Lesson" msgstr "" -#: aleksis/apps/chronos/models.py:424 +#: aleksis/apps/chronos/models.py:425 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:9 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:19 msgid "Lessons" msgstr "" -#: aleksis/apps/chronos/models.py:430 aleksis/apps/chronos/models.py:1150 +#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187 msgid "Week" msgstr "" -#: aleksis/apps/chronos/models.py:431 aleksis/apps/chronos/models.py:1151 +#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188 msgid "Year" msgstr "" -#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:641 +#: aleksis/apps/chronos/models.py:437 aleksis/apps/chronos/models.py:654 msgid "Lesson period" msgstr "" -#: aleksis/apps/chronos/models.py:453 +#: aleksis/apps/chronos/models.py:456 msgid "Cancelled?" msgstr "" -#: aleksis/apps/chronos/models.py:455 +#: aleksis/apps/chronos/models.py:458 msgid "Cancelled for teachers?" msgstr "" -#: aleksis/apps/chronos/models.py:458 aleksis/apps/chronos/models.py:757 -#: aleksis/apps/chronos/models.py:802 aleksis/apps/chronos/models.py:1181 +#: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770 +#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218 msgid "Comment" msgstr "" -#: aleksis/apps/chronos/models.py:462 +#: aleksis/apps/chronos/models.py:465 msgid "Lessons can only be either substituted or cancelled." msgstr "" -#: aleksis/apps/chronos/models.py:493 +#: aleksis/apps/chronos/models.py:506 msgid "Lesson substitution" msgstr "" -#: aleksis/apps/chronos/models.py:494 +#: aleksis/apps/chronos/models.py:507 msgid "Lesson substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:642 +#: aleksis/apps/chronos/models.py:655 msgid "Lesson periods" msgstr "" -#: aleksis/apps/chronos/models.py:680 +#: aleksis/apps/chronos/models.py:693 msgid "Timetable widget" msgstr "" -#: aleksis/apps/chronos/models.py:681 +#: aleksis/apps/chronos/models.py:694 msgid "Timetable widgets" msgstr "" -#: aleksis/apps/chronos/models.py:695 aleksis/apps/chronos/models.py:713 +#: aleksis/apps/chronos/models.py:708 aleksis/apps/chronos/models.py:726 msgid "Absence reason" msgstr "" -#: aleksis/apps/chronos/models.py:696 +#: aleksis/apps/chronos/models.py:709 msgid "Absence reasons" msgstr "" -#: aleksis/apps/chronos/models.py:722 aleksis/apps/chronos/models.py:963 -#: aleksis/apps/chronos/models.py:1012 +#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976 +#: aleksis/apps/chronos/models.py:1027 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46 msgid "Teacher" msgstr "" -#: aleksis/apps/chronos/models.py:730 +#: aleksis/apps/chronos/models.py:743 msgid "Group" msgstr "" -#: aleksis/apps/chronos/models.py:746 aleksis/apps/chronos/models.py:789 +#: aleksis/apps/chronos/models.py:759 aleksis/apps/chronos/models.py:802 msgid "Start period" msgstr "" -#: aleksis/apps/chronos/models.py:753 aleksis/apps/chronos/models.py:796 +#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809 msgid "End period" msgstr "" -#: aleksis/apps/chronos/models.py:767 +#: aleksis/apps/chronos/models.py:780 msgid "Unknown absence" msgstr "" -#: aleksis/apps/chronos/models.py:773 +#: aleksis/apps/chronos/models.py:786 msgid "Absence" msgstr "" -#: aleksis/apps/chronos/models.py:774 +#: aleksis/apps/chronos/models.py:787 msgid "Absences" msgstr "" -#: aleksis/apps/chronos/models.py:785 +#: aleksis/apps/chronos/models.py:798 msgid "Date of exam" msgstr "" -#: aleksis/apps/chronos/models.py:801 aleksis/apps/chronos/models.py:815 -#: aleksis/apps/chronos/models.py:1033 +#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828 +#: aleksis/apps/chronos/models.py:1061 msgid "Title" msgstr "" -#: aleksis/apps/chronos/models.py:808 +#: aleksis/apps/chronos/models.py:821 msgid "Exam" msgstr "" -#: aleksis/apps/chronos/models.py:809 +#: aleksis/apps/chronos/models.py:822 msgid "Exams" msgstr "" -#: aleksis/apps/chronos/models.py:818 +#: aleksis/apps/chronos/models.py:831 msgid "Comments" msgstr "" -#: aleksis/apps/chronos/models.py:857 +#: aleksis/apps/chronos/models.py:870 msgid "Holiday" msgstr "" -#: aleksis/apps/chronos/models.py:858 +#: aleksis/apps/chronos/models.py:871 msgid "Holidays" msgstr "" -#: aleksis/apps/chronos/models.py:872 aleksis/apps/chronos/models.py:953 +#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966 msgid "Supervision area" msgstr "" -#: aleksis/apps/chronos/models.py:873 +#: aleksis/apps/chronos/models.py:886 msgid "Supervision areas" msgstr "" -#: aleksis/apps/chronos/models.py:890 +#: aleksis/apps/chronos/models.py:903 msgid "Time period after break starts" msgstr "" -#: aleksis/apps/chronos/models.py:898 +#: aleksis/apps/chronos/models.py:911 msgid "Time period before break ends" msgstr "" -#: aleksis/apps/chronos/models.py:938 aleksis/apps/chronos/models.py:957 +#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970 msgid "Break" msgstr "" -#: aleksis/apps/chronos/models.py:939 +#: aleksis/apps/chronos/models.py:952 msgid "Breaks" msgstr "" -#: aleksis/apps/chronos/models.py:994 aleksis/apps/chronos/models.py:1005 +#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15 msgid "Supervision" msgstr "" -#: aleksis/apps/chronos/models.py:995 +#: aleksis/apps/chronos/models.py:1008 msgid "Supervisions" msgstr "" -#: aleksis/apps/chronos/models.py:1001 +#: aleksis/apps/chronos/models.py:1016 msgid "Date" msgstr "" -#: aleksis/apps/chronos/models.py:1024 +#: aleksis/apps/chronos/models.py:1050 msgid "Supervision substitution" msgstr "" -#: aleksis/apps/chronos/models.py:1025 +#: aleksis/apps/chronos/models.py:1051 msgid "Supervision substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:1041 +#: aleksis/apps/chronos/models.py:1069 msgid "Start time period" msgstr "" -#: aleksis/apps/chronos/models.py:1047 +#: aleksis/apps/chronos/models.py:1075 msgid "End time period" msgstr "" -#: aleksis/apps/chronos/models.py:1061 +#: aleksis/apps/chronos/models.py:1089 #, python-brace-format msgid "Event {pk}" msgstr "" -#: aleksis/apps/chronos/models.py:1139 +#: aleksis/apps/chronos/models.py:1174 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27 msgid "Event" msgstr "" -#: aleksis/apps/chronos/models.py:1140 +#: aleksis/apps/chronos/models.py:1175 msgid "Events" msgstr "" -#: aleksis/apps/chronos/models.py:1200 +#: aleksis/apps/chronos/models.py:1244 msgid "Extra lesson" msgstr "" -#: aleksis/apps/chronos/models.py:1201 +#: aleksis/apps/chronos/models.py:1245 msgid "Extra lessons" msgstr "" -#: aleksis/apps/chronos/models.py:1211 +#: aleksis/apps/chronos/models.py:1255 msgid "Number of days shown in the plan" msgstr "" -#: aleksis/apps/chronos/models.py:1215 +#: aleksis/apps/chronos/models.py:1259 msgid "Show header box" msgstr "" -#: aleksis/apps/chronos/models.py:1216 aleksis/apps/chronos/preferences.py:59 +#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61 msgid "The header box shows affected teachers/groups." msgstr "" -#: aleksis/apps/chronos/models.py:1223 +#: aleksis/apps/chronos/models.py:1267 msgid "Revision which triggered the last update" msgstr "" -#: aleksis/apps/chronos/models.py:1297 +#: aleksis/apps/chronos/models.py:1341 msgid "Automatic plan" msgstr "" -#: aleksis/apps/chronos/models.py:1298 +#: aleksis/apps/chronos/models.py:1342 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9 msgid "Automatic plans" msgstr "" -#: aleksis/apps/chronos/models.py:1312 +#: aleksis/apps/chronos/models.py:1356 msgid "Can view all room timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1313 +#: aleksis/apps/chronos/models.py:1357 msgid "Can view all group timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1314 +#: aleksis/apps/chronos/models.py:1358 msgid "Can view all person timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1315 +#: aleksis/apps/chronos/models.py:1359 msgid "Can view timetable overview" msgstr "" -#: aleksis/apps/chronos/models.py:1316 +#: aleksis/apps/chronos/models.py:1360 msgid "Can view all lessons per day" msgstr "" -#: aleksis/apps/chronos/preferences.py:16 +#: aleksis/apps/chronos/preferences.py:18 msgid "Use parent groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:18 +#: aleksis/apps/chronos/preferences.py:20 msgid "If an lesson or substitution has only one group and this group has parent groups, show the parent groups instead of the original group." msgstr "" -#: aleksis/apps/chronos/preferences.py:29 +#: aleksis/apps/chronos/preferences.py:31 msgid "Shorten groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:30 +#: aleksis/apps/chronos/preferences.py:32 msgid "If there are more groups than the set limit, they will be collapsed." msgstr "" -#: aleksis/apps/chronos/preferences.py:38 +#: aleksis/apps/chronos/preferences.py:40 msgid "Limit of groups for shortening of groups" msgstr "" -#: aleksis/apps/chronos/preferences.py:40 +#: aleksis/apps/chronos/preferences.py:42 msgid "If an user activates shortening of groups,they will be collapsed if there are more groups than this limit." msgstr "" -#: aleksis/apps/chronos/preferences.py:50 +#: aleksis/apps/chronos/preferences.py:52 msgid "Number of days shown on substitutions print view" msgstr "" -#: aleksis/apps/chronos/preferences.py:58 +#: aleksis/apps/chronos/preferences.py:60 msgid "Show header box in substitution views" msgstr "" -#: aleksis/apps/chronos/preferences.py:68 +#: aleksis/apps/chronos/preferences.py:70 msgid "Show parent groups in header box in substitution views instead of original groups" msgstr "" +#: aleksis/apps/chronos/preferences.py:79 +msgid "How many days in advance users should be notified about timetable changes?" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:87 +msgid "Time for sending notifications about timetable changes" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:90 +msgid "This is only used for scheduling notifications which doesn't affect the time period configured above. All other notifications affecting the next days are sent immediately." +msgstr "" + +#: aleksis/apps/chronos/preferences.py:101 +#: aleksis/apps/chronos/preferences.py:109 +msgid "Send notifications for current timetable changes" +msgstr "" + #: aleksis/apps/chronos/tables.py:41 msgid "Substitution" msgstr "" @@ -584,6 +601,7 @@ msgstr "" #: aleksis/apps/chronos/templates/chronos/timetable.html:11 #: aleksis/apps/chronos/templates/chronos/timetable.html:24 #: aleksis/apps/chronos/templates/chronos/timetable_print.html:11 +#: aleksis/apps/chronos/util/notifications.py:206 msgid "Timetable" msgstr "" @@ -626,6 +644,94 @@ msgstr "" msgid "Go to smart plan" msgstr "" +#: aleksis/apps/chronos/util/notifications.py:50 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has been cancelled." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:57 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has some current changes." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:66 +#, python-brace-format +msgid "The teacher {old} is substituted by {new}." +msgid_plural "The teachers {old} are substituted by {new}." +msgstr[0] "" +msgstr[1] "" + +#: aleksis/apps/chronos/util/notifications.py:78 +#, python-brace-format +msgid "The subject is changed to {subject}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:84 +#, python-brace-format +msgid "The lesson is moved from {old} to {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:93 +#, python-brace-format +msgid "There is an additional comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:101 +#, python-brace-format +msgid "There is an event that starts on {date_start}, {period_from}. period and ends on {date_end}, {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:114 +#, python-brace-format +msgid "There is an event on {date} from the {period_from}. period to the {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:125 +#: aleksis/apps/chronos/util/notifications.py:145 +#, python-brace-format +msgid "Groups: {groups}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:127 +#: aleksis/apps/chronos/util/notifications.py:149 +#, python-brace-format +msgid "Teachers: {teachers}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:130 +#, python-brace-format +msgid "Rooms: {rooms}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:137 +#, python-brace-format +msgid "There is an extra lesson on {date} in the {period}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:147 +#, python-brace-format +msgid "Subject: {subject}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:151 +#, python-brace-format +msgid "Room: {room}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:153 +#, python-brace-format +msgid "Comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:156 +#, python-brace-format +msgid "The supervision of {old} on {date} between the {period_from}. period and the {period_to}. period in the area {area} is substituted by {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:207 +msgid "There are current changes to your timetable." +msgstr "" + #: aleksis/apps/chronos/views.py:270 msgid "The substitution has been saved." msgstr "" diff --git a/aleksis/apps/chronos/locale/tr_TR/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/tr_TR/LC_MESSAGES/django.po index 347adedd..69ad4cf7 100644 --- a/aleksis/apps/chronos/locale/tr_TR/LC_MESSAGES/django.po +++ b/aleksis/apps/chronos/locale/tr_TR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-13 11:34+0000\n" +"POT-Creation-Date: 2022-03-21 19:47+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -25,7 +25,7 @@ msgstr "" msgid "Optional data for timetables" msgstr "" -#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:8 +#: aleksis/apps/chronos/menus.py:6 aleksis/apps/chronos/preferences.py:10 msgid "Timetables" msgstr "" @@ -56,431 +56,448 @@ msgstr "" msgid "Linked validity range" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:137 +#: aleksis/apps/chronos/model_extensions.py:142 msgid "Show announcement in timetable views?" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:146 +#: aleksis/apps/chronos/model_extensions.py:151 msgid "Can view group timetable" msgstr "" -#: aleksis/apps/chronos/model_extensions.py:150 +#: aleksis/apps/chronos/model_extensions.py:155 msgid "Can view person timetable" msgstr "" -#: aleksis/apps/chronos/models.py:85 +#: aleksis/apps/chronos/models.py:86 msgid "School term" msgstr "" -#: aleksis/apps/chronos/models.py:88 aleksis/apps/chronos/models.py:686 +#: aleksis/apps/chronos/models.py:89 aleksis/apps/chronos/models.py:699 msgid "Name" msgstr "" -#: aleksis/apps/chronos/models.py:90 aleksis/apps/chronos/models.py:741 -#: aleksis/apps/chronos/models.py:816 aleksis/apps/chronos/models.py:1035 +#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754 +#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063 msgid "Start date" msgstr "" -#: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:742 -#: aleksis/apps/chronos/models.py:817 aleksis/apps/chronos/models.py:1036 +#: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755 +#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064 msgid "End date" msgstr "" -#: aleksis/apps/chronos/models.py:110 +#: aleksis/apps/chronos/models.py:111 msgid "The start date must be earlier than the end date." msgstr "" -#: aleksis/apps/chronos/models.py:117 +#: aleksis/apps/chronos/models.py:118 msgid "The validity range must be within the school term." msgstr "" -#: aleksis/apps/chronos/models.py:124 +#: aleksis/apps/chronos/models.py:125 msgid "There is already a validity range for this time or a part of this time." msgstr "" -#: aleksis/apps/chronos/models.py:131 +#: aleksis/apps/chronos/models.py:132 msgid "Validity range" msgstr "" -#: aleksis/apps/chronos/models.py:132 +#: aleksis/apps/chronos/models.py:133 msgid "Validity ranges" msgstr "" -#: aleksis/apps/chronos/models.py:149 +#: aleksis/apps/chronos/models.py:150 msgid "Week day" msgstr "" -#: aleksis/apps/chronos/models.py:151 +#: aleksis/apps/chronos/models.py:152 msgid "Number of period" msgstr "" -#: aleksis/apps/chronos/models.py:153 +#: aleksis/apps/chronos/models.py:154 msgid "Start time" msgstr "" -#: aleksis/apps/chronos/models.py:154 +#: aleksis/apps/chronos/models.py:155 msgid "End time" msgstr "" -#: aleksis/apps/chronos/models.py:337 aleksis/apps/chronos/models.py:512 -#: aleksis/apps/chronos/models.py:1156 +#: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525 +#: aleksis/apps/chronos/models.py:1193 msgid "Time period" msgstr "" -#: aleksis/apps/chronos/models.py:338 +#: aleksis/apps/chronos/models.py:339 msgid "Time periods" msgstr "" -#: aleksis/apps/chronos/models.py:342 aleksis/apps/chronos/models.py:363 -#: aleksis/apps/chronos/models.py:685 aleksis/apps/chronos/models.py:862 -#: aleksis/apps/chronos/models.py:884 +#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 +#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875 +#: aleksis/apps/chronos/models.py:897 msgid "Short name" msgstr "" -#: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364 -#: aleksis/apps/chronos/models.py:863 aleksis/apps/chronos/models.py:885 +#: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365 +#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898 msgid "Long name" msgstr "" -#: aleksis/apps/chronos/models.py:345 +#: aleksis/apps/chronos/models.py:346 msgid "Foreground colour" msgstr "" -#: aleksis/apps/chronos/models.py:346 +#: aleksis/apps/chronos/models.py:347 msgid "Background colour" msgstr "" -#: aleksis/apps/chronos/models.py:353 aleksis/apps/chronos/models.py:389 -#: aleksis/apps/chronos/models.py:443 aleksis/apps/chronos/models.py:1163 +#: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390 +#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29 msgid "Subject" msgstr "" -#: aleksis/apps/chronos/models.py:354 +#: aleksis/apps/chronos/models.py:355 msgid "Subjects" msgstr "" -#: aleksis/apps/chronos/models.py:373 +#: aleksis/apps/chronos/models.py:374 msgid "Can view room timetable" msgstr "" -#: aleksis/apps/chronos/models.py:375 aleksis/apps/chronos/models.py:451 -#: aleksis/apps/chronos/models.py:520 aleksis/apps/chronos/models.py:738 -#: aleksis/apps/chronos/models.py:1178 +#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454 +#: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751 +#: aleksis/apps/chronos/models.py:1215 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30 msgid "Room" msgstr "" -#: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:1052 +#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080 #: aleksis/apps/chronos/templates/chronos/all.html:45 msgid "Rooms" msgstr "" -#: aleksis/apps/chronos/models.py:392 aleksis/apps/chronos/models.py:449 -#: aleksis/apps/chronos/models.py:1054 aleksis/apps/chronos/models.py:1171 +#: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452 +#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208 #: aleksis/apps/chronos/tables.py:35 #: aleksis/apps/chronos/templates/chronos/all.html:17 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28 msgid "Teachers" msgstr "" -#: aleksis/apps/chronos/models.py:398 +#: aleksis/apps/chronos/models.py:399 msgid "Periods" msgstr "" -#: aleksis/apps/chronos/models.py:400 aleksis/apps/chronos/models.py:1051 -#: aleksis/apps/chronos/models.py:1166 aleksis/apps/chronos/tables.py:34 +#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079 +#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34 #: aleksis/apps/chronos/templates/chronos/all.html:31 msgid "Groups" msgstr "" -#: aleksis/apps/chronos/models.py:423 aleksis/apps/chronos/models.py:506 -#: aleksis/apps/chronos/models.py:782 +#: aleksis/apps/chronos/models.py:424 aleksis/apps/chronos/models.py:519 +#: aleksis/apps/chronos/models.py:795 msgid "Lesson" msgstr "" -#: aleksis/apps/chronos/models.py:424 +#: aleksis/apps/chronos/models.py:425 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:9 #: aleksis/apps/chronos/templates/chronos/lessons_day.html:19 msgid "Lessons" msgstr "" -#: aleksis/apps/chronos/models.py:430 aleksis/apps/chronos/models.py:1150 +#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187 msgid "Week" msgstr "" -#: aleksis/apps/chronos/models.py:431 aleksis/apps/chronos/models.py:1151 +#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188 msgid "Year" msgstr "" -#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:641 +#: aleksis/apps/chronos/models.py:437 aleksis/apps/chronos/models.py:654 msgid "Lesson period" msgstr "" -#: aleksis/apps/chronos/models.py:453 +#: aleksis/apps/chronos/models.py:456 msgid "Cancelled?" msgstr "" -#: aleksis/apps/chronos/models.py:455 +#: aleksis/apps/chronos/models.py:458 msgid "Cancelled for teachers?" msgstr "" -#: aleksis/apps/chronos/models.py:458 aleksis/apps/chronos/models.py:757 -#: aleksis/apps/chronos/models.py:802 aleksis/apps/chronos/models.py:1181 +#: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770 +#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218 msgid "Comment" msgstr "" -#: aleksis/apps/chronos/models.py:462 +#: aleksis/apps/chronos/models.py:465 msgid "Lessons can only be either substituted or cancelled." msgstr "" -#: aleksis/apps/chronos/models.py:493 +#: aleksis/apps/chronos/models.py:506 msgid "Lesson substitution" msgstr "" -#: aleksis/apps/chronos/models.py:494 +#: aleksis/apps/chronos/models.py:507 msgid "Lesson substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:642 +#: aleksis/apps/chronos/models.py:655 msgid "Lesson periods" msgstr "" -#: aleksis/apps/chronos/models.py:680 +#: aleksis/apps/chronos/models.py:693 msgid "Timetable widget" msgstr "" -#: aleksis/apps/chronos/models.py:681 +#: aleksis/apps/chronos/models.py:694 msgid "Timetable widgets" msgstr "" -#: aleksis/apps/chronos/models.py:695 aleksis/apps/chronos/models.py:713 +#: aleksis/apps/chronos/models.py:708 aleksis/apps/chronos/models.py:726 msgid "Absence reason" msgstr "" -#: aleksis/apps/chronos/models.py:696 +#: aleksis/apps/chronos/models.py:709 msgid "Absence reasons" msgstr "" -#: aleksis/apps/chronos/models.py:722 aleksis/apps/chronos/models.py:963 -#: aleksis/apps/chronos/models.py:1012 +#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976 +#: aleksis/apps/chronos/models.py:1027 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46 msgid "Teacher" msgstr "" -#: aleksis/apps/chronos/models.py:730 +#: aleksis/apps/chronos/models.py:743 msgid "Group" msgstr "" -#: aleksis/apps/chronos/models.py:746 aleksis/apps/chronos/models.py:789 +#: aleksis/apps/chronos/models.py:759 aleksis/apps/chronos/models.py:802 msgid "Start period" msgstr "" -#: aleksis/apps/chronos/models.py:753 aleksis/apps/chronos/models.py:796 +#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809 msgid "End period" msgstr "" -#: aleksis/apps/chronos/models.py:767 +#: aleksis/apps/chronos/models.py:780 msgid "Unknown absence" msgstr "" -#: aleksis/apps/chronos/models.py:773 +#: aleksis/apps/chronos/models.py:786 msgid "Absence" msgstr "" -#: aleksis/apps/chronos/models.py:774 +#: aleksis/apps/chronos/models.py:787 msgid "Absences" msgstr "" -#: aleksis/apps/chronos/models.py:785 +#: aleksis/apps/chronos/models.py:798 msgid "Date of exam" msgstr "" -#: aleksis/apps/chronos/models.py:801 aleksis/apps/chronos/models.py:815 -#: aleksis/apps/chronos/models.py:1033 +#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828 +#: aleksis/apps/chronos/models.py:1061 msgid "Title" msgstr "" -#: aleksis/apps/chronos/models.py:808 +#: aleksis/apps/chronos/models.py:821 msgid "Exam" msgstr "" -#: aleksis/apps/chronos/models.py:809 +#: aleksis/apps/chronos/models.py:822 msgid "Exams" msgstr "" -#: aleksis/apps/chronos/models.py:818 +#: aleksis/apps/chronos/models.py:831 msgid "Comments" msgstr "" -#: aleksis/apps/chronos/models.py:857 +#: aleksis/apps/chronos/models.py:870 msgid "Holiday" msgstr "" -#: aleksis/apps/chronos/models.py:858 +#: aleksis/apps/chronos/models.py:871 msgid "Holidays" msgstr "" -#: aleksis/apps/chronos/models.py:872 aleksis/apps/chronos/models.py:953 +#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966 msgid "Supervision area" msgstr "" -#: aleksis/apps/chronos/models.py:873 +#: aleksis/apps/chronos/models.py:886 msgid "Supervision areas" msgstr "" -#: aleksis/apps/chronos/models.py:890 +#: aleksis/apps/chronos/models.py:903 msgid "Time period after break starts" msgstr "" -#: aleksis/apps/chronos/models.py:898 +#: aleksis/apps/chronos/models.py:911 msgid "Time period before break ends" msgstr "" -#: aleksis/apps/chronos/models.py:938 aleksis/apps/chronos/models.py:957 +#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970 msgid "Break" msgstr "" -#: aleksis/apps/chronos/models.py:939 +#: aleksis/apps/chronos/models.py:952 msgid "Breaks" msgstr "" -#: aleksis/apps/chronos/models.py:994 aleksis/apps/chronos/models.py:1005 +#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15 msgid "Supervision" msgstr "" -#: aleksis/apps/chronos/models.py:995 +#: aleksis/apps/chronos/models.py:1008 msgid "Supervisions" msgstr "" -#: aleksis/apps/chronos/models.py:1001 +#: aleksis/apps/chronos/models.py:1016 msgid "Date" msgstr "" -#: aleksis/apps/chronos/models.py:1024 +#: aleksis/apps/chronos/models.py:1050 msgid "Supervision substitution" msgstr "" -#: aleksis/apps/chronos/models.py:1025 +#: aleksis/apps/chronos/models.py:1051 msgid "Supervision substitutions" msgstr "" -#: aleksis/apps/chronos/models.py:1041 +#: aleksis/apps/chronos/models.py:1069 msgid "Start time period" msgstr "" -#: aleksis/apps/chronos/models.py:1047 +#: aleksis/apps/chronos/models.py:1075 msgid "End time period" msgstr "" -#: aleksis/apps/chronos/models.py:1061 +#: aleksis/apps/chronos/models.py:1089 #, python-brace-format msgid "Event {pk}" msgstr "" -#: aleksis/apps/chronos/models.py:1139 +#: aleksis/apps/chronos/models.py:1174 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27 msgid "Event" msgstr "" -#: aleksis/apps/chronos/models.py:1140 +#: aleksis/apps/chronos/models.py:1175 msgid "Events" msgstr "" -#: aleksis/apps/chronos/models.py:1200 +#: aleksis/apps/chronos/models.py:1244 msgid "Extra lesson" msgstr "" -#: aleksis/apps/chronos/models.py:1201 +#: aleksis/apps/chronos/models.py:1245 msgid "Extra lessons" msgstr "" -#: aleksis/apps/chronos/models.py:1211 +#: aleksis/apps/chronos/models.py:1255 msgid "Number of days shown in the plan" msgstr "" -#: aleksis/apps/chronos/models.py:1215 +#: aleksis/apps/chronos/models.py:1259 msgid "Show header box" msgstr "" -#: aleksis/apps/chronos/models.py:1216 aleksis/apps/chronos/preferences.py:59 +#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61 msgid "The header box shows affected teachers/groups." msgstr "" -#: aleksis/apps/chronos/models.py:1223 +#: aleksis/apps/chronos/models.py:1267 msgid "Revision which triggered the last update" msgstr "" -#: aleksis/apps/chronos/models.py:1297 +#: aleksis/apps/chronos/models.py:1341 msgid "Automatic plan" msgstr "" -#: aleksis/apps/chronos/models.py:1298 +#: aleksis/apps/chronos/models.py:1342 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8 #: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9 msgid "Automatic plans" msgstr "" -#: aleksis/apps/chronos/models.py:1312 +#: aleksis/apps/chronos/models.py:1356 msgid "Can view all room timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1313 +#: aleksis/apps/chronos/models.py:1357 msgid "Can view all group timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1314 +#: aleksis/apps/chronos/models.py:1358 msgid "Can view all person timetables" msgstr "" -#: aleksis/apps/chronos/models.py:1315 +#: aleksis/apps/chronos/models.py:1359 msgid "Can view timetable overview" msgstr "" -#: aleksis/apps/chronos/models.py:1316 +#: aleksis/apps/chronos/models.py:1360 msgid "Can view all lessons per day" msgstr "" -#: aleksis/apps/chronos/preferences.py:16 +#: aleksis/apps/chronos/preferences.py:18 msgid "Use parent groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:18 +#: aleksis/apps/chronos/preferences.py:20 msgid "If an lesson or substitution has only one group and this group has parent groups, show the parent groups instead of the original group." msgstr "" -#: aleksis/apps/chronos/preferences.py:29 +#: aleksis/apps/chronos/preferences.py:31 msgid "Shorten groups in timetable views" msgstr "" -#: aleksis/apps/chronos/preferences.py:30 +#: aleksis/apps/chronos/preferences.py:32 msgid "If there are more groups than the set limit, they will be collapsed." msgstr "" -#: aleksis/apps/chronos/preferences.py:38 +#: aleksis/apps/chronos/preferences.py:40 msgid "Limit of groups for shortening of groups" msgstr "" -#: aleksis/apps/chronos/preferences.py:40 +#: aleksis/apps/chronos/preferences.py:42 msgid "If an user activates shortening of groups,they will be collapsed if there are more groups than this limit." msgstr "" -#: aleksis/apps/chronos/preferences.py:50 +#: aleksis/apps/chronos/preferences.py:52 msgid "Number of days shown on substitutions print view" msgstr "" -#: aleksis/apps/chronos/preferences.py:58 +#: aleksis/apps/chronos/preferences.py:60 msgid "Show header box in substitution views" msgstr "" -#: aleksis/apps/chronos/preferences.py:68 +#: aleksis/apps/chronos/preferences.py:70 msgid "Show parent groups in header box in substitution views instead of original groups" msgstr "" +#: aleksis/apps/chronos/preferences.py:79 +msgid "How many days in advance users should be notified about timetable changes?" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:87 +msgid "Time for sending notifications about timetable changes" +msgstr "" + +#: aleksis/apps/chronos/preferences.py:90 +msgid "This is only used for scheduling notifications which doesn't affect the time period configured above. All other notifications affecting the next days are sent immediately." +msgstr "" + +#: aleksis/apps/chronos/preferences.py:101 +#: aleksis/apps/chronos/preferences.py:109 +msgid "Send notifications for current timetable changes" +msgstr "" + #: aleksis/apps/chronos/tables.py:41 msgid "Substitution" msgstr "" @@ -584,6 +601,7 @@ msgstr "" #: aleksis/apps/chronos/templates/chronos/timetable.html:11 #: aleksis/apps/chronos/templates/chronos/timetable.html:24 #: aleksis/apps/chronos/templates/chronos/timetable_print.html:11 +#: aleksis/apps/chronos/util/notifications.py:206 msgid "Timetable" msgstr "" @@ -626,6 +644,94 @@ msgstr "" msgid "Go to smart plan" msgstr "" +#: aleksis/apps/chronos/util/notifications.py:50 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has been cancelled." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:57 +#, python-brace-format +msgid "The {subject} lesson in the {period}. period on {day} has some current changes." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:66 +#, python-brace-format +msgid "The teacher {old} is substituted by {new}." +msgid_plural "The teachers {old} are substituted by {new}." +msgstr[0] "" +msgstr[1] "" + +#: aleksis/apps/chronos/util/notifications.py:78 +#, python-brace-format +msgid "The subject is changed to {subject}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:84 +#, python-brace-format +msgid "The lesson is moved from {old} to {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:93 +#, python-brace-format +msgid "There is an additional comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:101 +#, python-brace-format +msgid "There is an event that starts on {date_start}, {period_from}. period and ends on {date_end}, {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:114 +#, python-brace-format +msgid "There is an event on {date} from the {period_from}. period to the {period_to}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:125 +#: aleksis/apps/chronos/util/notifications.py:145 +#, python-brace-format +msgid "Groups: {groups}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:127 +#: aleksis/apps/chronos/util/notifications.py:149 +#, python-brace-format +msgid "Teachers: {teachers}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:130 +#, python-brace-format +msgid "Rooms: {rooms}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:137 +#, python-brace-format +msgid "There is an extra lesson on {date} in the {period}. period:" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:147 +#, python-brace-format +msgid "Subject: {subject}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:151 +#, python-brace-format +msgid "Room: {room}" +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:153 +#, python-brace-format +msgid "Comment: {comment}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:156 +#, python-brace-format +msgid "The supervision of {old} on {date} between the {period_from}. period and the {period_to}. period in the area {area} is substituted by {new}." +msgstr "" + +#: aleksis/apps/chronos/util/notifications.py:207 +msgid "There are current changes to your timetable." +msgstr "" + #: aleksis/apps/chronos/views.py:270 msgid "The substitution has been saved." msgstr "" -- GitLab